CSS-tricksで提案されたChrisCoyierの方法を使用して、コンテナ要素内の一部のコンテンツを(両方の方法で)中央に配置しています。:before
互換性のために、この記事で使用されている疑似要素の代わりにセマンティックアプローチを使用しています。何らかの理由でFirefox(Mac用のv.19でテスト済み)が失敗し、正しい修正が何であるかがわかりません(Safari、Opera、IE9、Chromeはすべて正常に動作します)。
ブラウザを検出していくつかの条件付きルールを設定できますが、可能であればこれをグローバルに修正することに興味があります。
別のブラウザでチェックインしたい場合に作成した修正フィドルのコードを次に示します。
CSS:
.block {
text-align: center;
background: #c0c0c0;
margin: 20px 0;
height: 300px;
}
.content-before {
content:'';
display: inline-block;
height: 100%;
vertical-align: middle;
margin-right: -0.25em; /* Adjusts for spacing */
}
.centered {
display: inline-block;
vertical-align: middle;
padding: 10px;
background: #f5f5f5;
}
HTML:
<div>
<div class="block">
<span class="content-before"></span>
<div class="centered">
<h1>Some text</h1>
<p>But he stole up to us again, and suddenly clapping
his hand on my shoulder, said—"Did ye see anything
looking like men going towards that ship a while ago?"</p>
</div>
</div>
</div>