【发布时间】:2016-01-10 20:22:54
【问题描述】:
我必须为文本(例如标题)添加背景颜色,并在其周围添加一些填充。
应用display:inline-block 填充是完美的,但显然,背景将跨越整个块宽度(例如 100%)。
设计要求每行文本都有一个单独的背景条,这可以使用display:inline 和line-height:160%; 来实现,但这有一个缺点,即仅在第一行应用左侧填充,仅在第一行右侧填充最后。
Here a jsFiddle with two examples。 第二个与期望的行为最相似,但显然填充不正确。
CSS代码的相关部分是:
.inline-block
{
display:inline-block;
padding:5px 20px;
}
.inline
{
display:inline;
padding:5px 20px;
line-height:160%;
}
如何结合两种方式的优点?
【问题讨论】:
-
你说的这个背景条是什么?
-
对不起,也许我不清楚,我想要第二个例子中的背景栏(蓝色背景),其中每一行的背景是分开的(感谢@987654326 @) 并且宽度与每行文本内容完全相同(但实际上在这种特定情况下我有填充问题)
-
那不是背景“栏”,那是空白。
-
你看到我的 jSfiddle 了吗?在帖子中,我只报告了每种情况的具体规则,而不是免费的。在 jsFiddle 中,您应该会看到完整的示例
-
如果你改变你的身体颜色你应该明白。没有 "bar" ,文本是内联的,所以颜色环绕在文本周围,每行之间留有空白。
标签: css padding background-color