css画三角形原理

关键是你怎么理解border

<style>
    
div{
   width: 50px;
    height: 50px;
    border-top: 30px solid #000;
    border-right: 30px solid #ff0000;
    border-left: 30px solid #00ff00;
    border-bottom: 30px solid #0000ff;
}
</style>

<div>
</div>

结果如图。为啥结果是这样的呢?边角为啥是各占一半颜色呢?这样公平!


image.png

去掉对border-bottom的设置结果如下

image.png

不去掉bottom但设置宽度为0

image.png

设置宽度和高度都为0

image.png

那么怎么画三角?
显然,设置其中三个颜色为透明就可以了

<style>
    
div{
   width: 0px;
    height: 0px;
    border-top: 30px solid transparent;
    border-right: 30px solid transparent;
    border-left: 30px solid transparent;
    border-bottom: 30px solid #0000ff;

}
</style>

<div>
</div>

结果

image.png

本质上是一个border如何处理交界处的问题

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 使用纯CSS画三角形,记得去年自己就碰到过。但是当时只是一味的在网上粘贴复制了写代码,并没有深究其原理。今天特地写...
    angryyan阅读 13,525评论 2 9
  • 下面介绍CSS画三角形的原理 一、首先画一个div,给它宽高和背景颜色。再加上四条边的边框。 二、div的widt...
    iam梦的的阅读 3,892评论 0 1
  • 各种纯css图标 CSS3可以实现很多漂亮的图形,我收集了32种图形,在下面列出。直接用CSS3画出这些图形,要比...
    剑残阅读 13,251评论 0 8
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,682评论 1 92
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    wzhiq896阅读 5,803评论 0 2