我已经使用CSS border-image在菜单栏中获得了一定的效果.它在Firefox中运行良好.但是在Chrome中不起作用.
见www.imptools.com.有没有针对chrome的解决方法?
CSS
nav.mainMenu{
width:@16cols; height: 50px;
margin:0 auto; position: relative;
top:-25px;
ul{
width:100%; height:50px; overflow: visible;
background: url('../imgs/gun_metal.png');
border-radius: 15px; box-shadow: 0px 3px 3px @dark;
li{
float:left; width: auto;
margin: 0 20px; overflow: visible;
height: 80px; position:relative; top:-15px;
a{
width: auto; height: auto;
float:left; padding: 0 15px;
font-family: @sansSec;
color:@light;
line-height: 80px;
font-size: 24px;
font-weight: bold;
text-shadow: 3px 3px 3px @dark;
}
}
li.active, li:hover{
background: @primary;
border-radius: 15px 0 15px 15px;
border-image:url(../imgs/menu_active_bg.png);
border-image-width:15px 15px 0px 0px;
border-image-outset: 0px 15px;
}
}
Run Code Online (Sandbox Code Playgroud)

小智 12
尝试在设置图像之前设置边框
border: 50px solid transparent;
Run Code Online (Sandbox Code Playgroud)
我注意到在Safari中这个陈述并不重要,但它在chrome中很重要
根据chrome 平台状态,
Blink 将开始需要边框样式才能绘制边框图像。这一直是规范所要求的,但尚未强制执行。为了不受此更改的影响,请在使用边框图像的地方添加例如“border-style:solid”。
所以添加
border-style:solid;
Run Code Online (Sandbox Code Playgroud)
应该可以解决您的问题。
li.active, li:hover{
background: @primary;
border-radius: 15px 0 15px 15px;
-webkit-border-radius: 15px 0 15px 15px;
-moz-border-radius: 15px 0 15px 15px;
-khtml-border-radius: 15px 0 15px 15px;
border-image:url(../imgs/menu_active_bg.png);
-webkit-border-image:url(../imgs/menu_active_bg.png);
-moz-border-image:url(../imgs/menu_active_bg.png);
-khtml-border-image:url(../imgs/menu_active_bg.png);
border-image-width:15px 15px 0px 0px;
-webkit-border-image-width:15px 15px 0px 0px;
-moz-border-image-width:15px 15px 0px 0px;
-khtml-border-image-width:15px 15px 0px 0px;
border-image-outset: 0px 15px;
-webkit-border-image-outset: 0px 15px;
-moz-border-image-outset: 0px 15px;
-khtml-border-image-outset: 0px 15px;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4216 次 |
| 最近记录: |