css绘制三角形

这周在做一个水滴动画时,由于水滴是由一个三角形和一个圆组成,三角形的绘制代码如下:

 .water:before{
            content: "";
            width: 0;
            height: 0;
            position: absolute;
            top: -22px;
            border-left: 10px solid transparent;
            border-right: 10px solid transparent;
            border-bottom: 30px solid white;
        }

将宽度和高度设置为0,再利用border的边框设置透明或者颜色来构成三角形,我不能懂其中的原理因此探索了以下border

如下所示,我为一个div的每个边写了不同颜色的border

div{
            width: 20px;
            height: 20px;
            border-left: 10px red solid;
            border-bottom: 10px green solid;
            border-right: 10px orange solid;
            border-top: 10px blue solid;
        }

得到了如下所示的图形

border的边是呈梯形的,因此当内容区的宽和高为0的时候,则梯形的上边无限减小,最终会变成三角形。因此就可以对不同的边设置透明和颜色得到不同方向的三角形。

当只设置三个边的时候

 div{
            width: 20px;
            height: 20px;
            border-left: 10px red solid;
            border-bottom: 10px green solid;
           /* border-right: 10px orange solid;*/
            border-top: 10px blue solid;
        }

得到了如下的图形

当只设置两条对称的边时

div{
            width: 20px;
            height: 20px;
            /*border-left: 10px red solid;*/
            border-bottom: 10px green solid;
           /* border-right: 10px orange solid;*/
            border-top: 10px blue solid;
        }

得到了如下的图形

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值