嘗試了不同的解決方案后,我找到了一個適用于不同文本寬度、任何可能的背景且不添加額外標(biāo)記的有效解決方案。
h1 { overflow: hidden; text-align: center; } h1:before, h1:after { background-color: #000; content: ""; display: inline-block; height: 1px; position: relative; vertical-align: middle; width: 50%; } h1:before { right: 0.5em; margin-left: -50%; } h1:after { left: 0.5em; margin-right: -50%; }
<h1>標(biāo)題</h1> <h1>這是一個較長的標(biāo)題</h1>
我在IE8、IE9、Firefox和Chrome中進行了測試。您可以在這里檢查它:http://jsfiddle.net/Puigcerber/vLwDf/1/
這大致是我會這樣做的:通過在包含的 h2
上設(shè)置 border-bottom
,然后給 h2
設(shè)置較小的 line-height
來創(chuàng)建線條。然后將文本放在一個嵌套的 span
中,具有非透明的背景。
h2 { width: 100%; text-align: center; border-bottom: 1px solid #000; line-height: 0.1em; margin: 10px 0 20px; } h2 span { background:#fff; padding:0 10px; }
<h2><span>這是一個測試</span></h2> <p>這是一些其他內(nèi)容</p>