css - 通过 CSS 为仅带换行符的文本设置背景颜色

您将如何仅使用 CSS 应用背景颜色,同时仅将颜色应用到可见文本。

我正在努力实现以下目标:

<div style="width:200px;background-color:white;">
<p style="background-color:red;color:black;">This text is longer than 200 pixel and therefore a line break will occur</p>
</div>

不幸的是,背景应用到了 <p> 的全部内容。 -tag 并且不以换行符发生前的最后一个字符结尾。在旁注中,我无法手动换行显示的文本。

如果上面的输出看起来像这样:

----------this line is exactly 200px----------
This text is longer than 200 pixel and
therefore a line break will occur
----------------------------------------------

所以背景颜色应该在第一行以单词“and”结尾,在第二行以单词“occur”结尾,留下<div>的背景。白色。

我真的很紧张,如果无需手动设置换行符就可以得到输入,我很想得到输入?我也会选择 javascript 解决方案,但更喜欢 css 解决方案。

最佳答案

段落是 block 元素 - 它们占用其容器的宽度,而不是它们的内容

您需要使用 <span>而不是 <p>以获得预期的效果。

或者你和制作<p>一个内联元素,但这可能会破坏页面的其他方面。

p {display:inline}

https://stackoverflow.com/questions/7123997/

相关文章:

scala - 是否可以对变量使用 match scala 操作?

git - Mercurial : Match remote repo's changesets

xml - XSL-FO - 如何生成目录?

iphone - MKMapView 在点击时隐藏导航栏,就像在照片应用程序中一样,而不会丢失 MK

vb.net - 是否有与 VB6 Support.TabLayout 方法等效的 VB.NET?

ruby-on-rails - Rails formtastic 自动为表单输入创建无序列表

r - 如何对字符向量的每个元素中的字符进行排序?

.net - 有人使用 Amazon EC2 + SQL Azure 吗?

c# - 我怎样才能得到列表的一半元素?

php - 使用 foreach 创建 PHP 关联数组时如何为键分配名称?