2012-05-23 52 views
1

我在浏览器之间的css3边框半径有冲突。边框半径即Firefox的铬冲突

#menu ul li:first-child { 
    border-radius: 0px 8px 8px 0px; 
} 

#menu ul li:last-child { 
    border-radius: 8px 0px 0px 8px; 
} 

<ul> 
    <li><a href="#">الرئيسية</a></li> 
    <li><a href="#">صفحتي</a></li>    
    <li><a href="#">كتبي</a></li> 
    <li><a href="#">أصدقائي</a></li>    
    <li><a href="#">خروج</a></li> 
</ul> 

火狐

FireFox and Chrome

即问题

IE Problem

+0

请使用“派”,它将采取所有浏览器 – ShibinRagh

回答

1

我怀疑它是因为rtl方向。

解决方案:使用条件语句类添加到您的HTML的IE浏览器 - 例如:

<!--[if IE]><div dir="rtl" class="ie"><![endif]--> 
<!--[if !IE]><!--><div dir="rtl"><!--<![endif]--> 
<div id="menu"> 
    <ul> 
     <li><a href="#">الرئيسية</a></li><li><a href="#">صفحتي</a></li><li><a href="#">كتبي</a></li><li><a href="#">أصدقائي</a></li><li><a href="#">خروج</a></li> 
    </ul> 
</div> 
</div> 

我已经添加了类将包含分区,但你可以直接将它添加到<html>标签(见http://paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/

然后你就会有这样的事情在你的CSS:

#menu li:first-child { 
    border-radius: 0 8px 8px 0; 
} 
#menu li:last-child { 
    border-radius: 8px 0 0 8px; 
} 
.ie #menu li:first-child { 
    border-radius: 8px 0 0 8px; 
} 
.ie #menu li:last-child { 
    border-radius: 0 8px 8px 0; 
} 

在这里完整演示http://dabblet.com/gist/2774749 - 我已经测试过它,并且在Chrome,Firefox,Opera和IE9中的功能相同。

0

试试这个:

#menu ul li:first-child { 
    -webkit-border-top-left-radius: 8px; 
    -webkit-border-bottom-left-radius: 8px; 
    -moz-border-radius-topleft: 8px; 
    -moz-border-radius-bottomleft: 8px; 
    border-top-left-radius: 8px; 
    border-bottom-left-radius: 8px; 
} 

#menu ul li:last-child { 
    -webkit-border-top-right-radius: 8px; 
    -webkit-border-bottom-right-radius: 8px; 
    -moz-border-radius-topright: 8px; 
    -moz-border-radius-bottomright: 8px; 
    border-top-right-radius: 8px; 
    border-bottom-right-radius: 8px; 
} 

它总是更好地定义你的浏览器特定CSS在此之前,一般命令

+0

同样的问题,固定在ie,但在Firefox和铬的东西出错。 – T4mer

+0

可以使用此修复与条件注释,并只加载它的IE浏览器? – cchana

+0

尝试添加您的CSS在我的CSS结尾 – p0rter