css规则没有在safari中应用,但在Firefox中没问题

时间:2013-03-28 18:21:48

标签: css css3 twitter-bootstrap responsive-design

我想弄清楚为什么这个规则没有在Safari或IE中应用

.navbar-inner {
    min-height: 40px;
    padding-right: 20px;
    padding-left: 20px;
    background-color: #333333 !important;
    background-image: linear-gradient(to bottom, rgb(74, 74, 74), rgb(54, 54, 54)) !important;
    background-repeat: repeat-x;
    border: 1px solid rgb(212, 212, 212);
    border-radius: 4px 4px 4px 4px;
    box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.067);
}

基本上,我正试图在bootstrap中覆盖导航栏的背景颜色。 正如你所看到的,我添加了!important关键字,只是为了测试css特异性问题。这仍然没有解决问题。 你能给我任何解决这个问题的建议吗?它在Firefox中运行良好.... 而我只是在Chrome中测试。

感谢。

1 个答案:

答案 0 :(得分:3)

不同的浏览器使用不同的渐变属性。 This是生成它们的非常好的工具。

为此您可以使用:

.navbar-inner {
    background: rgb(74,74,74); /* Old browsers */
    background: -moz-linear-gradient(top, rgb(74,74,74) 1%, rgb(54,54,54) 100%); /* FF3.6+ */
    background: -webkit-gradient(linear, left top, left bottom, color-stop(1%,rgb(74,74,74)), color-stop(100%,rgb(54,54,54))); /* Chrome,Safari4+ */
    background: -webkit-linear-gradient(top, rgb(74,74,74) 1%,rgb(54,54,54) 100%); /* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(top, rgb(74,74,74) 1%,rgb(54,54,54) 100%); /* Opera 11.10+ */
    background: -ms-linear-gradient(top, rgb(74,74,74) 1%,rgb(54,54,54) 100%); /* IE10+ */
    background: linear-gradient(to bottom, rgb(74,74,74) 1%,rgb(54,54,54) 100%); /* W3C */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#4a4a4a', endColorstr='#363636',GradientType=0 ); /* IE6-9 */
}
尝试覆盖Bootstrap默认样式时,不需要

!important。只需确保在自定义样式之前将您的Bootstrap样式添加到页面。