【发布时间】:2021-01-03 16:33:23
【问题描述】:
我有以下设计,我正在尝试使用 HTML 和 CSS 创建。
每个盒子里面都有一个文本。我以为我可以使用 ul li 来做到这一点,但我很难创建。
我尝试了下面的代码,但我有点困惑我的代码是最好的代码还是有其他简单的方法来处理这个问题?
另外,我如何在另一个中显示我的ul 框?
.wrapper {
width: 700px;
margin: auto;
padding-top: 50px;
}
ul {
list-style: none;
padding: 0;
border: 1px solid #000;
height: 300px;
position: relative;
}
ul li {
border: 1px solid #f00;
display: inline-block;
position: absolute;
}
ul li a {
text-decoration: none;
}
ul.first {
width: 400px;
}
ul.first li:nth-child(1) {
top: -10px;
left: 30px;
}
ul.first li:nth-child(2) {
top: 30px;
right: -30px;
}
ul.first li:nth-child(3) {
bottom: -10px;
right: 30px;
}
ul.first li:nth-child(4) {
bottom: 30px;
left: -30px;
}
ul.two {
width: 600px;
}
ul.two li:nth-child(1) {
top: -10px;
left: 30px;
}
ul.two li:nth-child(2) {
top: -10px;
right: 30px;
}
ul.two li:nth-child(3) {
top: 30px;
right: -30px;
}
ul.two li:nth-child(4) {
bottom: 30px;
right: -30px;
}
ul.two li:nth-child(5) {
bottom: -10px;
right: 30px;
}
ul.two li:nth-child(6) {
bottom: -10px;
left: 30px;
}
ul.two li:nth-child(7) {
bottom: 30px;
left: -30px;
}
ul.two li:nth-child(8) {
top: 30px;
left: -30px;
}
<div class="wrapper">
<div class="innerHero"><a href="">I am hero</a></div>
<ul class="first">
<li><a href="">Test one</a></li>
<li><a href="">Test two</a></li>
<li><a href="">Test three</a></li>
<li><a href="">Test four</a></li>
</ul>
<ul class="two">
<li><a href="">Example one</a></li>
<li><a href="">Example two</a></li>
<li><a href="">Example three</a></li>
<li><a href="">Example four</a></li>
<li><a href="">Example five</a></li>
<li><a href="">Example six</a></li>
<li><a href="">Example seven</a></li>
<li><a href="">Example eight</a></li>
</ul>
</div>
【问题讨论】:
-
关于下面关于列表嵌套的建议,您的列表结构应该反映信息的性质,以获得良好的文档语义和可访问性。不应使用列表在页面上任意定位内容。如果您发现自己违反了该原则,只需使用 div 或其他布局元素。
-
@isherwood,实际上,我认为 UL LI 是一个好方法。所以我必须使用 div instated of ul li。对吗?
标签: html css html-lists