Joe*_*Joe 14 html css html5 internet-explorer css3
摘自以下教程:http: //www.joecritchley.com/demos/slanted-nav/
我不能为我的生活让这个在任何版本的IE中工作.它仅将导航显示为正常的项目符号列表,但我知道它必须基于http://css3please.com/的一些调查结果,例如:
-ms-transform: rotate(20deg); /* IE9 */
filter: progid:DXImageTransform.Microsoft.Matrix(/* IE6–IE9 */
M11=0.9396926207859084, M12=-0.3420201433256687, M21=0.3420201433256687, M22=0.9396926207859084, sizingMethod='auto expand');
zoom: 1;
Run Code Online (Sandbox Code Playgroud)
以下是几乎所有其他浏览器中都可以使用的设置:
JS小提琴链接:http://jsfiddle.net/zumajoe/9ukdm/
CSS
#main-nav > ul
{
margin-top:50px;
overflow:hidden;
}
#main-nav > ul > li
{
float:left;
font-size:18px;
margin-left:-35px;
overflow:hidden;
padding:20px;
}
#main-nav > ul > li:first-child
{
border-radius:10px;
margin-left:0;
}
#main-nav > ul > li > a
{
-moz-transform:rotate(20deg);
-o-transform:rotate(20deg);
-webkit-transform:rotate(20deg);
background:#bbb;
border-left:1px solid #FFF;
color:#444;
display:block;
height:150px;
margin-bottom:-100px;
margin-top:-70px;
overflow:hidden;
text-decoration:none;
}
#main-nav > ul > li:first-child > a
{
border-left:0;
border-radius:10px;
}
#main-nav > ul > li > a > span
{
-moz-transform:rotate(-20deg);
-o-transform:rotate(-20deg);
-webkit-transform:rotate(-20deg);
display:block;
margin-top:57px;
overflow:hidden;
padding:0 20px;
}
#main-nav > ul > li > a:hover
{
background:#aaa;
}
#main-nav > ul > li.current > a
{
background:#000;
color:#fff;
}
Run Code Online (Sandbox Code Playgroud)
HTML
<nav id="main-nav">
<ul>
<li class="current"><a href="#"><span>Home</span></a></li>
<li><a href="#"><span>News</span></a></li>
<li><a href="#"><span>About</span></a></li>
<li><a href="#"><span>Work</span></a></li>
<li><a href="#"><span>A longer menu item</span></a></li>
<li><a href="#"><span>Contact</span></a></li>
</ul>
</nav>
Run Code Online (Sandbox Code Playgroud)
编辑:好了一半的问题来自于IE浏览器不理解的HTML5"导航"的标签,所以改变<Nav>
到<Div>
至少会得到它在IE中显示为正常矩形.
编辑#2:我进一步相处,我意识到它可以更容易使用"倾斜"CSS3属性.歪斜容器,然后向后倾斜跨度(与设置此旋转的方式相同).但是仍然存在IE 8,7和6的问题.
除了<nav>
您已经发现的 IE 中不支持的元素之外,我想说您最好的选择是条件注释。因此:
<!--[if lt IE 9]>
<style type="text/css">
#main-nav ul li a span{
margin-top: 40px;
}
#main-nav ul li {
margin-left: -45px;
}
</style>
<![endif]-->
Run Code Online (Sandbox Code Playgroud)
将其添加到您在问题中发布的代码中使其看起来可以接受,但显然不如旋转版本那么性感。
归档时间: |
|
查看次数: |
2326 次 |
最近记录: |