これが正しく表示されない理由がわかりません。リストは水平方向に表示することを目的としていますか?代わりに、垂直に表示されます!
これは私のコードです:
#stats li {
display: inline;
list-style-type: none;
padding-right: 20px;
}
<ul id="stats">
<li>
<h1>53</h1>
</a>
</li>
<li>
<h1>67</h1>
</a>
</li>
</ul>
追加するのを忘れたfloat: left
プロパティをCSSに追加:
#stats li
{
display: inline;
list-style-type: none;
padding-right: 20px;
float: left;
}
ちなみに、HTMLの例にはa
開始タグがありません。する必要があります
<li><a href="#"><h1>53</h1></a></li>
これは、h1
要素がデフォルトでブロックレベルの要素であるためです。
追加:
h1 {display: inline; }
あなたのCSSに、彼らはあなたが望むように動作します。
別の注記として、1ページあたりのh1
は1つだけにする必要があることに注意してください。他のすべての見出しは、意味的には、その見出しの下にあり、ある種の小見出しです。本と考えてください。本のタイトルはh1
、章はh2
などになります。
次に、HTMLを少し変更することをお勧めします。
<ul id="stats">
<li><a href="#"><span class="listHeader">53</span></a></li>
<li><a href="#"><span class="listHeader">67</span></a></li>
</ul>
しかし、おそらくそれは私だけかもしれません=)
これが私の見解を裏付ける記事です。
h1
タグのデフォルトはdisplay:block;
なので、これが優先されます。
また、</a>
タグを閉じた後に<h1>
タグがありますが、開始タグがありません。それは古いブラウザで問題を引き起こす可能性があります。
3番目に、li
s内にh1
タグを配置する目的は何ですか?意味的に、それは意味がありません。
複数の解決策があります。表示するようにliを変更できます。インラインブロック;または表示するh1:インライン; (サイトごとに1つのh1のみを使用し、それを意味的に正しく使用することを覚えておいてください。実際にはh2または3ではない単語または文のスタイルを設定する場合は、スパン、EM、またはストロングを使用してください。
Inline-a-Tagがblock-whatever-Tagを囲むことができないことも重要です。これは、HTML5向けに開発していない場合は、a-Tagで何でも囲むことができるためです。
また、可能であれば、後方互換性を高めて達成できるものについては、フローティングを省略してください
SternAndyが示唆するようにdisplay: inline-block
を使用することは、おそらくここでの正しい解決策です。インラインは、ネストされた要素が内部にない要素以外には何の役にも立ちません。