Because CSS is not a dynamic "language," it is a static resource to style documents.
You might be able to work out a CSS expression that would do what you like. This is about as "dynamic" as CSS gets. :-) However, CSS expressions actually apply Javascript expressions to CSS, so if Javascript is disabled it will also fail.
However, I don't see why something like this couldn't work. Examine it's logic.
we have to make a version without javascript that looks good
<a href="/images/huge-image.jpg" onclick="return imageResize(this.href);">Huge Image</a>
<script type="text/javascript">
function imageResize(url) {
// enter code here that
// 1)gets the viewport dimensions
// 2) sends those dimensions and image file name to
// a server side script
// 3) server-side script gets dim's of original image
// and returns a proportionate resized string, e.g.
// <img src="/images/huge-image.jpg" width="600" height="400" alt="Huge Image">
return false; }
</script>
The crux of this exercise: note the return false values. If Javascript is disabled, it will *still* display the image in a new window and allow the browser to resize it as I mentioned. Graceful degradation in it's most simple form.