2011-12-16 17 views
1

私はHTML Tidyを使って、きれいなHTMLソースを出力し、最終的なエンコーディングのチェックを行っています。 HTMLのTidyのli要素の追加を防止する

は、しかし、それは、次のような非常に単純なリストを取っている:

<ul id="navigation"> 
      <a href="index.php"><li>Summary</li></a> 
      <a href="#"><li>Upload</li></a> 
      <a href="accounts.php"><li>Accounts</li></a> 
     </ul> 

とこの怪物に変換:

<ul id="navigation"> 
     <li style="list-style: none"> 
      <a href="index.php"></a> 
     </li> 
     <li id="active">Summary 
     </li> 

     <li style="list-style: none"> 
      <a href="#"></a> 
     </li> 
     <li>Upload 
     </li> 
     <li style="list-style: none"> 
      <a href="accounts.php"></a> 
     </li> 
     <li>Accounts 
     </li> 

     </ul> 

どのように私は優雅に一人で私のリストを残して、それを教えていますか?

私はこれらをconfiguration optionsで検索しましたが、直感的に名前が付けられていないか、適切に説明されていないことがよくあります。

答えて

1

唯一の答えを:それにして起動する有効なマークアップを与えます。 ulの唯一の法的な子要素はliです。 a要素は、ulの子にすることはできません。

<ul id="navigation"> 
    <li><a href="index.php">Summary</a></li> 
    <li><a href="#">Upload</a></li> 
    <li><a href="accounts.php">Accounts</a></li> 
</ul> 

あなたがクリック可能であることを全体liをしたい場合は、スタイルdisplay: blockとしてa要素:

#navigation li a { 
    display: block; 
} 
2

実際に、あなたの<li>タグが<a>タグ、周りにいない他の方法を中心にする必要があり、それが標準に準拠させるためにあなたのマークアップを修正しようとしている、あなたが修理するかもしれない場合、それは余分な項目を追加しようとしないことリストに追加します。

あなたはしかし、スタイル部分を削除することができ、ちょうど持っているあなたのCSSを変更します。

ul.navigation li 
{ 
    list-style: none; 
} 
+0

スポットに...整然としたコードはちょうどそれがどのようにしなければならないかをしようとしています。 –

+0

私はこれを認識しますが、私はこのファイルで検証することを心配していません。私は単に私の全体のクリック可能にしたい、私はこれをレンダリングできないブラウザに遭遇していない。また、私はすでに 'list-style:none;'をCSSで宣言しています –

+0

ブラウザは悪いマークアップに対処しようとしているので、レンダリングできます。リンクが堅固である必要がある場合は、 'display:inline-block'を使うように設定することができます。 –

0
<li> -sにあなたの <a>タグを移動し

<li><a href="index.php">Summary</a></li> 
1

あなたのリストがあります無効なマークアップ。 ul要素は、li要素のみを含むことができます。 Tidyは、実際には、そのような壊れたマークアップを修正する最も賢明な一般的なアプローチを適用しています。つまり、非liのコンテンツを、リストブルーターが抑制されているli要素に変換します。

ので、手動で何をしたい、おそらくある

<li><a href="index.php">Summary</a></li> 

<a href="index.php"><li>Summary</li></a> 

のようなマークアップを変更します。現在のマークアップが必要な場合は、CSSまたはJavaScriptコードを変更する必要があります。

関連する問題