我想知道是否有一种方法可以在不支持边界半径的情况下不显示边界,而不必专门针对某些浏览器/使用modernizer。(我有一个背景图像,当没有梯度支持时会显示出来,其中包括梯度和圆角边界,但当然梯度会显示在它周围)。
li.toplevel {
font-size: 17px;
margin: 0px;
padding: 12px 18px;
height: 100px;
background: #eeeeee url('../images/headWig.gif') repeat-x; /* Old browsers */
background: -moz-linear-gradient(top, #eeeeee 0%, #dddddd 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#eeeeee), color-stop(100%,#dddddd)); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, #eeeeee 0%,#dddddd 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, #eeeeee 0%,#dddddd 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top, #eeeeee 0%,#dddddd 100%); /* IE10+ */
background: linear-gradient(top, #eeeeee 0%,#dddddd 100%); /* W3C */
border: 1px solid #BBB;
-webkit-border-radius: 8px;
-webkit-border-bottom-right-radius: 0;
-moz-border-radius: 8px;
-moz-border-radius-bottomright: 0;
border-radius: 8px;
border-bottom-right-radius: 0;
border-bottom-left-radius: 8px;
}
最好的解决方案是使用javaScript来检测是否支持它,然后在任何条件下执行任何操作。
看起来你正在寻找一种非javascript方法,(通常)你只需要担心IE8及以下版本,为此只需使用条件CSS。
<!--[if lte IE 8]>
CSS to Override borders etc
<![endif]-->