我有一个我想要实现的设计,涉及标题文本以其自己的背景颜色出现,填充10px,在图像上,例如:
http://i.stack.imgur.com/E7EpS.png
这张图中的第一个例子效果很好,很简单:
.greenbox {width:520px; height:261px; position:relative;}
.greenbox span { padding:0 10px; background:#000; position:absolute; left:0; bottom:40px; }
Run Code Online (Sandbox Code Playgroud)
当文本溢出到另一行时出现麻烦,然后span元素填充不会影响换行符上的文本,它呈现如下:
http://i.stack.imgur.com/pY18f.png
任何人都知道一个替代品,或者他们如何设置这个设计,以便背景颜色和填充是一致的?
提前致谢
编辑:我已经简化了代码,使其简洁,但错过了一个重要的部分.实际上它是这样的:
.greenbox {width:520px; height:261px; position:relative;}
.greenbox a {position:absolute; left:0; bottom:40px; }
.greenbox span { padding:0 10px; background:#000; }
Run Code Online (Sandbox Code Playgroud)
用html作为:
<div class="greenbox">
<a href="link"><span>The Title Goes Here</span></a>
</div>
Run Code Online (Sandbox Code Playgroud)
因此,跨度保持内联,包裹在绝对位置锚中.
我之前已经处理过类似的事情:在每行文本的开头和结尾添加填充
我已经从自己那里抢走了这个解决方案,并且适合你的情况.
请注意,为了做到这一点line-height,padding调整和调整可能非常棘手.
请参阅: http ://jsbin.com/ahoyug
HTML:
<div class="greenbox">
<a href="#"><span><span>
The Title Goes Here, with overflow
</span></span></a>
</div>
Run Code Online (Sandbox Code Playgroud)
CSS:
.greenbox {width:500px; height:200px; position:relative; background:green}
.greenbox > a {
font: 50px sans-serif;
line-height: 1.14;
padding: 0;
border-left: 20px solid #000;
position: absolute;
left: 0;
bottom: 60px;
text-decoration: none;
color: #fff
}
.greenbox > a > span {
background: #000
}
.greenbox > a > span > span {
position: relative;
left: -10px
}
Run Code Online (Sandbox Code Playgroud)