私はCSSメニューを開発しました。テスト(純粋なhtml/css)ではすべてのブラウザでうまく機能しています。 cakePHP上で実行されている開発環境にコードを持ってきたときに、Firefox(3.5.2)でメニューのバグが表示されることがありました。それは他のブラウザでは起こりません。 (その下に他のliブロックは、見えるようになっている方法です)バグが発生したとき、私はソースをチェックし、これは次のようになります。Firefoxのレンダリング時にはHTMLが正しくない
<div class="nav1">
<ul id="dropnav">
<li id="dashboard">
<a href="/businesses/dashboard"/>
<div>
<span class="white caps">
<a href="/businesses/dashboard">Dashboard</a>
</span>
<a href="/businesses/dashboard">
<br/>
<small>At-a-glance view of all your stuff</small>
</a>
</div>
</li>
<li id="listing" class="active">
<a href="/businesses/edit_profile">
<div>
<span class="white caps">Listing</span>
<br/>
<small>View and edit your listing</small>
</div>
</a>
</li>
</ul></div>
ここでは、関連するCSSだ:
span.caps { text-transform:uppercase; }
.white{color:#fff;}
.nav1 { background: url('../images/gradients/nav1.gif') repeat-x; height:50px; }
.nav1 #dropnav { list-style-type:none; margin:0; height:50px;float:left;line-height:1; }
.nav1 #dropnav li { padding:8px 10px 7px 10px; border-left: 1px solid #3ba2da; border-right: 1px solid #1f74a3;float:left;position:relative; }
.nav1 #dropnav li div { position:relative; float:left; padding-top:5px; }
.nav1 #dropnav li a { padding:0 0 6px 40px; float:left; text-decoration:none;}
.nav1 #dropnav li:hover, .nav1 #dropnav li.active { background: #3b3b3b; }
.nav1 #dropnav li#first:hover, .nav1 ul li#last:hover {background:none;}
.nav1 #dropnav li:hover small, .nav1 #dropnav li.active small{ color:#fff; }
.nav1 small { line-height:1.2em; color:#111; }
.nav1 span { font-weight:bold; }
.nav1 #dashboard a{ background: url('../images/icons/nav134.png') no-repeat 0 -102px; }
.nav1 #listing a{ background: url('../images/icons/nav134.png') no-repeat 0 -68px; }
.nav1 #messages a{ background: url('../images/icons/nav134.png') no-repeat 0 -34px; }
.nav1 #tools a{ background: url('../images/icons/nav134.png') no-repeat 0 0; }
私はいくつかの問題があるかもしれないことを知っていますが、私はそれを絞ろうとしています。
は正確に構成されています。 – chaos
w3標準によれば、リンク(a)内にブロックレベルの要素(div)を持つことは許されません。 – mpen
ええ、W3Cバリデーターはそれを突き詰めます。 – chaos