JavaScript 如何像 CSS 的 `:first-line` 那样为任意行设置特定文本行的样式?
使用 JavaScript 选择特定文本行
我们如何设置特定文本行的样式,类似于 :first-line CSS 伪元素,而不将其限制为仅第一行?
虽然 CSS 不足以完成此任务,但 JavaScript 提供了
JavaScript 实现:
我们可以使用 JavaScript 将每个单词包装在一个 span 元素中:
$(function(){ var p = $('p'); var words = p.text().split(' '); var text = ''; $.each(words, function(i, w){ if($.trim(w)) text = text + '<span>' + w + '</span> ' } ); //each word p.html(text);
登录后复制
确定行号每个跨度,我们使用窗口的调整大小事件来计算每个跨度的垂直位置span:
$(window).resize(function(){ var line = 0; var prevTop = -15; $('span', p).each(function(){ var word = $(this); var top = word.offset().top; if(top!=prevTop){ prevTop=top; line++; } word.attr('class', 'line' + line); });//each });//resize
登录后复制
突出显示偶数/奇数行:
要突出显示偶数/奇数行,代码可以简化为:
$(window).resize(function(){ $('span', p).each(function(){ var word = $(this); var top = word.offset().top; var line = Math.floor(top / 20); word.attr('class', (line % 2 == 0 ? 'even' : 'odd')); });//each });//resize
登录后复制
注意事项:
这个方法假设单词不在同一行内换行,并且类中的更改可能会影响单词的大小或宽度。
示例:
[点击此处](https://jsbin.com/piwizateni/1/edit?html,css,js,output) 进行工作演示。
以上是JavaScript 如何像 CSS 的 `:first-line` 那样为任意行设置特定文本行的样式?的详细内容。更多信息请关注PHP中文网其他相关文章!
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章
Windows 11 KB5054979中的新功能以及如何解决更新问题
4 周前
By DDD
如何修复KB5055523无法在Windows 11中安装?
3 周前
By DDD
Inzoi:如何申请学校和大学
1 个月前
By DDD
如何修复KB5055518无法在Windows 10中安装?
3 周前
By DDD
在哪里可以找到Atomfall中的站点办公室钥匙
1 个月前
By DDD

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

您是否曾经在项目上需要一个倒计时计时器?对于这样的东西,可以自然访问插件,但实际上更多
