我正在尝试创建以下布局
Stuff » More Stuff » Children » FirstChild
» SecondChild
» ThirdChild
由于使用CRM系统,我有一些限制,因此呈现的html如下:
<span>Stuff » More Stuff » Children <span class="breadcrumbItem">» FirstChild</span>
<span class="breadcrumbItem" style="margin-left:10px">» SecondChild</span></span>
<span class="breadcrumbItem" style="margin-left:20px">» ThirdChild</span>
</span>
我尝试了很多谷歌搜索结果,但没有创建我所追求的布局,我最接近的是以下,它确实嵌套了项目但是从下一行的开头而不是从最后一行开始
.breadcrumbItem {
padding: 5px 6px 5px 2px;
font-size: 12px;
line-height: 6px;
display:table;
}
是否有可能做我正在尝试的事情?
答案 0 :(得分:3)
您应该在ul
属性
li
和text-indent
元素
div > ul > li {
list-style-type: none;
display: inline-block;
vertical-align: top;
margin-right: 30px;
}
div > ul > li > ul {
list-style-type: none;
}
div > ul > li > ul > li:nth-of-type(2) {
text-indent: 20px;
}
div > ul > li > ul > li:nth-of-type(3) {
text-indent: 40px;
}
在这里,我使用了从头开始制作的嵌套ul
和li
元素,并且针对您正在寻找的效果,我使用了nth-
类型以便您不要我必须修改DOM,并使用text-indent
就>
而言,使用它很重要,如果你想要解释,你可以参考我的另一个答案here。
使用箭头,您可以使用:before
和:after
伪元素,例如......
/* For arrows */
div > ul > li:after {
content: "»";
position: relative;
right: -20px;
}
div > ul > li > ul > li:before {
content: "»";
left: -5px;
position: relative;
}
div > ul > li:last-child:after {
content: "";
}
答案 1 :(得分:0)
感谢Alien先生,我完全成功完成了这项工作。
<span>Module » Parent » Wraper
<span class="breadCrumbitem">
<ul>
<li>First Item</li>
<li>Second Item</li>
<li>Third Item</li>
</ul>
span.breadCrumbitem {
list-style-type: none;
display: inline-block;
vertical-align: top;
margin-right: 30px;
position: relative;
top: -13px;
}
span.breadCrumbitem > ul {
list-style-type: none;
text-indent: -30px;
}
span.breadCrumbitem > ul > li:before {
content: " » ";
}