デザインのレイアウトの都合上、絶対配置(position: absolute)と中段寄せ(vertical-align: middle)を併用しなければいけないケースがあります。
ただ中段寄せをするためにはdisplay: table-cellにする必要があります。
同じタグにabsoluteとtable-cellは併用出来ない?
vertical-align: middleの文章
div { position: relative; } p { position: absolute; vertical-align: middle; top: 0; left: 0; }上記の様に記述してしまうとvertical-align:middleが効きません。
absoluteを指定したタグはブロック要素となるためtable-cellが使用できなくなるからです実現するためには
タグを1つ増やし親のタグに絶対配置、子のタグに中段寄せを設定すれば実現出来ます。
vertical-align: middleの文章
div { position: relative; } p { display: table; position: absolute; top: 0; left: 0; } span { vertical-align: middle; }