用div 画出三角形

本文介绍了一种使用CSS绘制带有透明背景的三角形的方法,通过调整边框颜色及使用`background-clip: padding-box;`属性来实现真正的透明效果,并提供了一种替代方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

画三角形的代码:

border-top: 10px solid rgba(0,0,0,0);
    border-bottom: 10px solid rgba(0,0,0,0);
    border-right: 10px solid rgba(0,0,0,0);
    border-left: 10px solid #009d6f;

 这段代码也能画出三角形,底色为白色,三角形为绿色的.但这有一个问题,就是虽然设置了边框为透明,但边框还是会遮挡底部的元素,且如果底部元素为红色,你会看到一张白色图片上放着一个绿色的三角形,这很不完美。解决办法如下:

background-clip: padding-box;
    border-top: 10px solid rgba(0,0,0,0);
    border-bottom: 10px solid rgba(0,0,0,0);
    border-right: 10px solid rgba(0,0,0,0);
    border-left: 10px solid #fff;

加上 background-clip: padding-box; 这句代码后,设置为透明色的边框可以实现真正的透明。如果底部为红色,你看到的就是绿色的三角形,没有白色的画布。这句代码的作用是,不让div的背景色延伸到边框下,div默认背景色为白色,这就是为什么虽然我们给边框设置了透明,但我们看到还是白色而不是底部元素。既然知道了真正的原因,我们也可以直接这样做:

    border-top: 10px solid rgba(0,0,0,0);
    border-bottom: 10px solid rgba(0,0,0,0);
    border-right: 10px solid rgba(0,0,0,0);
    border-left: 10px solid #fff;
    background-color:rgba(0,0,0,0);

经测试效果一样的。

转载于:https://www.cnblogs.com/wsz168/p/8399012.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值