0

昨天我在寻找在 IE8 中获得框阴影和边框半径的方法时遇到了 www.css3pie.com。到目前为止,它帮助很大,但我绞尽脑汁想弄清楚为什么它不适用于开发的最后一部分......顶部的两个选项卡。渐变显示在非活动状态,但在应用“当前”类时保持不变。href 也在改变它应该如何。查看以下代码:

<div class="nav1">
        <ul>
        <li <?php if ($thisPage=="Contact Us") echo "class=\"current\""; ?>><a href="/contact.php">Contact Us</a></li>
        <li <?php if ($thisPage=="Visit Us") echo "class=\"current\""; ?>><a href="/visit-us.php">Visit Us</a></li>
        </ul>
        </div>

它的风格是这样的......

.nav1 ul {
margin:0px; 
padding:0px;
list-style:none;
}
.nav1 ul li { 
position: relative;
font-size:12px;
float:left;
margin-right:5px;
border: 1px solid #999999;
background-color: #fafafa;
border-radius: 5px 5px 0px 0px;
background: #f7f7f7; /* Old browsers */
background: -moz-linear-gradient(top, #f7f7f7 0%, #ccc9c9 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f7f7f7), color-stop(100%,#ccc9c9)); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, #f7f7f7 0%,#ccc9c9 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, #f7f7f7 0%,#ccc9c9 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top, #f7f7f7 0%,#ccc9c9 100%); /* IE10+ */
background: linear-gradient(top, #f7f7f7 0%,#ccc9c9 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f7f7f7', endColorstr='#ccc9c9',GradientType=0 ); /* IE6-9 */
color:#868686;
text-shadow: 1px 1px #fafafa;
padding: 6px 30px;
behavior: url(inc/PIE.htc);
}

li.current{ 
position: relative;
border-radius: 5px 5px 0px 0px;
background: #e0e0e0; /* Old browsers */
background: -moz-linear-gradient(top, #e0e0e0 0%, #bab8b8 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#e0e0e0), color-stop(100%,#bab8b8)); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, #e0e0e0 0%,#bab8b8 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, #e0e0e0 0%,#bab8b8 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top, #e0e0e0 0%,#bab8b8 100%); /* IE10+ */
background: linear-gradient(top, #e0e0e0 0%,#bab8b8 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e0e0e0', endColorstr='#bab8b8',GradientType=0 ); /* IE6-9 */    text-shadow: 1px 1px #fafafa;
behavior: url(inc/PIE.htc);

}

.nav1 ul li a{ 
font-size:14px;
float:left;
color:#868686;
text-decoration:none;
}
.nav1 ul li a:hover{ 
color:#666666;
font-size:14px;
float:left;
color:#000000;
text-decoration:none;
}

.nav1 ul li.current a {
    color: #000;
}
4

1 回答 1

0

由于 CSS PIE 将处理 IE 的渐变,因此您可以安全地删除filter:声明。这可能会有所帮助。

于 2012-05-09T17:26:45.703 回答