我正在try strikethrough个安莉元素,包括李标记本身.在悬停时,我想添加一个横跨整个li元素的删除线,包括li::marker本身.

每当我在<li>元素中添加strikethrough时,它只向内容添加删除线,而忽略li::marker.

我试着用下面的代码在记号笔上涂上StriketRough,但不起作用.

li::marker:hover {
  text-decoration: line-through;
}

li:hover {
  text-decoration: line-through;
}

li::marker:hover {
  text-decoration: line-through;
}
<ol>
  <li>Foo</li>
  <li>Bar</li>
  <li>Foobar</li>
</ol>

推荐答案

更新

🚨 DO NOT USE THIS SOLUTION!!! 🚨

正如我所期望的那样,存在一个比我在下面提供的垃圾更好、更优雅的解决方案;check out LS_'s answer on this question.在我看来,他的回答应该被标记为"精选".


(原答案)

我在下面提供的是一个陈腐的,绝对肮脏的解决方案,它通过将内容包装在相对定位的<span>中来实现效果,并在悬停时给它额外的前导空间,同时将其位置调整到左侧.我甚至不能保证它会在跨平台上一致工作.这很恶心,我祈祷有人能提供更好的解决方案,而且不必使用这种方法.

li span {
  position: relative;
}

li:hover span {
  text-decoration: line-through;
  left: -1em;
}

li:hover span::before {
    content: "\00a0\00a0\00a0\00a0";
}
<ul>
  <li><span>Foo</span></li>
  <li><span>Bar</span></li>
  <li><span>Foobar</span></li>
</ul>

Html相关问答推荐

你能让Cypress测试为p—fileUpload做文件上传吗?

如何格式化HTML文本,使其环绕关键字

Vue.js复选框对齐问题:在表格单元格中居中复选框

对称渐变作为背景

将2个Flex列合并为1个交替子列

禁用的文本区域会丢失换行符

如何删除FONT创建的文本下方的空格

布局更改时的转换

如何使用css创建六边形棋盘?

为什么index.html在Django中有这样的名称?

如何将图像放在其内部按钮下方

margin-top 未应用于无序列表的第一项

使用 Thymeleaf 将图像水平居中

在选项标签中如何添加Django模板的条件

如何使容器的大小适合其 position:absolute; 子元素的大小

Angular:从服务器下载 HTML 并打印

用于表行组标题的正确 HTML 标记是什么?

暗模式转换器

有没有办法使用 CSS border-radius 创建 HTML 视频标签的三角形显示?

调整窗口大小时试图阻止按钮移动