为什么a:在得到下划线之前

时间:2014-08-05 16:07:58

标签: css list html-lists underline

如何删除下划线“ - ”?我只希望文本在悬停时加下划线而不是“ - ”

-- DEMO --

非常感谢!

HTML

<ul class="menu">
    <li>
      <a href="#">Commercial Property Management</a>
         <ul>
            <li>
               <a href="#">Industrial</a>
             </li>
              <li>
                 <a href="#">Office</a>
               </li>
                  <li>
                    <a href="#">Retail</a>
                   </li>
              <li>
                        <a href="#">Shopping Centres</a>
                    </li>
                    </ul>
                     </li>
                    <li>
                        <a href="#">Mixed-Use Residential Property Management</a>
                    </li>
                </ul>

CSS

ul.menu li li a:before {
    content: "-";
    margin-right: 8px;
}

2 个答案:

答案 0 :(得分:3)

  

4年后修改:此答案几乎是https://stackoverflow.com/a/8820459/3285730的低质量副本。我建议去那里并得到一个实际的解释。

尝试给它display:inline-block;

ul.menu li li a:before {
    content: "-";
    margin-right: 8px;
    display:inline-block;
}

JSFiddle Demo

答案 1 :(得分:1)

content选择器的

:before计入a - 标记,因为它会在元素中创建一个伪元素。

display:inline-block;添加到定义中以解决此问题。