<li>タグを横並びにした時にできる隙間を消す

<li>をinline-blockで横並びにした時に隙間ができる時がある。
ListTagMenu
ソースはこんな感じ。

これは<li>の後の改行が原因。ブラウザが<ul>の文字データと解釈してしまう。

対策方法

floatを使う

inline-blockをやめて、float:left;を使う。

table-cellを使う

display:inline-blockをdisplay:table-cell;にする。
ただしIEでは対応していないから今いち・・・。

<li>の改行をなくす

これは見にくい・・・。

改行部分にコメントを入れる

<li>の改行をなくすよりは良いかも。

タグの省略

ただ省略できるのはhtml5の場合。

font-sizeを0にする

改行が<ul>の文字扱いになってしまうのが原因なので、<ul>のfont-sizeを0にする。
ただブラウザによって効かない場合もあるらしい。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする