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的大小和颜色/透明,获得各种三角形和梯形了。

 

最新文章

  1. mysql远程连接提示无法连接,报1130错误
  2. Expect 入门
  3. BZOJ 1143: [CTSC2008]祭祀river 最大独立集
  4. Appium环境配置
  5. POJ 1847 Tram (最短路)
  6. To fix sql server 2008 r2 Evaluation period has expired by change the key
  7. -_-#toFixed
  8. 【转】Android进阶2之Activity之间数据交流(onActivityResult的用法)----不错
  9. JS创建对象的七大模式
  10. Socket编程之聊天程序 - 模拟Fins/ModBus协议通信过程
  11. java_代码注释风格
  12. 关于aop:pointcut的expression配制说明及JoinPoint
  13. LeetCode 501. Find Mode in Binary Search Tree (找到二叉搜索树的众数)
  14. 织梦DEDE网站后台如何上传附件
  15. 在wamp中添加php新版本
  16. 性能测试LR学习笔录2am pm -3
  17. ACM:油田(Oil Deposits,UVa 572)
  18. python3之成像库pillow
  19. 微服务,ApiGateway 与 Kong
  20. VCL 中的 Windows API 函数(2): ActivateKeyboardLayout

热门文章

  1. E20180607-hm
  2. assembly x86(nasm)修改后的日常
  3. lucene原理及java实现
  4. jave 计算音视频时长
  5. Technocup 2017 - Elimination Round 1 (Unofficially Open for Everyone, Rated for Div. 2) C
  6. CVE-2017-3248——WebLogic反序列化漏洞利用工具
  7. 03.Javascript——入门一些方法记录之Map和Set
  8. bootstrop媒体对象、面板和Well
  9. vue对象和视图
  10. 7、斐波那契数列、跳台阶、变态跳台阶、矩形覆盖------------>剑指offer系列