美文网首页让前端飞Web前端之路网页前端后台技巧(CSS+HTML)
web前端入门到实战:CSS实现空心三角指示箭头原理

web前端入门到实战:CSS实现空心三角指示箭头原理

作者: 大前端世界 | 来源:发表于2019-12-05 22:27 被阅读0次

web开发中,三角形的日常应用,以三角形指示箭头最为常见,其用CSS来实现非常简单,熟悉了之后相比于引入SVG或是背景图片会是更好更灵活的选择。

而三角箭头一般而言,又分为两种,一种是视觉上没有边框的,我们叫做实心三角形;还有一种是视觉上有边框的,而三角箭头刨去边框的部分又要与主体元素的背景颜色一致,我们叫做空心三角形。

言归正传,讲一下怎样实现的。

首先,讲一下三角形的实现原理,熟悉的同学可以跳过这一步。

三角形实现原理

三角形的实现原理是宽高都不设置(即为0),只设置边框,如果四个边框都设置宽度(border-width)、样式(border-style)和颜色(border-color),效果如图:

上面是四个边框border-width一样时的效果,其实border-width是可以自己根据需求来变化的,如下图效果:

上面看到的都是四个三角形,其实想实现单个的三角形只需把其他三个三角形的border-color设置为透明色transparent就可以了(2017年还用考虑IE6吗)。

这样就实现三角形了。

实心三角形箭头

实心三角形的原理就是一个三角形绝对定位到主体元素边界处并连接起来。

为了语义化,我们用单标签,三角形用伪类来实现。

把三角形颜色换成和主体元素一致的背景色就可以了。如下图:

空心三角箭头

空心三角形的原理就是一个边框颜色的三角形绝对定位到主体元素边界处并连接起来,然后另一个主体元素背景色的三角形绝对定位并覆盖到第一个三角形上面,关键的一点是第二个三角形相较于第一个三角形定位上偏移的距离应等于边框宽度。

说得可能比较晦涩,看效果图会更清楚明白(为了区分显示,第一个三角形用的粉色,第二个白色)

把第一个三角形颜色换成边框颜色,第二个三角形颜色换成背景颜色就可以了。

为了语义化,我们使用单标签,两个三角形用before和after伪类来实现,因为after伪元素会覆盖before伪元素,所以after伪元素就是第二个三角形。

第二个三角形定位的偏移距离

这是比较容易被忽略的一点!

为了视觉效果,也为了用户体验,我们应该将三角箭头的边框宽度和主体元素的边框宽度保持一致。

一般可能会有同学认为第二个三角形的偏移值和主体元素边框宽度一样,其实是不对的。

第二个三角形相较于第一个三角形的偏移值其实应该是主体元素边框宽度的"根号2"倍,约为1.414,为了方便可以按1.4倍计算。

下图是原理图:

假设主体元素边框宽度为6px,所以第二个三角形相较于第一个三角形的偏移量应为6px*1.4 = 8.4px

相关文章

  • web前端入门到实战:CSS实现空心三角指示箭头原理

    web开发中,三角形的日常应用,以三角形指示箭头最为常见,其用CSS来实现非常简单,熟悉了之后相比于引入SVG或是...

  • animation参考

    web前端入门到实战:10分钟入门 CSS3 Animation - 前端天宇的文章 - 知乎https://zh...

  • css 实现三角形箭头

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

  • CSS实现空心三角形

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

  • web前端入门到实战:css简单实现带箭头的边框

    实现一个普通边框 实现由四个三角形组成的正方形 三角形 将左右下边颜色设置为透明 transparent,得到向下...

  • 类图

    ┄▷ 空心三角箭头-虚线 实现关系(继承抽象类)车和小汽车或车和自行车―▷ 空心三角箭头-实线 ...

  • UML

    类继承实心线,空心三角箭头 接口继承(接口实现,OC遵守协议)虚线,空心三角箭头 依赖(A依赖B:类B作为参数被类...

  • web前端入门到实战:通过CSS边框实现三角形和箭头

    一、CSS盒子模型 盒子包括:margin、border、padding、content边框交界处呈现平滑的斜线,...

  • 设计模式 UML 建模

    继承 表示方法:用实线空心三角箭头表示。(由子类指向父类) 接口 表示方法:空心三角形箭头的虚线。(有实现类指向接...

  • web前端入门到实战:CSS定位

    一、什么是定位 改变元素在页面中的位置 二、定位的分类 三、普通流定位 页面中元素的默认定位方式,默认文档流,从上...

网友评论

    本文标题:web前端入门到实战:CSS实现空心三角指示箭头原理

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