CSS Ul li导航问题:无法获得正确的结果

时间:2013-09-12 17:39:11

标签: html css css3 html-lists

我悬停时试图获得以下结果

enter image description here

用于下面的标记

                <ul>
                    <li><a href="#">Current Month</a></li>
                    <li><a href="#">Current Week</a></li>
                    <li><a href="#">Previous Month</a></li>
                    <li><a href="#">Previous Week</a></li>
                    <li><a href="#">Next Month</a></li>
                    <li><a href="#">Next Week</a></li>
                    <li><a href="#">Team Calendar</a></li>
                    <li><a href="#">Private Calendar</a></li>
                    <li><a href="#">Settings</a></li>
                </ul>

使用CSS3 border-radius无法找出解决方案。有什么建议吗?

更新

请不要发布虚线列表。我需要箭头列表的解决方案。

这不是一回事:当您使用箭头时,您需要将其设置为background-image的{​​{1}}。

还有另一种方法,将箭头设置为子弹图片,但这次你无法控制箭头和链接之间的差距。

4 个答案:

答案 0 :(得分:3)

    <style>
        .my-list li a{
        text-decoration:none;
        color:#000;
    }


.my-list li a:hover
    {
        -moz-border-radius: 4px;
        -webkit-border-radius: 4px;
        border-radius: 4px;
        text-decoration: none;
        background-color: #e4e4e4;
    }

    .my-list li{
        list-style-image:url(http://www.nationalacademies.org/xpedio/groups/system/documents/webgraphics/na_right_arrow.gif)
    }
    </style>        




    <ul class="my-list">
         <!--Example of gap using whitespace-->
         <li>&nbsp;&nbsp;<a href="#">Current Month</a></li>
         <!--Example of a gap using padding for finer control of desired gap-->
         <li><a style="padding-left:20px;" href="#">Current Week</a></li>
         <li><a href="#">Previous Month</a></li>
         <li><a href="#">Previous Week</a></li>
         <li><a href="#">And so on...</a></li>
      </ul>

另见jsFiddle:http://jsfiddle.net/KRaJN/3/

答案 1 :(得分:3)

li:hover {
  background-color:#e4e4e4;
  -webkit-border-radius: 5px; 
  -moz-border-radius: 5px; 
  border-radius: 5px; 
}

jsfiddle

修改

如果您想使用箭头,只需使用:before伪元素即可。

ul {
     list-style-type:none;
}    

li {

    padding:5px;
}

li:hover {

      width:100px;
      background-color:#e4e4e4;
      -webkit-border-radius: 5px; 
      -moz-border-radius: 5px; 
      border-radius: 5px; 

    }


li:before {
    content:"> ";

}

updated jsFiddle

只需将>替换为您的图片。

编辑2

要仅为文本提供背景,只需将该样式添加到链接,而不是li

http://jsfiddle.net/SEzxP/2/

编辑3

要使用图片,只需在内容

后使用url()即可
li:before {  content:url('http://www.nationalacademies.org/xpedio/groups/system/documents/webgraphics/na_right_arrow.gif') /* with class ModalCarrot ??*/
}

Updated jsFiddle

答案 2 :(得分:2)

这样的东西?

jsFiddle here

<强> CSS

ul {
    list-style:none;
    background:#E6E6E6;
    border-left:3px solid rgb(0, 194, 255);
}
li a {
    text-decoration:none;
    color:black;
}
li a:hover {
    border-radius:5px;
    background: #cacaca;
}
li:before {
    content:"►";
    font-size:10px;
    margin-right:10px;
}

答案 3 :(得分:2)

body {
background-color: #F3F3F3;
}

ul {
    list-style: none;
    margin: 0;
    padding: 0;
    font-family: Arial, Tahoma;
    font-size: 13px;
    border-left: 1px solid #4AFFFF;
    padding-left: 10px;
}

li {
    margin: 0;
    padding: 0;
}

li:before {
    content: " ";
    display:inline-block;
    border-style: solid;
    border-width: 5px 0 5px 5px;
    border-color: transparent transparent transparent #000000;
}

li a {
    margin-left: 5px;
    display: inline-block;
    border-radius: 3px;
    color: #000;
    padding: 3px 5px;
    text-decoration: none;
    width: 150px;
}

li a:hover {
    background-color: #DBDBDB;
    font-weight: bold;
}

这应该是你想要的!

http://jsfiddle.net/2JJaW/