我有一个像这样编码的简单菜单
<ul id="main-menu" class="container">
<li><a href="#">About Us</a></li>
<li><a href="#">Home</a></li>
<li><a href="#">Villas & Yachts</a></li>
<li><a href="#">Islands</a></li>
<li><a href="#">Gallery</a></li>
<li><a href="#">Blog</a></li>
<li><a href="#">Get In Touch</a></li>
</ul>
看起来像这样
每个菜单项之间的小点是使用 :after 伪元素创建的。一切工作正常,但我还需要子菜单,这将是嵌套列表。
问题是,当我像这样向菜单添加换行符时
<ul id="main-menu" class="container">
<li><a href="#">About Us</a></li>
<li><a href="#">Home</a></li>
<li><a href="#">Villas & Yachts</a>
<!-- LINE BREAK -->
</li>
<li><a href="#">Islands</a>
<!-- LINE BREAK -->
</li>
<li><a href="#">Gallery</a></li>
<li><a href="#">Blog</a></li>
<li><a href="#">Get In Touch</a></li>
</ul>
我在 Safari 和 Chrome(但不是 Firefox)中得到了这个结果......
在我看来,好像 webkit 将空格视为“前”。:after 元素的 CSS 如下所示
ul#main-menu li:after
{
content: "\00b7";
width: 61px;
float: right;
text-align: center;
border: rgba(225,225,225,0.25) 1px solid;
}
我还尝试设置white-space: normal/nowrap
不影响任何内容的 ul、li 和 :after 元素。
谁能看到我哪里出错了,或者这是 Webkit/Firefox 的问题?