border-radius不适用于ul元素?

时间:2009-07-22 16:48:29

标签: css border

我有以下CSS代码,但-moz-border-radius-webkit-border-radius样式未应用于UL。有没有明显的东西我不知道为什么,或-border-radius不支持UL元素?

ul.navigation { 
    margin-top: 7px;
    margin-bottom: 10px;
    list-style-type: none;
    -moz-border-radius: 7px;
    -webkit-border-radius: 7px;
}

ul.navigation li a {
    text-transform: uppercase;
    text-align: left;
    font-size: 13px;
    padding: 8px;
    display: block;
    border: 1px solid #375D81;
    margin-top: -1px;
    color: #183152;
    background: #ABC8E2;
    text-decoration: none;
}

另外,我现在是否应该border-radius申请未来的CSS3兼容性?

4 个答案:

答案 0 :(得分:15)

您需要指定边框属性和/或背景颜色,否则您将看不到圆角边框:

ul.navigation { 
    margin-top: 7px;
    margin-bottom: 10px;
    list-style-type: none;
    -moz-border-radius: 7px;
    -webkit-border-radius: 7px;

    /* Added the following two properties to display border */
    border: 2px solid red;
    background-color: green;
}

此外,border-radius不会被继承,所以如果您希望实际的li具有圆角边框,则必须将其设置在那里。

答案 1 :(得分:3)

我看错了。

ul.navigation {
    margin-top: 7px;
    margin-bottom: 10px;
    list-style-type: none;
}

ul.navigation li a {
    background: #ABC8E2;    
    text-transform: uppercase;
    text-align: left;
    font-size: 13px;
    border: 1px solid #375D81;
    margin-top: -1px;
    padding: 8px;
    display: block;
    color: #183152;
    text-decoration: none;
}

ul.navigation li:first-child a {    
    -moz-border-radius-topleft: 7px;
    -moz-border-radius-topright: 7px;
    -webkit-border-top-left-radius: 7px;
    -webkit-border-top-right-radius: 7px;
    border-top-right-radius: 7px;
    border-top-left-radius: 7px;
}

ul.navigation li:last-child a { 
    -moz-border-radius-bottomleft: 7px;
    -moz-border-radius-bottomright: 7px;
    -webkit-border-bottom-left-radius: 7px;
    -webkit-border-bottom-right-radius: 7px;
    border-bottom-left-radius: 7px;
    border-bottom-right-radius: 7px;
}

(我这里只应用了某些边框样式。)基普,你是对的,因为UL没有设置边框,没有设置边框半径,但我没注意到边框实际上是在LIs上设置 - 因此那些想要舍入的人。

答案 2 :(得分:2)

或者您可以使用和应用边框半径,并为它们提供相同的背景颜色

ul.navigation, ul.navigation li {    
    background-color: #CCC;
    -moz-border-radius-topleft: 7px;
    -moz-border-radius-topright: 7px;
    -webkit-border-top-left-radius: 7px;
    -webkit-border-top-right-radius: 7px;
    border-top-right-radius: 7px;
    border-top-left-radius: 7px;
}

答案 3 :(得分:1)

您还可以将overflow: hidden;属性添加到ul元素中,因此子元素将不会在ul

之外显示
相关问题