这有点难以解释,如果有人知道更好的标题,请继续改变它。
我想在标题后面画一个黑框。我在h-tag中使用span来做这件事。它需要在左侧和右侧稍微填充一点。我的布局是响应式的,因此标题可能会分为两行。
<div class="headline-black">
<h1 class="entry-title">
<span>Some very, very long headline, that is very, very long.</span>
</h1>
</div>
h1 span {
background: none repeat scroll 0 0 #000000;
line-height:44px;
padding:7px 25px 8px 25px;
}
.headline-black h1 {
color: #FFFFFF;
font-size: 22px;
}
问题:填充只影响跨度的结束和开始。如果标题被打破,则字母会触及框的边框。
我希望这是可以理解的。这是小提琴。试着让窗户变小,观察,锄头的行为。
http://jsfiddle.net/832u8/2/
编辑:我希望它的形状像文字一样。正如你用毡尖标记它。但是每行都有填充。
答案 0 :(得分:2)
我假设你想以这种方式分裂成“两条黑线”?因为如果您只想要标题的黑色背景,那么保留填充,那么这个简化版本将起作用:
<h1 class="entry-title">Some very, very long headline, that is very, very long.</h1>
h1 {
background: #000;
line-height:33px;
padding: 8px 25px;
color: #fff
}
答案 1 :(得分:1)
这是我能得到的最接近的...真的很笨,我觉得你自己需要一些JS :(
通过:
<h1 class="entry-title"><span id="Title"><span>Some very, very long headline, that is very, very long.</span></span></h1>
#Title {
border-left: 20px solid #000;
display:block;
color: #fff;
}
#Title:after {
content:'';
display:inline-block;
width: 20px;
background: #000;
}
#Title span {
background: #000;
padding-right: 20px;
direction: rtl;
}
答案 2 :(得分:1)
左侧调整使用position:relative
怎么样?如果你没有手动进行调整,那么问题不是最好的方法,但至少它只是一个css解决方案吗?
示例 - &gt; http://jsfiddle.net/JnLje/358/
来自thirtydot的更多信息 - &gt; Add padding at the beginning and end of each line of text
答案 3 :(得分:0)
你应该在h1上设置填充和/或将span设置为inline-block http://jsfiddle.net/832u8/9/ (span inline-block)
h1 span {
background: none repeat scroll 0 0 #000000;
line-height:44px;
padding:7px 25px 8px 25px;
display:inline-block;
}
http://jsfiddle.net/832u8/3/ (填充h1)
.headline-black h1 {
color: #FFFFFF;
font-size: 22px;
padding:0 1em;
}
答案 4 :(得分:0)
我最近找到了another sollution。它几乎适用于所有浏览器(无IE8及以下),可轻松调整,如下所示:
HTML
<h1>
<span class="wrap">
<span class="inner">Du texte HTML dynamique sur plusieurs lignes avec un fond qui suit bien et des marges autour.</span>
</span>
</h1>
CSS
h1 {
color:#fff;
}
.wrap {
box-shadow: -10px 0 0 10px #000, 10px 0 0 10px #000;
}
.inner {
background: #000;
position:relative;
}