這些照片示出了具有display: inline
標題元素定義以及padding: 0 15px
:與換行內聯元件沒有邊界內邊距
如圖片,在第一行的left padding
是可見但不是right padding
。在換行之後,情況正好相反。
我的問題是,當內聯元素跨越幾行時,是否可以在兩行上應用填充(css trick或javascript)?
這些照片示出了具有display: inline
標題元素定義以及padding: 0 15px
:與換行內聯元件沒有邊界內邊距
如圖片,在第一行的left padding
是可見但不是right padding
。在換行之後,情況正好相反。
我的問題是,當內聯元素跨越幾行時,是否可以在兩行上應用填充(css trick或javascript)?
是正確的,你可以使用boxdecorationbreak做到這一點:克隆。
支持boxdecorationbreak:clone;
這是相當不錯和IE瀏覽器就可以使用
white-space:pre-wrap;
h1 {
color: #fff;
background-color: #B41E81;
font-family: Arial;
font-weight:100;
display: inline;
padding: 0 15px;
-webkit-box-decoration-break: clone;
box-decoration-break: clone;
white-space:pre-wrap; /*IE*/
}
檢查支持
http://caniuse.com/#feat=css-boxdecorationbreak
從MDN
空白:預包裝
預包裝的空白序列被保留。行在 換行符被破壞,在
<br>
,並根據需要填補線框。
boxdecorationbreak:克隆
每個盒片段與指定 邊界,空白和邊距包裹每個片斷獨立地渲染。 border-radius, border-image和box-shadow,分別應用於每個片段 。在每個片段 中獨立繪製背景,這意味着具有背景重複:無重複 的背景圖像可以重複多次。
DEMO
h1 {
color: #fff;
background-color: #B41E81;
font-family: Arial;
font-weight:100;
display: inline;
padding: 0 15px;
-webkit-box-decoration-break: clone;
box-decoration-break: clone;
white-space:pre-wrap; /*IE*/
}
<h1>Maximera effekten fore och effekt motet fore och effekt motet</h1>
我將此設置爲正確,因爲它支持IE定義 – superhero
這是一個古老的化妝品問題,但幸運的是,現在它實際上可以用新的屬性box-decoration-break
輕鬆解決。除了IE之外,主要供應商已經有supported(在這種情況下優雅的降級)。
h1 {
color: #fff;
background-color: #B41E81;
font-family: Arial;
display: inline;
padding: 0 20px;
-webkit-box-decoration-break: clone;
box-decoration-break: clone;
}
<h1>Maximera effekten fore och efter motet retul beternium</h1>
'box-decoration-break'對我來說是新的,似乎是比'display:inline-block'更好的解決方案。 –
你能解釋一下你在不在CSS實現了嗎? –
@dfsq「如圖片」.... wth?...我沒有得到它。 –
@ RokoC.Buljan問題OP的問題是,如果內聯元素上有'padding:0 15px',並且此元素的內容跨越多行,那麼帶有break **的行將不會**具有正確的邊界填充。這就是問題所在,這在照片上有所說明。 – dfsq