经典面试题:如何使用CSS画一个三角形?

有时候,不是因为你没有能力,也不是因为你缺少勇气,只是因为你付出的努力还太少,所以,成功便不会走向你。而你所需要做的,就是坚定你的梦想,你的目标,你的未来,然后以不达目的誓不罢休的那股劲,去付出你的努力,成功就会慢慢向你靠近。

导读:本篇文章讲解 经典面试题:如何使用CSS画一个三角形?,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

文章目录

一、前言

二、如何实现?

1.实现简易三角形

2.实现空心三角形

三。小结


一、前言

 在前端开发的时候,我们有时候会需要用到一个三角形的形状,比如地址选择或者播放器里面播放按钮,

通常情况下,我们会使用图片或者svg去完成三角形效果图,但如果单纯使用css如何完成一个三角形呢?

实现过程似乎也并不困难,通过边框就可完成

 经典面试题:如何使用CSS画一个三角形?

二、如何实现?

1.实现简易三角形

前置小知识:当块级元素宽高都为0,且只设置边框的时候,则会构成正方体。具体实现如下

            div {
                width: 0;
                height: 0;
                border: 50px solid red;
            }

效果如下

经典面试题:如何使用CSS画一个三角形?

 实质上上下左右的边框都是一个三角形,所以我们 显示我们想要的三角形,隐藏其他三个方向的三角形即可。

假如我们想留下上边的三角形

            div {
                width: 0;
                height: 0;
                /* 排他思想,给全部的边框设置为透明 */
                border: 50px solid transparent;
                /* 单独给你想要的三角形设置样式 */
                border-top: 100px solid red;
            }

效果如下

经典面试题:如何使用CSS画一个三角形?

2.实现空心三角形

   如果想要实现一个只有边框是空心的三角形,由于这里不能再使用border属性,所以最直接的方法是利用伪类新建一个小一点的三角形定位上去

(1).当为div添加伪类利用绝对定位 初始定位left:0 right:0,后面再进行调整

            div {
                width: 0;
                height: 0;
                border: 50px solid transparent;
                border-bottom: 50px solid red;
                position: relative;
            }
            div::after {
                content: '';
                border: 40px solid transparent;
                border-bottom: 40px solid green;
                position: absolute;
                top: 0px;
                left: 0px;
            }

现在初始的效果如下

经典面试题:如何使用CSS画一个三角形?

(2).随后再对伪类元素(绿色三角形)进行位置的调整和设置 border-bottom颜色为white,达到中间空心的效果

代码如下

            div {
                width: 0;
                height: 0;
                border: 50px solid transparent;
                border-bottom: 50px solid red;
                position: relative;
            }
            div::after {
                content: '';
                border: 40px solid transparent;
                /* 将伪类元素的三角形设置为白色,达到空心的效果 */
                border-bottom: 40px solid white;
                position: absolute;
                /* 调整伪类元素的位置 */
                top: -34px;
                left: -39px;
            }

达到的最终效果如下

 经典面试题:如何使用CSS画一个三角形?

三。小结

以上我们实现了用css绘制三角形的两种方法,再实际开发中应该也会遇到,我们不仅仅可以使用字体图标库实现需求,我们自己也可以通过原生的css实现需求。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/148354.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!