我在这里使用边框,我想将边框添加到图标中,如图像所示。到目前为止,我做了这件事,谁能建议我指出正确的方向?
.list {
display: flex;
flex-direction: row;
width: 182px;
background: aliceblue;
}
ul {
display: flex;
flex-wrap: wrap;
list-style-type: none;
}
li {
width: 20px;
padding: 10px;
border-top: 1px solid rgba(0, 0, 0, 0.2);
border-right: 1px solid rgba(0, 0, 0, 0.2);
}
i.fa {
padding: 5px;
}<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.css" rel="stylesheet"/>
<div class="list">
<ul>
<li><i class="fa fa-facebook" aria-hidden="true"></i></li>
<li><i class="fa fa-twitter" aria-hidden="true"></i></li>
<li><i class="fa fa-pinterest-p" aria-hidden="true"></i></li>
<li><i class="fa fa-dribbble" aria-hidden="true"></i></li>
<li><i class="fa fa-google-plus" aria-hidden="true"></i></li>
<li><i class="fa fa-whatsapp" aria-hidden="true"></i></li>
<li><i class="fa fa-github" aria-hidden="true"></i></li>
</ul>
</div>
发布于 2018-09-26 13:21:00
这里有一个使用伪元素和一个边框的想法。您只将border-right添加到每一行的第一个和第二个元素中,对于从第二行开始的每个第一个元素,您将在顶部添加一整行,以覆盖该行。
.list {
display: inline-flex;
margin:5px;
flex-direction: row;
width: 182px;
background: aliceblue;
}
ul {
display: flex;
flex-wrap: wrap;
list-style-type: none;
}
li {
width: 20px;
padding: 10px;
position:relative; /*Don't forget this*/
}
/*The magic starts here */
li:not(:nth-child(3n + 3)) {
border-right: 1px solid rgba(0, 0, 0, 0.2);
}
li:nth-child(3n + 4):before {
content:"";
position:absolute;
top:0;
left:0;
width:120px;
height:1px;
background:rgba(0, 0, 0, 0.2);
}
/**/
i.fa {
padding: 5px;
}<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.css" rel="stylesheet"/>
<div class="list">
<ul>
<li><i class="fa fa-facebook" aria-hidden="true"></i></li>
<li><i class="fa fa-twitter" aria-hidden="true"></i></li>
<li><i class="fa fa-pinterest-p" aria-hidden="true"></i></li>
<li><i class="fa fa-dribbble" aria-hidden="true"></i></li>
</ul>
</div>
<div class="list">
<ul>
<li><i class="fa fa-facebook" aria-hidden="true"></i></li>
<li><i class="fa fa-github" aria-hidden="true"></i></li>
<li><i class="fa fa-pinterest-p" aria-hidden="true"></i></li>
</ul>
</div>
<div class="list">
<ul>
<li><i class="fa fa-facebook" aria-hidden="true"></i></li>
<li><i class="fa fa-twitter" aria-hidden="true"></i></li>
<li><i class="fa fa-pinterest-p" aria-hidden="true"></i></li>
<li><i class="fa fa-dribbble" aria-hidden="true"></i></li>
<li><i class="fa fa-google-plus" aria-hidden="true"></i></li>
<li><i class="fa fa-whatsapp" aria-hidden="true"></i></li>
</ul>
</div>
<div class="list">
<ul>
<li><i class="fa fa-facebook" aria-hidden="true"></i></li>
<li><i class="fa fa-twitter" aria-hidden="true"></i></li>
<li><i class="fa fa-pinterest-p" aria-hidden="true"></i></li>
<li><i class="fa fa-dribbble" aria-hidden="true"></i></li>
<li><i class="fa fa-google-plus" aria-hidden="true"></i></li>
<li><i class="fa fa-whatsapp" aria-hidden="true"></i></li>
<li><i class="fa fa-github" aria-hidden="true"></i></li>
<li><i class="fa fa-github" aria-hidden="true"></i></li>
</ul>
</div>
<div class="list">
<ul>
<li><i class="fa fa-facebook" aria-hidden="true"></i></li>
<li><i class="fa fa-twitter" aria-hidden="true"></i></li>
<li><i class="fa fa-pinterest-p" aria-hidden="true"></i></li>
<li><i class="fa fa-dribbble" aria-hidden="true"></i></li>
<li><i class="fa fa-google-plus" aria-hidden="true"></i></li>
<li><i class="fa fa-whatsapp" aria-hidden="true"></i></li>
<li><i class="fa fa-github" aria-hidden="true"></i></li>
<li><i class="fa fa-github" aria-hidden="true"></i></li>
<li><i class="fa fa-github" aria-hidden="true"></i></li>
</ul>
</div>
发布于 2018-09-26 12:51:15
利用坚实的颜色和负面的边缘,你可以很容易做到这一点。请看下面的工作片段,希望它有帮助:)
.list {
display: flex;
flex-direction: row;
width: 182px;
background: aliceblue;
}
ul {
display: flex;
flex-wrap: wrap;
list-style-type: none;
}
li {
width: 20px;
padding: 10px;
border: 1px solid #ccc;
margin: -1px -1px 0 0;
}
i.fa {
padding: 5px;
}<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.css" rel="stylesheet"/>
<div class="list">
<ul>
<li><i class="fa fa-facebook" aria-hidden="true"></i></li>
<li><i class="fa fa-twitter" aria-hidden="true"></i></li>
<li><i class="fa fa-pinterest-p" aria-hidden="true"></i></li>
<li><i class="fa fa-dribbble" aria-hidden="true"></i></li>
<li><i class="fa fa-google-plus" aria-hidden="true"></i></li>
<li><i class="fa fa-whatsapp" aria-hidden="true"></i></li>
<li><i class="fa fa-github" aria-hidden="true"></i></li>
</ul>
</div>
上面的答案是我个人的观点,希望有一个更好的ui设计,为了实现屏幕截图的结果,您可以使用table标记和几行css,如下代码片段所示。它有自己的行捕获,您需要控制行:)
table {
border-collapse: collapse;
border-style: hidden;
}
table td {
border-width: 1px;
border-style: inset;
border-color:#ccc;
padding: 10px;
}<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.css" rel="stylesheet"/>
<table>
<tr>
<td><i class="fa fa-facebook" aria-hidden="true"></i></td>
<td><i class="fa fa-twitter" aria-hidden="true"></i></td>
<td><i class="fa fa-pinterest-p" aria-hidden="true"></i></td>
</tr>
<tr>
<td><i class="fa fa-dribbble" aria-hidden="true"></i></td>
<td><i class="fa fa-google-plus" aria-hidden="true"></i></td>
<td><i class="fa fa-whatsapp" aria-hidden="true"></i></td>
</tr>
<tr>
<td><i class="fa fa-github" aria-hidden="true"></i></td>
</tr>
</table>
发布于 2018-09-26 12:54:08
我要么使用图标的.nth-child伪类在每个图标上放置特定的边框,要么更好地(我认为)根据需要的边框(.border-right、.border-bottom等)在每个图标上设置一个类。这使得html在指示类应该对元素做什么方面更具有描述性。
.nth-child方法的优点是可以在不更改元素类的情况下重新排列元素,并且仍然可以获得相同的结果。您需要编写更多的css,但这是非常简单的事情,所以这不是一个真正的问题。
https://stackoverflow.com/questions/52518040
复制相似问题