Forum Moderators: not2easy
In the css I have the following:
body
{
width:expression(document.body.clientWidth < 1258? "1258px": "100%" );
}
In the bottom of my default.aspx page underneath the body tag I have this:
<script type="text/javascript">
{
alert("Width: " + document.body.clientWidth);
}
</script>
But Width never changes to equal what I have in the expression when I run the javascript. How do I get the expression to un in the CSS file? Is the expression incorrect?
Thanks
and a warm welcome to these forums. ;)
Try it like this...
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="Content-Style-Type" content="text/css">
<meta http-equiv="Content-Script-Type" content="text/javascript"><!--[if lte IE 6]>
<style type="text/css">
html,body {
width:expression(
document.body.clientWidth<'1258'?
document.body.style.width='1258px':
document.body.style.width='100%'
);
}
</style><script type="text/javascript">
window.onload=function(){
alert('Width: ' + document.body.currentStyle.width);
}
</script>
<![endif]--></head>
<body><div></div>
</body>
</html>
Notes:-
1. The css requires htm,body instead of body.
2. The expression requires document.body.style.width= instead of just the value.
3. The alert requires document.body.currentStyle.width to acces the stylesheet.
4. Conditional comments have been used to hide the css and javascript from other browsers.
p.s. I have just noticed that IE 7 gives the width value in pixels and IE 6 gives the width value as auto. This luckily has no effect on the outcome. :)