html - html 嵌套 li 样式 - 每行前面的彩色条
问题描述
我想设计一个从降价生成中得到的列表。生成的html代码是这样的:
ul li {
list-style-type: none;
background: white;
margin: 4px 0;
padding-top: 4px;
padding-left: 24px;
border-left: 12px solid #5EAADF;
background: #F6F8FA;
}
ul {
padding-inline-start: 0;
}
<ul>
<li>Item 1
<ul>
<li>Item 1.1
<ul>
<li>Item 1.1.1</li>
</ul>
</li>
<li>Item 1.2
<ul>
<li>Item 1.2.1
<ul>
<li>Item 1.2.1.1</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>Item 2</li>
<li>Item 3</li>
<li>Item 4</li>
<li>Item 5</li>
</ul>
我想在每行前面添加一个彩色条。我只是设法像这样设计它。但我想要的是这样的:
生成的html代码有什么办法吗?
解决方案
可以用伪代码来完成。
但是,如果没有任何 HTML 更改,我认为您不会完美。如果<li>
元素的文本被包裹在一个<p>
或<span>
ul li {
list-style-type: none;
background: white;
margin: 4px 0;
padding-top: 4px;
padding-left: 24px;
background: #F6F8FA;
position: relative;
line-height: 20px;
/* Added */
}
ul li:before {
content: "";
position: absolute;
top: 0px;
left: 0;
height: 24px; /* line-height + padding-top */
width: 12px; /* original border width */
background-color: #5EAADF;
}
ul {
padding-inline-start: 0;
/*
Experimental technology, limited browser support
See: https://developer.mozilla.org/en-US/docs/Web/CSS/padding-inline-start
*/
}
<ul>
<li>Item 1
<ul>
<li>Item 1.1
<ul>
<li>Item 1.1.1</li>
</ul>
</li>
<li>Item 1.2
<ul>
<li>Item 1.2.1
<ul>
<li>Item 1.2.1.1</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>Item 2</li>
<li>Item 3</li>
<li>Item 4</li>
<li>Item 5</li>
</ul>
推荐阅读
- javascript - 无法在 JSFiddle 上创建图表
- localization - Flutter 中的本地化字符串
- python - PermissionDenied:403 请求的身份验证范围不足
- docker - 如何等到 docker start 完成?
- dart - 如何使用 dart-lang/markdown 显示段落?
- javascript - 提取网页的调色板
- php - 在 stderr 中发送的 FastCGI:“PHP 消息:PHP 警告:迁移 wordpress 后
- ruby - 使用 Ruby 在多个目录中打开相同的文件名
- python - 新行类型之间的区别
- jquery - 无法为输入类型文件添加 jquery 类