css实现三角形

css实现三角形是个非常有意思的事情。

先看看如果 width height都为0,边框不为零的时候,浏览器是如何渲染的? 莫非是中间留出空位?当然并不是,它会自动把边框变成三角形

  width: 0;
  height: 0;
  border-width: 30px;
  border-style: solid;
  border-color: yellow red green blue;
Paste_Image.png

所以,如果我们想要三角形的话,只需要 只设置边框,让某些边框变成透明即可

把三个边框都设置为透明

#triangle-up {
  width: 0;
  height: 0;
  border-width: 30px;
  border-style: solid;
  border-color: transparent transparent red transparent;
}
Paste_Image.png

上面可以看到,三角形的形状就出来了。其他方向其实也同理

左下的效果

#triangle-left-down {
  width: 0;
  height: 0;
  border-width: 30px;
  border-style: solid;
  border-color: transparent transparent red red;
}
Paste_Image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 我们经常在逛网页的时候,会看到一些三角形,比如下面这张图,个人中心后面有个三角形,那么我们如何利用css样式来绘制...
    雅玲哑铃阅读 1,345评论 1 11
  • 最近在逛某个技术网站的时候,感觉文章关键词上的样式好酷炫啊,分页的样式。来张截图: 你在首页的底部也可以看到这样一...
    web前端学习阅读 967评论 0 4
  • 我们在使用CSS框架的时候,经常会用到下拉框组件,一般该组件里面有个下三角。此外,我们经常用的tooltip,一般...
    康斌阅读 19,564评论 18 61
  • 今天读大漠老师的图解css3中,遇到一个需要画三角形的地方,我刚好学一下。 到这里我们就可以获取到一个简单的三角形...
    苏敏阅读 378评论 0 0
  • 1 代码: .triangle{width: 0;border-top: 30px solid blue;bord...
    从前慢pearl阅读 1,364评论 0 2