如何使用css绘制三角形
背景
用迪卡侬官方主页进行页面练习,发现头部导航栏需要使用到梯形

分析
图形分解

通过图片我们可以发现该梯形可以分解成一个长方形和一个直角三角形,长方形:110*65;直角三角形:11*65(底边*另一个直角边)
三角形代码分析
我们的重点就是那个如何使用css来绘制那个直角三角形(不考虑位置问题)
首先,如果元素里面没有任何内容或padding时,它的四个border是四个三角形,如下图

根据需求得知我们需要显示左边和下边的border,即border-left和border-bottom需要有颜色,其他边为transparent
但是需求要的是不等腰直角三角形(11*65),要求三角形的底边为11px,高度为65px
底边=三角形d的高+三角形b的高;高度=三角形c的高+三角形a的高
因此border-left和border-right的值为11 / 2 = 5.5px,border-bootom和border-top的值为65 / 2 = 32.5px
最终代码
<span id="triangle"></span>
#triangle {
border-color: transparent transparent #edeff1 #edeff1;
border-style: solid;
border-width: 32.5px 5.5px;
}
注意:该代码仅为逻辑代码,单独使用效果可能会不太好
如何使用css绘制三角形的更多相关文章
- CSS 魔法系列:纯 CSS 绘制三角形(各种角度)
我们的网页因为 CSS 而呈现千变万化的风格.这一看似简单的样式语言在使用中非常灵活,只要你发挥创意就能实现很多比人想象不到的效果.特别是随着 CSS3 的广泛使用,更多新奇的 CSS 作品涌现出来. ...
- css绘制三角形原理
1.新建一个元素,将它的宽高都设置为0:然后通过设置border属性来实现三角形效果,下面是css绘制三角形的原理: <!DOCTYPE html> <html> <he ...
- CSS学习笔记(8)--纯CSS绘制三角形(各种角度)
纯CSS绘制三角形(各种角度) CSS三角形绘制方法,学会了这个,其它的也就简单. 我们的网页因为 CSS 而呈现千变万化的风格.这一看似简单的样式语言在使用中非常灵活,只要你发挥创意就能实现很多 ...
- CSS绘制三角形和箭头,不用再用图片了
前言 还在用图片制作箭头,三角形,那就太lou了.css可以轻松搞定这一切,而且颜色大小想怎么变就怎么变,还不用担心失真等问题. 先来看看这段代码: /**css*/.d1{ width: 0; he ...
- CSS绘制三角形和箭头
<html> <head> <meta charset="utf-8"> <title>CSS绘制三角形和箭头</title& ...
- 用CSS绘制三角形
其实用HTML CSS绘制三角行 是非常简单的 ,我在网上看了不少人写的博客,里面写的好复杂样子,反正我是看的云里雾里的,说实话是挺简单的. 首先提出一段代码: <!DOCTYPE html&g ...
- 纯Css绘制三角形箭头三种方法
在制作网页的过程中少不了绘制类似图片的三角形箭头效果,虽然工程量不大,但是确实麻烦.在学习的过程中,总结了以下三种方法,以及相关的例子. 一.三种绘制三角形箭头方法 1.方法一:利用overflow: ...
- CSS绘制三角形的原理剖析
今天学习Bootstrap时候,看到按钮的向下三角形源码: .caret { display: inline-block; ; ; margin-left: 2px; vertical-align: ...
- 纯CSS绘制三角形(各种角度)
我们的网页因为 CSS 而呈现千变万化的风格.这一看似简单的样式语言在使用中非常灵活,只要你发挥创意就能实现很多比人想象不到的效果.特别是随着 CSS3 的广泛使用,更多新奇的 CSS 作品涌现出来. ...
- 纯CSS绘制三角形(各种角度)类似于使用字符画法,根据位移不同,也可以使用两个元素画出三角边框
我们的网页因为 CSS 而呈现千变万化的风格.这一看似简单的样式语言在使用中非常灵活,只要你发挥创意就能实现很多比人想象不到的效果.特别是随着 CSS3 的广泛使用,更多新奇的 CSS 作品涌现出来. ...
随机推荐
- Ubuntu 系统下搭建 SRS 流媒体服务器
一.克隆项目 git clone https://github.com/ossrs/srs 二.执行编译 cd srs/trunk sudo ./configure && make 三 ...
- Linux数据实时同步(sersync+rsync)
一.Slave服务器配置 1.在Slave服务器上安装Rsync [root@slave ~]# rpm -ivh rsync-3.1.2-11.el7_9.x86_64.rpm ###rpm 自行下 ...
- vue增强第三方UI库(element-ui)
vue增强第三方UI库(element-ui) 目前笔者了解有以下思路拓展第三方ui库,此系列以element-ui作为例子 指令. 混入. 二次封装. fork一份element-ui仓库,修改代码 ...
- 四大组件之广播接收者BroadcastReceiver
参考:Android开发基础之广播接收者BroadcastReceiver 什么是广播接收者? 我们小时候都知道,听广播,收听广播!什么是收听广播呢?打开收音机,调频就可以收到对应的广播节目了.其实我 ...
- 使用elemeng-plus控制台报错:$weight
使用element-plus最开始按需使用,加入的组件少没有问题,但组件引入多了以后发现控制台会报下面的警告: Deprecation Warning: $weight: Passing a numb ...
- springboot集成xxl-job问题
Client-error:unknown code for readObject at 0x3c (<) 原因之一是classNotFoundRxception :com.caucho.hess ...
- JS form表单数据校验及失效情况下的解决方案
如下图,当执行提交操作之前,我们需要对序号,要求完成时间,责任人,措施内容四项进行非空,字符长度及输入内容的类型进行校验. 直接贴样式代码 <div class="wrapper an ...
- Burp学院-SQL注入
前言: 上传下自己做的笔记,这些题做了好久好久了,一直没冒泡,之前想上传些东西结果博客园炸了就忘了,周五快下班了手头工作暂时缓解了,传点东西上来. 1.SQL injection UNION atta ...
- python调用golang代码
一.调用步骤: 将go代码编译成so库 -> python中通过ctypes引用so库并指定需要调用的函数(同时可指定传入参数类型和返回值类型) -> 指定后按python使用函数方式调用 ...
- FreeRdp(一):主要数据结构
/** RDP连接实例 * 这是创建连接后的客户端选项 * 数据结构申请内存调用freerdp_new,释放为freerdp_free */ struct rdp_freerdp { ALIGN64 ...