1

所有浏览器的CSS:

.bordering {
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    -webkit-box-shadow: #A3815B 0px 1px 3px;
    -moz-box-shadow: #A3815B 0px 1px 3px;
    box-shadow: #A3815B 0px 1px 3px;
}

用于 IE 的 CSS:

.bordering {
    border: 1px solid #A3815B;
}

当从所有浏览器 css 中删除.bordering类时,该边框IE可以正常工作。

How to do, that box-shadowworks in FF,Operaand others and generic borderworks inIE一次。

试过:

.bordering {
    -webkit-border-radius: none;
    -moz-border-radius: none;
    border-radius: none;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
}

没有帮助。

4

2 回答 2

2

为 IE 创建一个单独的 CSS,ie.css并将其链接到您的 HTML 页面:

<![if IE]>
<link rel="stylesheet" href="css/ie.css" type="text/css" media="screen" />
<![endif]>

只有在检测到 IE 时才会包含您的 CSS。

之后,将您的.borderingCSS 放入您的style.css(适用于所有浏览器)并border: xxx仅放入ie.css.

它应该工作。我做了很多次。

于 2012-05-25T15:34:39.740 回答
2

ie在您的 HTML 标记中放置一个使用条件注释的类,就像这样

<!--[if IE]><html class="ie"><![endif]-->
<!--[if !IE]><!--><html><!--<![endif]-->

(您可能想阅读http://paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/

然后像这样设置 IE 的样式:

.ie .bordering {
    /* your styles for IE */
}

但是,我不明白您为什么希望抑制 IE 的 box-shadow 和border-radius。IE9 支持它们,对于 IE8 和更早版本,它们只是降级为没有阴影和矩形。


笔记

小心使用box-shadow大尺寸元素。也一样border-radius

于 2012-05-25T15:35:12.450 回答