css实现三角形

作者: tiancai啊呆 | 来源:发表于2018-01-10 21:33 被阅读169次

工作中经常遇到一些tip提示,tip提示会有一个小三角形,我们可以使用图片或者iconfont实现,当然最高级的还是用css实现。下面就简单总结一下如何使用css的border属性来绘制小三角。
假设我们有这样一个div:

<style>
    .arrow {
        width: 100px;
        height: 100px;
        border: 100px solid;
        border-color: red blue;
    }
</style>
<div class="arrow"></div>

效果如下:


效果图

我们看到了四个梯形,那么如何将梯形变成三角形呢?很简单,只需将div的宽高设为0即可。
效果如下:


三角形
那么现在问题就很简单了,假如我们需要一个向下的箭头,只需将其他三个边框的颜色设为透明就好了。如此我们便可绘制出四个方向不同的箭头。
<style>
    .arrow {
        width: 0px;
        height: 0px;
        border: 100px solid transparent;
    }
    .arrow-up {
        border-bottom-color: red;
    }
    .arrow-down {
        border-top-color: red;
    }
    .arrow-left {
        border-right-color: red;
    }
    .arrow-right {
        border-left-color: red;
    }
</style>
<div class="arrow arrow-up"></div>
<div class="arrow arrow-down"></div>
<div class="arrow arrow-left"></div>
<div class="arrow arrow-right"></div>

上面我们所绘制出的箭头都是等腰直角三角形,那么如何绘制出来锐角三角形和钝角三角形呢?
答案很简单,只需令边框的上下宽度和左右宽度不一样即可。

 <style>
    .arrow {
        width: 0px;
        height: 0px;
        border-width: 100px 50px;
        border-style: solid;
        border-color: transparent;
    }
    .arrow-down {
        border-top-color: red;
    }
</style>
<div class="arrow arrow-down"></div>

效果如下:


锐角三角形

反之,我们令边框上下宽度小于左右宽度即可得到钝角三角形。
扩展:以上我们只是保留了一条边框的颜色,当然我们也可以保留两条边框颜色,例如保留上右边框颜色,可以得到另一个等腰直角三角形。我们同样可以令四条边框的宽度不一致,得到非等腰三角形。

要点:绘制三角形只需令元素宽高为0,设置合适的边框宽度,保留其中一条边框颜色,其余边框颜色设为透明。

相关文章

  • css实现三角形

    css三角形实现代码

  • css 实现三角形箭头

    插入DOM 使用伪类 参考:用纯CSS实现的箭头CSS画三角形原理css整理 -- 右箭头,上下箭头,三角形 这个...

  • css绘制三角形(border属性的使用)

    1 . 实现一个简单的三角形 使用css 盒模型中的border (边框) 即可实现如下的三角形: 实现原理: 首...

  • CSS绘制三角形—border法

    1. 实现一个简单的三角形 使用CSS盒模型中的border(边框)即可实现如下所示的三角形: 实现原理: 首先来...

  • CSS实现空心三角形

    背景:WEB开发中,三角形的日常应用,以三角形箭头最为常见,其用CSS来实现非常简单。 三角形的实现原理:是宽高都...

  • 2022css面试题总结

    H5 的新特性 css3 新特性 div 盒子居中 css 的弹性盒模型和怪异盒模型 css 实现三角形 浏览器兼...

  • css实现三角形

    今天学到的两种方式可以实现三角形,简单写一下 方法一: html代码: 我是三角形 css代码如下:用伪元素实现一...

  • 使用css画一些矢量图

    用纯CSS画一些矢量图:比如矩形、原型、半圆、扇形、三角形等等。重要的不是如何实现,而是在实现的过程中发现css还...

  • 前端面试题(1)

    企家有道(一面挂)2019.2.27 CSS实现三角形 数组乱序 for in 和 for of 区别 Promi...

  • css绘制三角形和对号

    CSS绘制三角形 div css 效果 CSS绘制对号 div css 效果

网友评论

    本文标题:css实现三角形

    本文链接:https://www.haomeiwen.com/subject/jxdanxtx.html