CSS3 圆角 无效
今天在做页面的时候遇到CSS3圆角无效的情况,实例代码:
<style type="text/css">
.category-menu {
-webkit-border-radius: 14px;
-moz-border-radius: 14px;
border-radius: 14px;
}
.category {
background: #fff;
}
</style>
<div class="category-menu">
<div class="category">
<a href="featured">Featured</a>
</div>
<div class="category">
<a href="rated">Highest Rated</a>
</div>
<div class="category">
<a href="newest">Newest Videos</a>
</div>
</div>
你会发现圆角居然没有出现!让我们加上边框看看发生了什么:
.category-menu {
border: 3px solid #BADA55;
}
仔细观察可以发现,圆角被类为category的div所设置背景挡住了。将background: #fff;
注释,我们看到了圆角
从此可以得出结论,CSS3的圆角会被子元素的背景遮挡,从而产生圆角无效的假象。
问题找到了,但是如果要求鼠标移上类为category的div时,相应的div背景变色,那怎么办呢?
天无绝人之路,只要给第一个设置左上和右上圆角,最后一个div设置左下和右下圆角,就可以完美解决这个问题了。
<style type="text/css">
.category {
background: #fff;
}
.category:hover {
background: #ff6633;
}
.first {
-webkit-border-radius: 4px 4px 0 0;
-moz-border-radius: 4px 4px 0 0;
border-radius: 4px 4px 0 0;
}
.last {
-webkit-border-radius: 0 0 4px 4px;
-moz-border-radius: 0 0 4px 4px;
border-radius: 0 0 4px 4px;
}
</style>
<div class="category-menu">
<div class="category first">
<a href="featured">Featured</a>
</div>
<div class="category">
<a href="rated">Highest Rated</a>
</div>
<div class="category last">
<a href="newest">Newest Videos</a>
</div>
</div>