前端开发必备技能!用简单CSS代码绘制三角形,提升用户体验

这篇具有很好参考价值的文章主要介绍了前端开发必备技能!用简单CSS代码绘制三角形,提升用户体验。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  

前端开发必备技能!用简单CSS代码绘制三角形,提升用户体验,前端,css,前端面试题,css,前端

 🎬 江城开朗的豌豆:个人主页

 🔥 个人专栏 :《 VUE 》 《 javaScript 》

 📝 个人网站 :《 江城开朗的豌豆🫛 》 

⛺️ 生活的理想,就是为了理想的生活 !

前端开发必备技能!用简单CSS代码绘制三角形,提升用户体验,前端,css,前端面试题,css,前端

目录

 ⭐  专栏简介

 📘  文章引言

一、前言

二、实现过程

三、原理分析

⭐  写在最后


 ⭐  专栏简介

        欢迎来到前端入门之旅!这个专栏是为那些对Web开发感兴趣、刚刚开始学习前端的读者们打造的。无论你是初学者还是有一些基础的开发者,我们都会在这里为你提供一个系统而又亲切的学习平台。我们以问答形式更新,为大家呈现精选的前端知识点和最佳实践。通过深入浅出的解释概念,并提供实际案例和练习,让你逐步建立起一个扎实的基础。无论是HTML、CSS、JavaScript还是最新的前端框架和工具,我们都将为你提供丰富的内容和实用技巧,帮助你更好地理解并运用前端开发中的各种技术。

前端开发必备技能!用简单CSS代码绘制三角形,提升用户体验,前端,css,前端面试题,css,前端

        同时,我们也会关注最新的前端趋势和发展动态。随着Web技术的不断演进,前端开发也在不断推陈出新。我们会及时介绍最新的前端框架、工具和技术,使你能够站在前沿,与时俱进。通过掌握最新的前端技术,你将能够在竞争激烈的Web开发领域中有更大的竞争力。

前端开发必备技能!用简单CSS代码绘制三角形,提升用户体验,前端,css,前端面试题,css,前端

 📘  文章引言

一、前言

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

前端开发必备技能!用简单CSS代码绘制三角形,提升用户体验,前端,css,前端面试题,css,前端

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

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

二、实现过程

在以前也讲过盒子模型,默认情况下是一个矩形,实现也很简单

<style>
    .border {
        width: 50px;
        height: 50px;
        border: 2px solid;
        border-color: #96ceb4 #ffeead #d9534f #ffad60;
    }
</style>
<div class="border"></div>

效果如下图所示:

前端开发必备技能!用简单CSS代码绘制三角形,提升用户体验,前端,css,前端面试题,css,前端

border设置50px,效果图如下所示:

前端开发必备技能!用简单CSS代码绘制三角形,提升用户体验,前端,css,前端面试题,css,前端

白色区域则为widthheight,这时候只需要你将白色区域部分宽高逐渐变小,最终变为0,则变成如下图所示:

前端开发必备技能!用简单CSS代码绘制三角形,提升用户体验,前端,css,前端面试题,css,前端

这时候就已经能够看到4个不同颜色的三角形,如果需要下方三角形,只需要将上、左、右边框设置为0就可以得到下方的红色三角形

前端开发必备技能!用简单CSS代码绘制三角形,提升用户体验,前端,css,前端面试题,css,前端

但这种方式,虽然视觉上是实现了三角形,但实际上,隐藏的部分任然占据部分高度,需要将上方的宽度去掉

最终实现代码如下:

.border {
    width: 0;
    height: 0;
    border-style:solid;
    border-width: 0 50px 50px;
    border-color: transparent transparent #d9534f;
}

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

.border {
    width: 0;
    height: 0;
    border-style:solid;
    border-width: 0 50px 50px;
    border-color: transparent transparent #d9534f;
    position: relative;
}
.border:after{
    content: '';
    border-style:solid;
    border-width: 0 40px 40px;
    border-color: transparent transparent #96ceb4;
    position: absolute;
    top: 0;
    left: 0;
}

效果图如下所示:

前端开发必备技能!用简单CSS代码绘制三角形,提升用户体验,前端,css,前端面试题,css,前端

伪类元素定位参照对象的内容区域宽高都为0,则内容区域即可以理解成中心一点,所以伪元素相对中心这点定位

将元素定位进行微调以及改变颜色,就能够完成下方效果图:

前端开发必备技能!用简单CSS代码绘制三角形,提升用户体验,前端,css,前端面试题,css,前端

最终代码如下:

.border:after {
    content: '';
    border-style: solid;
    border-width: 0 40px 40px;
    border-color: transparent transparent #96ceb4;
    position: absolute;
    top: 6px;
    left: -40px;
}

三、原理分析

可以看到,边框是实现三角形的部分,边框实际上并不是一个直线,如果我们将四条边设置不同的颜色,将边框逐渐放大,可以得到每条边框都是一

当分别取消边框的时候,发现下面几种情况:

  • 取消一条边的时候,与这条边相邻的两条边的接触部分会变成直的
  • 当仅有邻边时, 两个边会变成对分的三角
  • 当保留边没有其他接触时,极限情况所有东西都会消失

通过上图的变化规则,利用旋转、隐藏,以及设置内容宽高等属性,就能够实现其他类型的三角形

如设置直角三角形,如上图倒数第三行实现过程,我们就能知道整个实现原理

实现代码如下:

.box {
    /* 内部大小 */
    width: 0px;
    height: 0px;
    /* 边框大小 只设置两条边*/
    border-top: #4285f4 solid;
    border-right: transparent solid;
    border-width: 85px; 
    /* 其他设置 */
    margin: 50px;
}

⭐  写在最后

请大家不吝赐教,在下方评论或者私信我,十分感谢🙏🙏🙏.

✅ 认为我某个部分的设计过于繁琐,有更加简单或者更高逼格的封装方式

✅ 认为我部分代码过于老旧,可以提供新的API或最新语法

✅ 对于文章中部分内容不理解

✅ 解答我文章中一些疑问

✅ 认为某些交互,功能需要优化,发现BUG

✅ 想要添加新功能,对于整体的设计,外观有更好的建议

最后感谢各位的耐心观看,既然都到这了,点个 👍赞再走吧!

前端开发必备技能!用简单CSS代码绘制三角形,提升用户体验,前端,css,前端面试题,css,前端文章来源地址https://www.toymoban.com/news/detail-726561.html

到了这里,关于前端开发必备技能!用简单CSS代码绘制三角形,提升用户体验的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • FPGA开发必备技能:MATLAB应用

    FPGA开发必备技能:MATLAB应用 FPGA作为一种高性能的可编程逻辑器件,在各个领域都有着广泛的应用。而MATLAB作为一个重要的科学计算软件,也能够在FPGA开发中发挥巨大的作用。本文将介绍如何使用MATLAB来进行FPGA开发。 首先,我们需要了解MATLAB的特点和功能。MATLAB是一款强大

    2024年03月16日
    浏览(39)
  • 服务端测试开发必备技能:Mock测试

    Mock 测试就是在测试活动中,对于某些不容易构造或者不容易获取的数据/场景,用一个Mock对象来创建以便测试的测试方法。 无法控制第三方系统接口的返回,返回的数据不满足要求 依赖的接口还未开发完成,就需要对被测系统进行测试 测试过程中如果大量使用Mock,mock测试

    2024年04月15日
    浏览(28)
  • JavaScript Web APIs2(2),GitHub标星1w的前端架构师必备技能

    应用:tab 栏切换 H5自定义属性 自定义属性目的:是为了保存并使用数据。有些数据可以保存到页面中而不用保存到数据库中。 自定义属性获取是通过getAttribute(‘属性’) 获取。 但是有些自定义属性很容易引起歧义,不容易判断是元素的内置属性还是自定义属性。 H5给我们新

    2024年04月09日
    浏览(36)
  • 测试开发工程必备技能之一:Mock的使用

    在实际产品开发过程中,某个服务或前端依赖一个服务接口,该接口可能依赖多个底层服务或模块,或第三方接口,比如说服务 A 依赖服务B,服务B又依赖服务 C,如下图所示: 这种依赖的问题会导致原本的需求目的是要验证服务A,但由于所依赖的服务B或者服务C不稳定或者

    2024年02月11日
    浏览(31)
  • 前端必备精美CSS样式,不来瞅瞅吗?

    我特别喜欢收集前端好看的特效代码,前端好用的网站。今天给大家分享出来,如果觉得有帮助可以 点赞收藏支持一下 ,如果能 关注 一下就再好不过了ヾ(≧▽≦*)o,之后还会分享许多干货,话不多说,上动图(网站在文章末尾): 目录 🍓按钮系列 🍇多选框系列 🍈开关

    2024年02月12日
    浏览(35)
  • 提升开发效率的必备技能:Spring集成Mybatis和PageHelper详解

    目录 引言 一、Spring集成MyBatis 1.1.pom依赖 1.2.配置文件 1.3.Spring整合MyBatis 1.3.1.配置自动扫描JavaBean 1.3.2.配置数据源 1.3.3.配置session工厂 1.3.4.配置mapper扫描接口 1.3.5.配置事物管理器 1.3.6.配置AOP自动代理 1.4.测试 二、Spring集成PageHeper 2.1.面向切面解决冗余代码 三、总结 3.1.注解解

    2024年02月11日
    浏览(30)
  • 开发必备技能:探索Spring MVC请求映射和参数绑定的奇妙之旅!

    1.1.1 环境准备 把环境准备好后,启动Tomcat服务器,后台会报错: 从错误信息可以看出: UserController有一个save方法,访问路径为 http://localhost/save BookController也有一个save方法,访问路径为 http://localhost/save 当访问 http://localhost/saved 的时候,到底是访问UserController还是BookController?

    2024年02月02日
    浏览(35)
  • 全栈工程师必须要掌握的前端CSS技能

    作为一名全栈工程师,在日常的工作中,可能更侧重于后端开发,如:C#,Java,SQL ,Python等,对前端的知识则不太精通。在一些比较完善的公司或者项目中,一般会搭配前端工程师,UI工程师等,来弥补后端开发的一些前端经验技能上的不足。但并非所有的项目都会有专职前

    2024年02月09日
    浏览(37)
  • chatgpt赋能python:Python如何分行——提高代码可读性和效率的必备技能

    分行,即将一行长代码分为多行,使得代码更加易读、易维护、易修改。 Python作为一门高级编程语言,具有简洁、易读、高效的特点。但在实际编程过程中,难免会遇到较长的代码行,导致代码可读性下降,不利于程序员的开发和维护。因此,Python中分行技术就显得尤为重要

    2024年02月08日
    浏览(34)
  • 前端开发攻略---根据音频节奏实时绘制不断变化的波形图。深入剖析如何通过代码实现音频数据的可视化。

    逐行解析 JavaScript 代码块: 这几行代码首先获取了  audio  和  canvas  元素的引用,并使用  getContext(\\\'2d\\\')  方法获取了 Canvas 2D 上下文对象,以便后续在画布上进行绘图操作。 initCvs  函数用于初始化画布的尺寸。它将画布的宽度设置为窗口宽度的倍数,高度设置为窗口高度

    2024年04月15日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包