0

我有一个具有以下样式的 test.css 文件:

....
#body
{
    font-family:Verdana, sans-serif;
    font-size:10pt;
    margin:0;
    padding:0;
}

div#inscreenalertcontainer
{
    margin:32px;
    padding:16px;
    width:100%;
}
....

对于 IE,该属性width:100%;div#inscreenalertcontainer. 对于其他浏览器,此属性不是必需的。

有没有办法在 test.css 中使用一些条件运算符来做到这一点?由于大约有 100 个 css 文件,我不想创建另外 100 个特定于 IE 的 css 文件,只是为了更改一个属性。

或者是否可以更改 JSP 本身。

这是我的 JSP 代码:

<body>
    <div id="InScreenAlertContainer">
    <table  class="inScreenAlert">
    <tr valign="top">
 ....
 ....
</body>
4

4 回答 4

1

使用条件注释

<!--[if IE]>
    <style>
    div#inscreenalertcontainer
    {
        margin:32px;
        padding:16px;
        width:100%;
        /*plus other IE specific rules*/
    }
    </style>
<![endif]-->

这被编程到所有版本的 Internet Explorer 中,以便为这些浏览器提供特定的说明。没有其他浏览器会接受它,这是告诉 IE 执行原始 CSS 之外的其他操作的最佳方式。

于 2013-01-03T12:18:08.923 回答
0

针对 IE 的一种常见方法是将您的 html 标记更改为:

<!--[if lt IE 7 ]> <html class="ie6"> <![endif]-->
<!--[if IE 7 ]>    <html class="ie7"> <![endif]-->
<!--[if IE 8 ]>    <html class="ie8"> <![endif]-->
<!--[if IE 9 ]>    <html class="ie9"> <![endif]-->
<!--[if (gt IE 9)|!(IE)]><!--> <html class=""> <!--<![endif]-->

然后在你的CSS中你可以写:

.ie #inscreenalertcontainer {
   width: 100%;
}

这种技术将使您保持代码的可读性和整洁性。

于 2013-01-03T12:19:00.323 回答
0

如果该参数不会伤害其他浏览器,您可以将其保留在那里。或者使用它仅将其应用于 IE: http ://css-tricks.com/how-to-create-an-ie-only-stylesheet/

您可以选择样式表 hack 或条件注释 (html) 来定位 IE 并添加

<style>div#inscreenalertcontainer {width:100%}</style>

在你的头标签中

于 2013-01-03T12:19:02.480 回答
0

将此添加到您网页的标题部分。这是一个很好的链接,可以查看更多http://www.quirksmode.org/css/condcom.html

<!--[if IE]>
div#inscreenalertcontainer
{
    margin:32px;
    padding:16px;
    width:100%;
}
<![endif]-->
于 2013-01-03T12:21:51.543 回答