CSS如何定义一个三角

2019-02-01  本文已影响0人  迦叶凡

前言

在前端开发过程中经常会遇到画几何图形(三角形),比如需要在聊天气泡上添加一个三角形。那么我们如何实现呢?下面将介绍通过CSS实现的方式。

正文

解决思路:
通过伪元素(:before和:after)在目标元素上添加一个block元素,并把元素的宽和高设为0,然后通过设置border的transparent属性来设置指定边框的颜色为透明即可。
实例代码:

currentPage-box::before {
  position: absolute;
  top: -1px;
  right: -8px;
  display: block;
  width: 0;
  height: 0;
  content: ' ';
  border-color: transparent transparent transparent #a8ccef;
  border-style: solid;
  border-width: 17px 0 17px 8px;
}

如果想要又有边框的三角,可以在外面在叠加一层,利用绝对定位来错位来实现视觉效果。

currentPage-box::after {
  position: absolute;
  top: -1px;
  right: -7px;
  display: block;
  width: 0;
  height: 0;
  content: ' ';
  border-color: transparent transparent transparent #e9f2fb;
  border-style: solid;
  border-width: 17px 0 17px 8px;
}
上一篇下一篇

猜你喜欢

热点阅读