このようにコード化された簡単なメニューがあります
<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 の問題ですか?
アップデート
http://jsfiddle.net/zmVbH/でデモを作成しました