この質問のバリエーションは何度も尋ねられています。 CSSによる垂直方向のセンタリングは課題です。どのようにして、LIを使ってアンカーのテキストを垂直方向にセンタリングするにはCSSを使用できますか?
私は特定のシナリオを持ち、水平に表示されたリストを扱っています。マークアップはこのようなものです:
<ul id='ul1' class='c'>
<li><a href='javascript:void(0)'>Fribble Fromme</a></li>
<li><a href='javascript:void(0)'>Fobble</a></li>
<li><a href='javascript:void(0)'>Foo Fickle Pickle</a></li>
</ul>
スタイルはこのようなものです:
ul.c {
height:52px;
text-align:center;
}
ul li a {
float:left;
text-decoration:none;
border: 1px solid Maroon;
padding:2px 12px;
background:#FFEF8A;
line-height:1em;
width:100px;
}
ul li a:hover {
background: #CCC;
}
ul li {
height:52px;
display:inline-block;
}
結果のリストは、次のようになります。
しかし、私はすべてのボックスになりたいです同じ高さで、テキストを各ボックス内で垂直方向にセンタリングする必要があります。私はA要素のためにheight
スタイルを追加することによってボックスの高さを設定することができます。
...私が欲しいものに近いですが、垂直センタリングが起きていないされている。その結果は次のようになります。
as suggested in this postのテキストには、line-height
を設定して垂直センタリングを行うことができます。複数の行のテキストを取得する要素がわかっている場合は、異なるAの要素に対して異なる値のline-height
を選択することもできます。しかし、私はどちらが複数の行を必要とするか分からない。
一部のA要素に折り返すテキストがある場合、どうやって中心に置くことができますか?
恐ろしい表を使用してください! –