15

实现下图的加号效果:

clipboard.png

若想实现这个效果, 只需一个div元素即可搞定。

需要用到css的为了before和after, 以及border特性。

先设置一个div便签

<div class="add"></div>

再设置一个边框:

.add {
  border: 1px solid;
  width: 100px;
  height: 100px;
  color: #ccc;
  transition: color .25s;
  position: relative;
}

此时边框是这样的:

clipboard.png

我们可以利用伪类before和其border-top来设置一个“横”:

.add::before{
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  width: 80px;
  margin-left: -40px;
  margin-top: -5px;
  border-top: 10px solid;
}

注意我们使了绝对定位。 此时变成了这样:

clipboard.png

参照上面, 我们可以使用after伪类和border-bottom设置一个“竖”:

.add::after {
 content: '';
 position: absolute;
 left: 50%;
 top: 50%;
 height: 80px;
 margin-left: -5px;
 margin-top: -40px;
 border-left: 10px solid;
}

在加上hover伪类,设置鼠标悬浮上去的颜色:

最终的样式:

clipboard.png

当鼠标悬浮上去是, 会变色:

clipboard.png

web前端技术分享点击:加入


程序员阿宇
3.2k 声望791 粉丝

前端学习交流群:784783012 欢迎新手,进阶者