用border实现三角形的过程
2024-09-02 06:16:22
div{
width:100px;
height:100px;
background:yellow;
border-top: 20px solid red;
border-right:20px solid black;
border-bottom:20px solid green;
border-left:20px solid blue;
}
观察上图可以发现,border表现为梯形。当减小box的宽高时,会发生如下变化:
从上图很容易看出,当box宽度降低到很小,也就是border的梯形的上边降到很小。所以想一想,当这一值降到0时,border就变成了三角形。如下图:
所以我们就可以通过将元素宽高设置为0,而通过控制border来得到想要的三角形了。
实现
将不需要方向的border设置为透明(transparent),就可以用来实现三角形了。比如想实现下三角形,就将border-left,border-bottom,border-right设置为transparent即可。
div{
width:0px;
height:0px;
border-top: 20px solid red;
border-right:20px solid transparent;
border-bottom:20px solid transparent;
border-left:20px solid transparent;
}
此时只有border-top显示且为红色,其他都为透明,所以为红色三角形
div{
width:100px;
height:100px;
border-top: 60px solid red;
border-right:20px solid transparent;
border-bottom:0px solid transparent;
border-left:20px solid transparent;
}
此时div元素有一定的宽高,但是无内容,占去了原属于是三角形的一部分,所以显现的是一个梯形。
就不一一列举了,只要明白每个方向的border都是一个三角形,就能通过调整border的大小和颜色/透明,获得各种三角形和梯形了。
最新文章
- mysql远程连接提示无法连接,报1130错误
- Expect 入门
- BZOJ 1143: [CTSC2008]祭祀river 最大独立集
- Appium环境配置
- POJ 1847	 Tram (最短路)
- To fix sql server 2008 r2 Evaluation period has expired by change the key
- -_-#toFixed
- 【转】Android进阶2之Activity之间数据交流(onActivityResult的用法)----不错
- JS创建对象的七大模式
- Socket编程之聊天程序 - 模拟Fins/ModBus协议通信过程
- java_代码注释风格
- 关于aop:pointcut的expression配制说明及JoinPoint
- LeetCode 501. Find Mode in Binary Search Tree (找到二叉搜索树的众数)
- 织梦DEDE网站后台如何上传附件
- 在wamp中添加php新版本
- 性能测试LR学习笔录2am pm -3
- ACM:油田(Oil Deposits,UVa 572)
- python3之成像库pillow
- 微服务,ApiGateway 与 Kong
- VCL 中的 Windows API 函数(2): ActivateKeyboardLayout
热门文章
- E20180607-hm
- assembly x86(nasm)修改后的日常
- lucene原理及java实现
- jave 计算音视频时长
- Technocup 2017 - Elimination Round 1 (Unofficially Open for Everyone, Rated for Div. 2) C
- CVE-2017-3248——WebLogic反序列化漏洞利用工具
- 03.Javascript——入门一些方法记录之Map和Set
- bootstrop媒体对象、面板和Well
- vue对象和视图
- 7、斐波那契数列、跳台阶、变态跳台阶、矩形覆盖------------>;剑指offer系列