我正在使用modernizr 为不支持css3 的浏览器创建替代样式。它工作得很好,但我还没有找到使用多个 css3 样式的 css 类的解决方案。
示例 1:
div.button {
box-shadow: inset 1px 1px 2px #ccc; /* first css3 style */
border-radius: 5px; /* second css3 style */
}
/* fallback for browsers that don't support css3 */
.no-borderradius div.button {
background: transparent url(my-button.png) left top;
}
这里的问题是如果浏览器确实支持 box-shadow 但不支持border-radius 你会遇到问题。在这种情况下,两个按钮都将使用 box-shadow,忽略边框半径并将no-borderradius 类与背景图像一起应用。我可以通过创建两个后备来解决它。
示例 2:
div.button {
box-shadow: inset 1px 1px 2px #ccc; /* first css3 style */
border-radius: 5px; /* second css3 style */
}
/* fallback for browsers that don't support css3 */
.no-borderradius div.button, .no-boxshadow div.button /* no-boxshadow added */ {
background: transparent url(my-button.png) left top;
}
这里的问题是,如果浏览器不支持border-radius和box-shadow 这两个类都将用于设置元素的样式,我不禁想到这会导致问题吗?