css3 三角形_CSS绘制三角形原理及应用

517ccd4049b1068625c8b0155e1b1764.png

在从 PSD 到 HTML 页面的过程中,免不了要遇到一个问题:“这个小图标,可以用 CSS 效果实现,也可以切图下来,到底该怎么选择呢???”

在此我个人的选择一般都是,用 CSS 实现,当然切图然后实现也是聪明人的办法,但是我觉得学好一个技术最关键的不是学习,而是使用。学了不用都是假把式。学了 CSS 有机会让你炫技,不用是大傻。

最常见的一类小图标就是三角形,今天我来总结一下用 CSS 实现三角形的原理。网上相关资料较多,讲的也都很好,个人博客主要还是用于记录分享,毫无商业前景,不喜勿喷。

原理

CSS 盒模型

盒子模型包括了:margin-border-padding-content

c0575413f6da3ceed0ccb7eb926b0aa8.png

其中,在上下左右的边框交界处,都形成了斜线,利用这一特性,我们可以通过设置不同的上下左右边框的宽度和颜色,可以得到小三角、小梯形等;调整宽度大小可以调节三角形的形状。

应用

示例 1

我们首先尝试上下左右颜色区分,并将 border 的宽度给大一点,看看效果。

d492a681474c4f0a37767803b13843ad.png

65f468c5b34620bf319e255a0cc86c0c.png

示例 2

接下来我们把 content 宽度设置为 0

473f5a8a916c69fade6750bdbb21c64c.png

a95d26fd60041f4e6b13d47a6b150344.png

这时我们可以看到,已经出现了四个颜色不同的三角形了。

示例 3

接下来我们把其中三种颜色设置为和背景颜色一样,只保留一种颜色的对比,代码如下:

1efded72460c7fae0ea356bb792a5e3b.png

ee3d3b19b49b5cd012d0bd701fa7b248.png

IE6 下

在 IE6 下,不支持透明,需要将余下三条边的 border-style 设置为 dashed 即可。

代码如下:

d90849c28550f9aefbdb8480a737bfb2.png

示例 4

同理,我们消去相邻的两个三角形,会得到一个以对角线为斜边的大三角形。

7c681d9dfd56cdc012743e3f5472c004.png

16e484fc6c903a4ade9654c7b87ad4b1.png

示例 5

这样我们设置 border-width 为不同的值:

6d7c3d0ec67261b040061c3efe1c8680.png

效果如下:

ecb84a7da58b523e4fb2dea47189ef9a.png

就是说我们只要设置不同的宽度值,可以得到任意形状的三角形,完美。

注意:用来绘制三角形的必须是 block 元素。

参考

CSS 三角形的实现原理及运用
css3 实现三角形、扇形和特殊的形状等

————————————————

版权声明:本文为CSDN博主「Aelousdp」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:

CSS绘制三角形原理及应用_Aelous_dp的博客-CSDN博客​blog.csdn.net
160c99d48050597d8408a5b511bf1ae4.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值