css - 每行的背景颜色分开的文本

标签 css padding background-color

我必须为文本(例如标题)添加背景颜色,并在其周围添加一些填充。

应用 display:inline-block 填充是完美的,但显然,背景将跨越整个 block 宽度(例如 100%)。

设计要求每行文本都有一个单独的背景条,这可以使用 display:inlineline-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%;
}

如何结合两种方法的优势?

最佳答案

为此,您可以使用 box-shadow CSS 调用。我已经完成了最终结果的 fiddle 。然后您可以使用它来获得您想要的确切结果

CSS:

.highlightme {
background-color: #A8332E;
padding: 0.5rem 0;
-webkit-box-shadow: 1rem 0px 0px #A8332E, -1rem 0px 0px #A8332E;
box-shadow: 1rem 0px 0px #A8332E, -1rem 0px 0px #A8332E;
box-decoration-break: clone;
}

JSFiddle

关于css - 每行的背景颜色分开的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33096660/

相关文章:

html - 在导航栏内垂直居中一个圆形 div

css - 填充 Canvas 影响边框

ios - iPhone X 键盘 Controller 背景色

html - 如何在类内的一个表格单元格中用背景色填充整个单元格

javascript - 更改 Bootstrap 网格像素大小

jQuery 数据表 : trouble getting full_numbers pagination to display correctly in IE

css - 带有渐变背景的 HTML 5 进度条标签

objective-c - 在 UIlabel 文本中添加填充?

jquery - 使用 jQuery 自动调整 div 大小时出现填充和边距错误

html - 更改导航栏上的背景颜色时出现问题。