用css画三角形(提示框三角形)

三角形使用情形

  • 常常用于提示框,下拉菜单等(csdn也不少用到,最后一图),看图:

三角形三角形这三角形

  • 因为在网页中常常要用到,因此特意研究
  • 图片实现(感受low)、svg实现(小题大做了),因此最后仍是css画比较不错,兼容性也不错

三角形画法

  1. html结构
    <div class="triangle">
    </div>
  2. 三角形画法
    • 用border画出,当width、height均为100px时
.triangle { width: 100px; height: 100px; border-left: 10px solid #7d7b7b; border-top: 10px solid #5851c3; border-right: 10px solid #21a4d6; border-bottom: 10px solid #4ed621; box-sizing: border-box; }

–>结果:border
改变{width:0; height:0}–>这里写图片描述css

–>再去掉border-top—>这里写图片描述html

–>能够看见上面的一半已经没有了markdown

–>设置左右两边border-color:transparent; –> 这里写图片描述
–>就获得了想要的三角形了,这是向上的,想要哪边就画哪边的border,而且让它相邻两边的border-color:transparentsvg

–>代码工具

.triangle { width: 0; height: 0; border-left: 10px solid transparent; /*border-top: 10px solid #5851c3;*/ border-right: 10px solid transparent; border-bottom: 10px solid #4ed621; box-sizing: border-box; }

画提示框三角形(有边缘的)

如图:边缘三角形ui

  • 原理:先画一个三角形,再画白色三角形的,调整几像素位置,覆盖掉一边

–> 这里写图片描述spa

  • 代码
.triangle {
        position: relative;
        width: 100px;
        height: 50px;
        border: 2px solid #4ed621;
        border-radius: 5px;
    }

    .triangle:before {
        position: absolute;
        content: "";
        top: -10px;
        left: 25px;
        border-left: 10px solid transparent;
        border-right: 10px solid transparent;
        border-bottom: 10px solid #4ed621;
    }
    /* 白色覆盖*/
    .triangle:after {
        position: absolute;
        content: "";
        /*减小两像素*/
        top: -8px;
        left: 25px;
        border-left: 10px solid transparent;
        border-right: 10px solid transparent;
        border-bottom: 10px solid #fff;
    }
      <div class="triangle"></div>

结果:
–> hh–>h code

  • 至此,三角形画完,只用到了css2的属性,兼容性尽收眼底
  • 推荐一款优秀的在线画图工具,很不错(不是广告啊!)
相关文章
相关标签/搜索