首页
TVP 最新优惠活动
学习
活动
专区
工具
返回腾讯云官网
利用CSS实现三角形效果,比较常用的思路是使用 border 边框来实现,border 边框是由四个三角形组成的,通过调整四个边来实现不同形状的三角形。
通过上图应该能看懂 border 的实现原理。
CSS代码如下:通过调整边框的宽度,来实现不同的形状。
/*A1*/
.triangle1 {
width: 0;
height: 0;
border-width: 50px;
border-style: solid;
border-color: #118C8B #BCA18D #F2746B #F14D49;
}
/*A2*/
.triangle2 {
width: 0;
height: 0;
border-width: 50px;
border-left: 100px;/*左边框设置为100px*/
border-style: solid;
border-color: #118C8B #BCA18D #F2746B #F14D49;
}
/*A3*/
.triangle3 {
width: 0;
height: 0;
border-width: 0 50px 100px 50px;/*上边框为0,下边框为100px*/
border-style: solid;
border-color: #118C8B #BCA18D #F2746B #F14D49;
}
只需要把其中三条边的颜色定义为 transparent
透明,另一条边设置一个颜色和宽度就可以了。(图P1)
.triangle4 {
width: 0;
height: 0;
border-style: solid;
border-width: 50px;
border-color: transparent transparent #F14D49;
}
如果不定义宽度,则该条边默认宽度位0,颜色为透明。
通过定义宽度,改变三角形的形状(该边框的宽度就是三角形底边的高)。宽度越大,三角形的高度越大。(图P2)
.triangle5 {
width: 0;
height: 0;
border-style: solid;
border-width: 0 50px 100px;
border-color: transparent transparent #F14D49;
}
如果把左边框宽度也设置为 0
,就会形成一个向右的直角三角形。(图P3)
.triangle6 {
width: 0;
height: 0;
border-style: solid;
border-width: 0 80px 100px 0;
border-color: transparent transparent #BCA18D;
}
如果左右宽度不对称,就会形成一个不规则三角形。(图P4)
.triangle7 {
width: 0;
height: 0;
border-style: solid;
border-width: 0 80px 100px 20px;
border-color: transparent transparent #BCA18D;
}
上、右两边透明,右、下、左设置宽度,就会形成一个梯形(只能是直角梯形)。(图P5)
}
.triangle8 {
width: 0;
height: 0;
border-style: solid;
border-width: 0 60px 80px 40px;
border-color: transparent transparent #118C8B #118C8B;
}
还有另一种写法,就是四个边分开写样式。P1 就可以这样写:(图P6)
.triangle9 {
width: 0;
height: 0;
border-top: 50px solid transparent;
border-right: 50px solid transparent;
border-bottom: 50px solid #BCA18D;
border-left: 50px solid transparent;
}
P2可以这样写,因为上边距是 0,可以直接省略。
.triangle9 {
width: 0;
height: 0;
border-right: 50px solid transparent;
border-bottom: 100px solid #BCA18D;
border-left: 50px solid transparent;
}
因为三角形的绘制与 border 属性分不开的,下面就整理一下,希望看完对上面的代码有更深入的理解。
border
属性,有四个属性值:
可以一气呵成,这样写:顺序分别是 边框宽度 边框样式 边框颜色
border: 1px solid blue;
当然也可以分开来写,如下:
只有当边框样式不是 none
时才起作用。如果边框样式是 none
,边框宽度实际上会重置为 0
,不支持负值。
border-width: 10px;/*统一设置边框的宽度*/
border-width: thin medium thick 10px;/*分别设置每个边框的宽度,顺序是 上 右 下 左*/
border-width: thin medium;/*当有2个值时代表,上下 左右*/
border-width: thin medium 10px;/*当有3个值时代表,上 左右 下*/
边框宽度有5个属性值:
thin
细的边框。
medium
默认,中等的边框。
thick
粗的边框。
length
自定义边框的宽度。
inherit
从父元素继承边框宽度。
用法与 border-width
类似,边框样式有以下几种:
none
无边框。
hidden
与 "none" 相同。不过应用于表时除外,对于表,hidden 用于解决边框冲突。
dotted
点状边框。在大多数浏览器中呈现为实线。
dashed
虚线。在大多数浏览器中呈现为实线。
solid
实线。
double
双线。双线的宽度等于 border-width 的值。
groove
3D 凹槽边框。其效果取决于 border-color 的值。
ridge
3D 垄状边框。其效果取决于 border-color 的值。
inset
3D inset 边框。其效果取决于 border-color 的值。
outset
3D outset 边框。其效果取决于 border-color 的值。
inherit
从父元素继承边框样式。
用法也与 border-width
类似,边框颜色有以下几种:
color_name
颜色值为颜色名称的边框颜色(比如 red)。
hex_number
颜色值为十六进制值的边框颜色(比如 #ff0000)。
rgb_number
颜色值为 rgb 代码的边框颜色(比如 rgb(255,0,0))。
transparent
默认值。边框颜色为透明。
inherit
从父元素继承边框颜色。
边框的应用有很多,可以根据自己的情况进行拓展。
声明:本文由 w3h5原创,转载请注明出处: 《纯CSS绘制三角形、梯形及border属性的延伸》 https://cloud.tencent.com/developer/article/1537403
(adsbygoogle = window.adsbygoogle || []).push({});
本文分享自 作者个人站点/博客 前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!
玻璃钢生产厂家玻璃钢奔马雕塑青岛市玻璃钢雕塑制作工厂玻璃钢西瓜雕塑河南动物玻璃钢雕塑图片百色玻璃钢雕塑生产厂家鹤壁镜面玻璃钢景观雕塑厂家玻璃钢汽车道具雕塑简介深圳开业商场美陈订购佛山玻璃钢雕塑规格杭州玻璃钢花盆采购青海玻璃钢植物雕塑定制猴年新年商场美陈红塔区玻璃钢雕塑批发厂家玻璃钢雕塑佛像价格开远玻璃钢人物雕塑北京佛像玻璃钢雕塑市场安康玻璃钢人物雕塑北京玻璃钢雕塑人像河北商业商场美陈报价玻璃钢雕塑有哪些优点玄武玻璃钢造型雕塑大连玻璃钢恐龙雕塑设计合肥个性化玻璃钢雕塑景德玻璃钢牛雕塑南阳公园景观玻璃钢人物雕塑菏泽制作玻璃钢雕塑报价厂家深圳商场美陈价钱太原创意玻璃钢雕塑哪家便宜芜湖玻璃钢雕塑设计公司云南高质量玻璃钢雕塑生产厂家香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万