我不知道确切该如何命名或如何解释,所以我将给您一些有关我拥有的东西以及我想要创造的东西的例子。
我有一个div列表,所有的div都有自己的样式,以它们看起来像论坛和子论坛的形式出现。在这里,我将展示我所拥有的照片:
代码很简单:
<div id="Forums">
<div class="category">Category</div>
<div class="forum">Forum</div>
<div class="sub-forum">Sub-forum</div>
<div class="sub-forum">Sub-forum</div>
<div class="sub-forum">Sub-forum</div>
<div class="forum">Forum</div>
</div>
CSS也很容易:
.category {
width: 95%;
height: 3em;
background-color: rgba(46, 183, 255, 0.67);
margin: 2em;
margin-bottom: 0;
}
.forum {
width: auto;
height: 3em;
background-color: rgba(30, 101, 141, 0.67);
border: dotted;
margin-left: 4em;
}
.sub-forum {
width: auto;
height: 3em;
background-color: rgba(12, 50, 69, 0.67);
border: dotted;
margin-left: 7em;
}
我当时正在考虑进行设计,因此类别,论坛和子论坛都以虚线样式的“列表”链接在一起...我不知道如何描述它,因此我制定了一个蓝图:
有可能获得这个吗?我该怎么做?
谢谢!
首先,这涉及标记修改,原因有两个:
1. HTML语义
您的内容是按层级组织的category > forum > sub forum
(如菜单),因此要遵循HTML语义,您需要使用嵌套列表ul > li > ul > li ...
2.样式
将标记更改为嵌套元素将使您能够使用:last-child
和:first-child
伪选择器定位每个级别的最后一个和第一个元素,并相应地设置其样式。
HTML:
<ul id="Forums">
<li class="category"><div>Category</div>
<ul>
<li class="forum"><div>Forum</div>
<ul>
<li class="sub-forum">Sub-forum</li>
<li class="sub-forum">Sub-forum</li>
<li class="sub-forum">Sub-forum</li>
</ul>
</li>
<li class="forum"><div>Forum</div></li>
</ul>
</li>
<li class="category"><div>Category</div>
</li>
<li class="category"><div>Category</div>
<ul>
<li class="forum"><div>Forum</div>
<ul>
<li class="sub-forum">Sub-forum</li>
<li class="sub-forum">Sub-forum</li>
</ul>
</li>
<li class="forum"><div>Forum</div>
<ul>
<li class="sub-forum">Sub-forum</li>
<li class="sub-forum">Sub-forum</li>
</ul>
</li>
<li class="forum"><div>Forum</div>
<ul>
<li class="sub-forum">Sub-forum</li>
<li class="sub-forum">Sub-forum</li>
</ul>
</li>
</ul>
</li>
</ul>
CSS:
ul, li{
list-style-type:none;
margin:0; padding:0;
position:relative;
}
.category > div{
width: 95%; height: 3em;
background-color: rgba(46, 183, 255, 0.67);
}
.forum {
margin-left: 2em;
}
.forum > div, .sub-forum{
height: 3em;
border: dotted;
}
.forum > div{
background-color: rgba(30, 101, 141, 0.67);
}
.sub-forum {
margin-left: 3em;
background-color: rgba(12, 50, 69, 0.67);
}
.category li:before, .forum:after{
content:'';
position:absolute;
right:100%;
border-bottom: 0.2em dotted;
}
.category .forum:before{
top:-1.5em;
height:100%; width:1em;
border-left: 0.2em dotted;
border-bottom-color: transparent;
}
.forum:last-child:before{
height:3em;
}
.forum:first-child:before{
top:0;
bottom:1.5em;
}
.forum:after{
top:1.5em;
width:1.2em;
}
.sub-forum:before{
bottom:50%;
width:3.5em; height: 100%;
border-left: 0.2em dotted;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句