开发者

Can we use like this <body class="all" <!--[if IE 7]>class="ie"<![endif]--> >

开发者 https://www.devze.com 2023-01-04 02:37 出处:网络
Can we use like this <body class=\"all\" <!--[if IE 7]>class=\"ie\"<![endif]--> >? I want to keep all CSS in one file开发者_如何学运维.You could use:

Can we use like this <body class="all" <!--[if IE 7]>class="ie"<![endif]--> >?

I want to keep all CSS in one file开发者_如何学运维.


You could use:

<body class="all">
  <!--[if ie]>
    <div class="ieOnly">
  <![endif]-->

<div id="content">

<p>...</p>

</div>

  <!--[if ie]>
    </div>
  <![endif]-->
</body>

That way the css selector to address IE's flaws/differences is more specific than the normal

#content {/* for non-IE browsers */}

body.all .ieOnly #content {/* for IE */}

...and should override the 'normal' #content rules and will never be applied by non-IE browsers, since there's an element .ieOnly in the selector which is otherwise 'invisible' to them.

Still, strictly speaking, no; you can't do what you propose in your question, though there are alternative approaches.


Short answer: No (at least, not in-line), but why do you need to? :)

Just defined a body { } style in an IE conditional stylesheet, like this:

<!--[if IE 7]>
  <link rel="stylesheet" type="text/css" href="ie7.css">
<![endif]-->

And inside there:

body { /* or body.all { */
  background: pink; /* Pink is pretty!, or green, whatever */
}


No, you cant specifically comment out an attribute even with IE's conditional comments. But there could be other ways of expressing it.


If you want to add a class to body based on the browser without hacks, you're gonna need to use server-side code and UA sniffing.

0

精彩评论

暂无评论...
验证码 换一张
取 消