2011-01-13 6 views
3

私はhtml5で遊んでいましたが、実際には自分のhtmlファイルに実際に表示されるよりもdomで(htmlで表示される)htmlが異なって表示されることがありました。その結果、要素が異なる方法で何度も複製されます。私はネストされた要素にのみ気付きます。例えばhtml5要素自体がバグを繰り返す

:私は解決策が何であるか本当にわからないんだけど、私は他の誰がこのような不具合を経験しているかどうかを知りたかった

<a class="block top-middle" href="#"> </a> 
<h5 class="title top"> 
    <a class="block top-middle" _moz-rs-heading="" href="#">TITLE/a> 
</h5> 

<a class="block top-middle" href="#"> 
    <img alt="TITLE" src="path/to/img.png"> 
</a> 

<a href="#" class="block top-middle"> 
    <h5 class="title-top">TITLE</h5> 
    <img src=""path/to/img.png" alt="TITLE" /> 
</a><!-- .top-middle --> 

は時折として表示しています。私は自分のコードのすべてのビットを篩い分けしました。何も問題なく妥協することはありません。それはしばらくの間しか起こらないので、特にイライラします。

ありがとうございました! *

*また、私はこのようなアンカータグを使用して知っている編集は有効ではありませんが、私の知る限り、私は、HTML5について読んだことを伝えることができたとして、それは、アンカーの内側で有効なラップ内容です*

答えて

3

HTML5が存在する前にブラウザ/レンダリングエンジンが作成されていたため、インライン要素であるアンカーにブロックレベルのh5を含めることはできません。

これは理にかなっています。レンダリングエンジンが、アンカーがブロックレベルをネストできるようにするHTML 5ルールを採用しているかどうかを、h5のように待つ以外には本当にできないと思います。

EDIT:HTML 5 Doctypeを使用していると想定していますが、おそらくあまり効果はありません。

EDIT#2:これは、私が個人的にはそうすべきではないとは思うが、bugとして提出されている。これを回避する方法は、h5をdivにラップしているようです。

+0

ありがとうございました。私はdivの回避策を使って遊んでいますし、時にはうまくいきました。教訓は、すべてのねじれが実際にhtml5から出てくるまでxhtmlを使用することだと思います。 – Thomas

関連する問題