带有多个下划线的文本

2024-01-12

我的应用程序是,它是一些在线文档,用户可以在其中对文本进行注释和下划线以供参考。现在这可以由多个用户完成,因此每个下划线需要有不同的颜色。

所以基本的要求是我需要有一个下面有多个下划线的文本。下划线颜色也应该不同。

我知道的困难方法是,我可以添加带有行的 div/span 并将其放置在文本下方,但在响应窗口的情况下处理位置可能有点困难。

有没有办法仅使用文本属性来做到这一点? 我用谷歌搜索并找到了这个链接

http://fsymbols.com/generators/lines/ http://fsymbols.com/generators/lines/

他们使用 fsymbols 来生成下划线。 但我不知道如何将其添加到我的应用程序中。而且它看起来也不可能有不同的颜色。

有更简单的方法还是我只能采用困难的方法?


用文本注释文本似乎不是正确的方法。我认为注释应该通过标记来完成。要实现多个下划线(我知道可能有两个以上的用户),您可以在嵌套跨度中使用 border-bottoms。这些需要设置为显示为内联块,这样您就可以影响它们的高度,这样您就可以嵌套更多跨度而不覆盖边框。还需要考虑到重叠(也是非层级的)可能会发生。

请注意,我将下划线范围本身保留在用户列表及其相关颜色中。

span.user { border-bottom:1px solid; display:inline-block; padding-bottom:1px; }

span[data-uid='001'] { border-bottom-color:blue; }
span[data-uid='002'] { border-bottom-color:red; }
span[data-uid='003'] { border-bottom-color:orange; }
<p>
Lorem ipsum dolor sit <span class="user" data-uid="003">amet, <span class="user" data-uid="001"><span class="user" data-uid="002">consectetuer</span> adipiscing elit</span>. Aenean</span> commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. <span class="user" data-uid="001">Donec <span class="user" data-uid="003">quam</span> felis,</span> ultricies nec, pellentesque eu, pretium quis, sem. <span class="user" data-uid="003">Nulla</span> consequat massa quis enim. Nullam dictum <span class="user" data-uid="001">felis eu pede mollis pretium. </span><span class="user" data-uid="002"><span class="user" data-uid="001">Integer</span> tincidunt.</span> Cras dapibus. 
</p>

EDIT:

我找到了一个更好的解决方案,涵盖了使用“display:inline-block”引起的断行问题:

p { width:150px; line-height:2em; }

span.annotation { border-bottom:1px solid; }

span.annotation span.annotation { padding-bottom:2px; }

span.annotation span.annotation span.annotation { padding-bottom:4px; }

span.annotation span.annotation span.annotation span.annotation { padding-bottom:6px; }

span[data-uid="001"] { border-color:orange; }
span[data-uid="002"] { border-color:blue; }
span[data-uid="003"] { border-color:red; }
span[data-uid="004"] { border-color:green; }
<p>
Lorem <span class="annotation" data-uid="004">ipsum dolor <span class="annotation" data-uid="001">sit amet, <span class="annotation" data-uid="002">consectetuer adipiscing</span> elit.</span> Aenean commodo ligula eget dolor. Aenean massa. <span class="annotation" data-uid="002">Cum sociis <span class="annotation" data-uid="001">natoque penatibus et <span class="annotation" data-uid="003">magnis</span> dis parturient montes, nascetur</span> ridiculus mus.</span> Donec quam felis, ultricies nec, <span class="annotation" data-uid="002">pellentesque eu, </span><span class="annotation" data-uid="001"><span class="annotation" data-uid="002">pretium</span> quis, sem.</span> Donec pede justo, fringilla vel, aliquet nec,</span> vulputate eget, arcu.
</p>

我唯一不喜欢的是,每一层嵌套都需要一个 CSS 语句(使用 LESS 可能会更容易)。但是,在应用程序中,您会将注释图层的显示限制为(比方说)五个,并找到另一种方法来显示五个以上的注释图层。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

带有多个下划线的文本 的相关文章

  • Node js 使用中间件重定向进行过多重定向

    在我的 Node js 应用程序 我使用的是express 4 x 中 我想检查用户是否已登录 如果用户未登录 我想重定向到我的登录页面 然后我在中间件中这样做 服务器 js app use function req res next if
  • 在网页上的文本框中键入内容时删除所有空格

    我如何在用户打字时即时删除输入到文本框中的空格 function var txt myTextbox var func function txt val txt val replace s g txt keyup func blur fun
  • jquery 验证错误位置

    这看起来很简单 但我无法弄清楚 我正在使用 jquery 验证插件 我验证所有文件 但我想要的是在输入文本行中显示验证消息警报 例如在电子邮件输入中 请填写电子邮件地址 但现在它出现在所有字段下 在我的html中
  • jQuery 选择 # id 以单词为前缀,计数器为后缀

    有没有办法用 jQuery 选择所有带有前缀 my 和后缀 0 9 的 id 像这样的 my 1 4 还是可以用循环来实现 div div div div div div div div div div 第一个想法 似乎效果很好 div i
  • 动画进度元素值

    我有一个progress元素 该元素如下所示 div class container div div div
  • 如何将此 HTML 表格布局解决方案转换为浮动 div 解决方案?

    我经常需要列出各种尺寸的项目images在左边和text在右边 像这样 替代文本 http www deviantsart com upload 7s01l5 png http www deviantsart com upload 7s01
  • 使用 CryptoJS 更改密钥 [重复]

    这个问题在这里已经有答案了 我正在使用 CryptoJS 来加密和解密文本 在这里 我只是获取消息并显示加密和解密消息 我使用DES算法进行加密和解密 这是我的 HTML 文件
  • jquery window.open 在 ajax 成功中被阻止

    尝试在我的 ajax 成功调用中打开一个新的浏览器窗口 但是 它被阻止为弹出窗口 我做了一些搜索 发现用户事件需要绑定到 window open 才能避免这种情况发生 我还找到了这个解决方案 您可以在 ajax 之前打开一个空白窗口 然后在
  • Typeahead.js substringMatcher 函数说明

    我只是在做一些研究Typeahead js这是一个非常酷的图书馆 感谢文档 我已经成功地获得了一个基本的示例 该文档也非常好 但是我试图弄清楚以下代码块实际上在做什么 var substringMatcher function strs r
  • 如何使JavaScript函数在Eclipse“大纲视图”中可见?

    我有这样的代码 但如果它在匿名函数中定义 则无法打开函数大纲 类没有问题 我该如何概述something2 请分享一些提示 我可以将所有函数标记为构造函数 但这是无效的方法 start of track event required deb
  • 如何将送货地址复制到帐单地址

    我想知道是否可以将送货地址复制到帐单地址 当用户单击与送货地址相同的复选框时 送货地址值将被复制到账单输入字段 我完成了大部分部分 但我不确定如何将选择菜单 状态 值复制到帐单地址 我真的很感谢任何帮助 My code document r
  • Twitter 嵌入时间轴小部件

    我继续下载http platform twitter com widgets js http platform twitter com widgets js And the http platform twitter com embed t
  • 为什么“tbody”不设置表格的背景颜色?

    我在用 tbody 作为 CSS 选择器来设置background color在一个表中 我这样做是因为我有多个 tbody 表内的部分 它们具有不同的背景颜色 我的问题是 当使用border radius在细胞上 细胞不尊重backgro
  • 显示覆盖以覆盖整个页面

    我有一个正在加载的网络应用程序iframe 我需要显示一个覆盖 div 来覆盖整个页面 问题是叠加层当前仅显示在iframe区域而不覆盖整个页面 我们的应用程序 子应用程序 是加载的一组应用程序的一部分iframe 你可以做这样的事情 di
  • 防止文本区域出现新行

    我正在开发聊天功能 使用 Vue 并使用文本区域作为输入 以便溢出换行 并且对于编写较长消息的用户来说更具可读性 不幸的是 当用户按下 Enter 键并提交时 光标会在提交之前移动到新行 从而使用户体验感觉不佳 关于如何使用普通 Javas
  • 使用异步调用时如何从 javascript 更新元刷新?

    我有一个系统 它使用元刷新来注销页面 该系统会在空闲用户后进行清理 不用担心 服务器也会导致会话超时 我开始通过 ajax 进行一些操作 不是真正的 xml 但这不是重点 我可以运行从异步请求返回的javascript 所以我想知道是否可以
  • 如何在 gulp.src 中使用基本正则表达式?

    我正在尝试选择两个文件gulp src highcharts js and highcharts src js 当然 我知道我可以使用数组表达式显式添加这两个表达式 但出于学习目的 我尝试为它们编写一个表达式 我读过可以使用简单的正则表达式
  • HTML 默认图像大小

    我在我的代码上显示 3 张图片 图片具有不同的尺寸 宽度和高度 div class row div class col lg 12 h2 class page header Gallery h2 div div class col md 4
  • 用于 C# XNA 的 Javascript(或类似)游戏脚本

    最近我准备用 XNA C 开发另一个游戏 上次我在 XNA C 中开发游戏时 遇到了必须向游戏中添加地图和可自定义数据的问题 每次我想添加新内容或更改游戏角色的某些值或其他内容时 我都必须重建整个游戏或其他内容 这可能需要相当长的时间 有没
  • 闪亮井板宽度

    library shiny library shinydashboard ui lt dashboardPage dashboardHeader dashboardSidebar dashboardBody wellPanel tags d

随机推荐

  • ColdFusion 并从 MySQL 获取数据

    我正在 CF 网站上工作 需要从 MySQL 表中获取数据 我可以很好地创建 CFQuery 并检查返回的记录 但如何获取返回的记录并循环它们并从每行中的特定字段获取数据 我可以写 while if end if 等 我只是不记得如何访问数
  • 指向索引处向量的指针与迭代器

    我有一个矢量 myvec我在代码中使用它来保存内存中的对象列表 我在 正常 向量中保留一个指向当前对象的指针C时尚通过使用 Object pObj myvec index 如果 myvec 没有变得足够大以至于无法在某个过程中移动 那么这一
  • 使用 NodeJS 的 IExpress 安装后批处理未立即找到 NPM

    我正在尝试使用 iExpress 在我在 NodeJS 上创建的小脚本上安装依赖项 iExpress 包只需安装 Node 包 msiexec i node msi 然后运行安装后批处理 将 Javascript 放入 UserProfil
  • API 级别 19 上 grantUriPermission 中的 IllegalArgumentException

    下面这行代码 context getApplicationContext grantUriPermission packageName uri Intent FLAG GRANT PERSISTABLE URI PERMISSION 在 A
  • 为什么 mypy 拒绝我的“混合联合”类型声明?

    While 解决 Python 聊天中的半相关问题 https chat stackoverflow com transcript message 49920836 49920836 我在 mypy 中发现了一些我不理解的行为 from t
  • Hive 执行钩子

    我需要在 Apache Hive 中挂钩自定义执行挂钩 如果有人知道该怎么做 请告诉我 我当前使用的环境如下 Hadoop Cloudera 版本 4 1 2 操作系统 Centos 谢谢 阿伦 有多种类型的挂钩 具体取决于您要在哪个阶段注
  • setuptools、distribution 和 pip 之间如何相互关联?

    我一直在通过 Learn Python The Hard Way 第二版 一书自学 Python 在练习 46 中 它告诉我阅读 Pip Distribute 和其他一些软件包 pip 的文档足够清楚了 它允许我安装 卸载和升级软件包 阅读
  • ConcurrentHashMap:我们可以信任它吗?

    来自ConcurrentHashMap的文档 支持完全并发检索和可调整的更新预期并发的哈希表 我们能否完全相信ConcurrentHashMap线程安全操作吗 我正在使用 ConcurrentHashMap 将键与其值进行映射 我的键值对是
  • 是否可以在不使用格式化 printf 的情况下在 java 中进行精确转换? [复制]

    这个问题在这里已经有答案了 该行产生双值3 33333333335 System out println Average marks of name double sum 3 是否可以设置精度宽度 您可以使用DecimalFormat or
  • Glass 上的 Google Play 服务“不真实”

    我正在尝试获取用户在 Glass 上的当前位置 Calling mLocationClient connect 失败而没有任何解决方案 然后我检查了设备上是否可以使用 Google Play 服务 GooglePlayServicesUti
  • ASP.NET Core集成测试在本地工作,但在生产环境中运行时抛出空引用异常

    我有一个 ASP NET Core 2 2 Razor Pages Web 应用程序 我已经为以下内容编写了一些集成测试官方指南 https learn microsoft com en us aspnet core test integr
  • 将 Intent Web url 转换为 Android Intent

    我目前在我的应用程序中集成了一个 webview webview flutter 2 0 4 以进行支付流程 不幸的是 在某些时候启动了以下网址 intent payment Intent action ch twint action TW
  • 计算 R 中前两个主成分的最快方法是什么?

    我在用princomp在 R 中执行 PCA 我的数据矩阵很大 10K x 10K 每个值最多 4 位小数 在 Xeon 2 27 GHz 处理器上大约需要 3 5 小时和大约 6 5 GB 物理内存 由于我只想要前两个组件 是否有更快的方
  • Android 5.1 上的位置权限

    我们构建并部署了一个运行完美的基于位置的购物应用程序 直到我们发现我们的应用程序由于抛出安全异常而无法在 Android 5 1 1 设备上运行 经过一番研究后 我发现 Google 创建了一种在运行时请求权限的新方法 但没有看到任何明确的
  • 为什么我不能访问 TypeScript 私有成员?

    我正在研究 TypeScript 中私有成员的实现 我发现它有点令人困惑 Intellisense 不允许访问私有成员 但在纯 JavaScript 中 一切都在那里 这让我认为 TS 没有正确实现私有成员 有什么想法吗 class Tes
  • 在一个事务中执行两个不同的查询

    我正在尝试在一个中执行两个插入查询Statement 将它们放在一笔交易中 我正在看addBatch方法 但如果我理解正确的话 它可以与单个PreparedStatement使用不同的参数多次执行相同的插入 或者用于Statement对象向
  • Chrome扩展:访问background.html中的跨域iframe

    由于页面的复杂性 XHR 并不是真正的选择 我正在尝试编写一个扩展来抓取需要作为网页加载的网站 我想出的最佳解决方案是通过放置在background html 中的iframe 进行抓取 当满足目标页面上的某些条件时 扩展程序将向用户提供通
  • 在 32 位系统上使用 int64_t 而不是 int32_t 对性能有何影响?

    我们的 C 库当前使用 time t 来存储时间值 我开始在某些地方需要亚秒级精度 因此无论如何 那里都需要更大的数据类型 此外 在某些地方解决 2038 年问题可能会很有用 因此 我正在考虑完全切换到具有底层 int64 t 值的单个 T
  • c 赋值中的类型不兼容,指针有问题吗?

    您好 我正在使用 C 我有一个关于分配指针的问题 struct foo int bar char car SOME NUMBER this is meant to be an array of char so that it can hol
  • 带有多个下划线的文本

    我的应用程序是 它是一些在线文档 用户可以在其中对文本进行注释和下划线以供参考 现在这可以由多个用户完成 因此每个下划线需要有不同的颜色 所以基本的要求是我需要有一个下面有多个下划线的文本 下划线颜色也应该不同 我知道的困难方法是 我可以添