html - 每行段落的替代文本颜色

标签 html css

我正在尝试更改段落交替行上的文本颜色。问题是,段落中的行数将取决于屏幕大小等因素。在 CSS 中有没有一种方法可以让 <p> 中的每一行都有不同的文本颜色?标签?

例如,在下面的代码中

<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas vel metus sapien. Duis eleifend justo eu enim venenatis, quis malesuada eros rhoncus. Sed id orci sed nulla ultrices lobortis. Nam ultricies nibh dictum odio posuere porttitor. Vivamus vitae diam felis. Duis dapibus eget velit id tempor. Integer tristique viverra lorem sit amet congue. Suspendisse vitae ex condimentum, volutpat nisi eu, cursus dolor. Curabitur suscipit hendrerit semper. Vestibulum egestas lorem vitae aliquet egestas. Nulla non faucibus velit, sit amet sagittis velit. Nulla fringilla efficitur erat, sed porttitor mi fringilla non. Phasellus dictum gravida ligula at elementum. Phasellus nec dui suscipit, mollis turpis eu, posuere erat.</p>

文本的每一行都应该是不同的颜色不管哪些词实际上在哪几行(这显然取决于屏幕尺寸)。

我的第一直觉是尝试根据屏幕尺寸计算行数,但后来我不确定从那里去哪里。

最佳答案

好问题!对于此的纯 CSS 实现,您可以使用 webkit-background-clip 的魔法以及渐变。

您可以在 https://jsfiddle.net/kavot054/ 尝试我的解决方案, 我还在下面放了它的 HTML 和 CSS 代码。

注意文字的line-height与渐变的关系;例如,如果您要更改字体,则需要更新这两个。

还值得注意的是,webkit-background-clip 仅适用于 webkit 浏览器,因此在考虑您的网站的可访问性时需要注意这一点。

p {
  line-height: 30px;
  background: -webkit-repeating-linear-gradient(red, red 30px, blue 30px, blue 60px);
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
}
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas vel metus sapien. Duis eleifend justo eu enim venenatis, quis malesuada eros rhoncus. Sed id orci sed nulla ultrices lobortis. Nam ultricies nibh dictum odio posuere porttitor. Vivamus vitae diam felis. Duis dapibus eget velit id tempor. Integer tristique viverra lorem sit amet congue. Suspendisse vitae ex condimentum, volutpat nisi eu, cursus dolor. Curabitur suscipit hendrerit semper. Vestibulum egestas lorem vitae aliquet egestas.
  Nulla non faucibus velit, sit amet sagittis velit. Nulla fringilla efficitur erat, sed porttitor mi fringilla non. Phasellus dictum gravida ligula at elementum. Phasellus nec dui suscipit, mollis turpis eu, posuere erat.</p>

关于html - 每行段落的替代文本颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41416999/

相关文章:

Javascript - 检测 x-webkit-speech 图标上的点击

html - 居中水平列表样式菜单

javascript - 在 mozilla/IE 中淡出无法正常工作

jquery - slick.js 隐藏幻灯片直到点击屏幕上的元素

html - 是否可以在所有浏览器中实现行高一致性?

javascript - 调整窗口大小时无法阻止 div 下拉

html - 尝试在 CodePen 上制作动画淘汰文本渐变

html - 元素高度取决于父元素而不是内容?

html - 外部容器 div 不会自动垂直扩展......为什么?

javascript - 如何将 footer.tpl 添加到 .php 文件