美文网首页
如何优雅地实现一个三角形 ▲

如何优雅地实现一个三角形 ▲

作者: 燃_ef99 | 来源:发表于2017-05-25 18:10 被阅读0次

工作当中为了达到设计效果经常会遇到在页面实现一个三角形的需求,这里列举两个常用方法(坐稳发车😆)

例如所需场景如下图:

优雅的实现一个三角形-

1.利用CSS border 生成三角形

html (how to make love):​ 👱

<body>
<!--优雅的实现一个三角形-->
    <div class="triangle"></div>
</body>

css 👱

        body{
            height:500px;
            display: flex;
            justify-content: center;
            align-items: center;
            background-color: #3985ff;
        }
        .triangle{
            border: 10px solid;
            border-color: transparent transparent #fff;
        }

结果如图:

如何优雅的实现一个三角形-2.png

实现原理:

        .triangle{
            background-color: #000;
            /*width: 100px;*/
            /*height: 100px;*/
            border: 50px solid;
            border-color: rebeccapurple #5fd40d #fff darkorange;
        }

当给元素不给宽高给足边框时如图所示:


如何优雅的实现一个三角形-3.png

需要哪一边的三角形只需给剩下的边设置为透明色即可。

2.利用CSS clip-path polygon 裁剪出一个三角形

好用的现代黑科技😆
clip-path 是绝对能和transform 和 transition 相媲美的css3属性。具有无限的运用场景。

list.png

具体感受戳这里
及该网站作者自述创作的经过http://www.smashingmagazine.com/2015/06/the-making-of-in-pieces/感兴趣望详读🚼
html:

<body>
<!--优雅的实现一个三角形 clip-path -->
    <div class="triangle"></div>
</body>

css :

        body{
            height:500px;
            display: flex;
            justify-content: center;
            align-items: center;
            background-color: #3985ff;
        }
        .triangle{
            clip-path: polygon(50% 0, 0% 100%, 100% 100%);
            height: 10px;
            width: 15px;
            background-color: #fff;
        }

效果如图:

优雅的实现一个三角形4.png

实现原理:
clip-path 的polygon(多边形)根据点的坐标绘制一条闭合的遮罩区域。
clip-path详解MDN
移动端Android4.4以上和IOS9以上的系统支持该属性。

总结:

实际中通常用css border 给元素不给宽高只显示一边的方式来实现一个三角形。
clip-path 局限于兼容性问题。其稳定程度可在上述的MDN中查看得知。但确实是扫地圣僧级别😆

学习文章:
张鑫旭的博客
janily的clip-path 教程
十分感谢。
END ——😆🎃

相关文章

  • 如何优雅

    如何优雅?这是一个很流行,也很值得追问的问题。 如何优雅地读书?如何优雅地喝茶?如何优雅地跑步?如何优雅地追求女神...

  • 如何优雅地实现一个三角形 ▲

    工作当中为了达到设计效果经常会遇到在页面实现一个三角形的需求,这里列举两个常用方法(坐稳发车?) 例如所需场景如下...

  • 简短优雅地利用js实现 sleep 函数

    简短优雅地实现 sleep 函数 很多语言都有 sleep 函数,显然 js 没有,那么如何能简短优雅地实现这个方...

  • 如何优雅地使用 KVO

    如何优雅地使用 KVO 如何优雅地使用 KVO

  • 如何优雅地实现分页查询

    分页功能是很常见的功能,特别是当数据量越来越大的时候,分页查询是必不可少的。实现分页功能有很多种方式,如果使用的O...

  • 如何优雅地实现策略模式

    在 XMind iOS 版开发过程中, 需要对不同的布局方式选择不同的类来进行布局,所以需要用到策略模式来处理。在...

  • Metal学习(四) - 分屏播放

    在看了《如何优雅地实现一个分屏滤镜》后,就想用Metal学习着也实现一次,博主是使用GLSL去实现。Metal着色...

  • 如何优雅地实现一个分屏滤镜

    本文通过编写一个通用的片段着色器,实现了抖音中的各种分屏滤镜。另外,还讲解了延时动态分屏滤镜的实现。 一、静态分屏...

  • 学习笔记(六)

    5. 如何优雅地求助 怎样优雅地向别人求助,如果被拒绝,该怎么办。 如何优雅地求助 “优雅地求助”和“乞讨式求助”...

  • Swift学习资料

    文章: 如何优雅地在Swift4中实现Method Swizzling值类型和引用类型Core Animation

网友评论

      本文标题:如何优雅地实现一个三角形 ▲

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