纯CSS画三角形

纯CSS画三角形之前遇到过的问题如果查了然后懂了,然后没有及时复盘思考,就很容易还回去,今天把许久之前的这个知识点再整理一下,一是加深自己的记忆,二也是让初学者更容易懂。首先,创建一个空的div<divclass="triangle"></div>然后,CSS处理它的边框,给它不一样的颜色,好观察.triangle{border-left:100pxs…

大家好,又见面了,我是你们的朋友全栈君。

之前遇到过的问题如果查了然后懂了,然后没有及时复盘思考,就很容易还回去,今天把许久之前的这个知识点再整理一下,一是加深自己的记忆,二也是让初学者更容易懂。

首先,创建一个空的div
<div class="triangle"></div>
然后,CSS处理它的边框,给它不一样的颜色,好观察

.triangle{ border-left:100px solid red; border-right:100px solid black; border-top:100px solid green; border-bottom:100px solid pink; ·}

结果,运行出来是这样的
这里写图片描述
div的宽占据了整个浏览器,因为我们没有给它设置宽度高度,它的值是auto,所以就占据了整个浏览器,导致我们的上下边框特别的长。
这时,我们给它设置一下宽度

.triangle{ width:0; border-left:100px solid red; border-right:100px solid black; border-top:100px solid green; border-bottom:100px solid pink; }

结果是这样子的
这里写图片描述
这个结果我非常满意,看到这里你们应该也知道三角形怎么截取了,而且是任意方向(上下左右)的三角形。
解释一下
四个方向的border其实是有重叠部分的,在四条边框都有值的情况下,左上角的正方形就由左边框和上边框分割,以此类推,而左矩形理所应当是归属左边距,以此类推。
上面的图形,因为宽高为0,所以其实只有四个正方形在被分割,所以也才会呈现四个三角形。
为了更形象的表达,我给div加了宽高

    .triangle{ width:50px; height:50px; border-left:100px solid red; border-right:100px solid black; border-top:100px solid green; border-bottom:100px solid pink; }

然后是这样子的
这里写图片描述
这样子,你们就很清楚的知道边框是怎么分割的以及它为什么会呈现这个图案,下面我手动分割@依旧不懂的同学,到这里你应该懂我说的了。
手动分割

回到原来的问题,我们应该怎么得到三角形呢?
有的同学可能会以为是直接把其他三个方向的边框去掉,那你会发现,div不见了!因为任意三个方向的边框为0,都会使4个正方形都消失,只剩下一个矩形,然而我们的宽高为0,因此,就使图形消失。再来看看这个图案。
这里写图片描述
比如我们想得到向右的三角形
那么,我先去掉右边的边框总可以吧,这样子就会去掉蓝色框框内的内容
这里写图片描述
呈现这样子
这里写图片描述
再想一步,怎么才能让绿色的块和粉红色的块去掉,有同学想,我们把它们设置成背景颜色就好啦!于是就有人设置成默认的白色。
这里写图片描述
看似我们把三角形画出来,但是假如换了一个背景色,我们就要手动去换边框的颜色,这里介绍一个属性值:transparent,表示透明。
完整的CSS如下:

    .triangle{ width:0px; border-left:100px solid red; border-top:100px solid transparent; border-bottom:100px solid transparent; }

CSS画三角形的介绍就到这里,大家也可以用span标签来话,但是会发现有一个纵向的高度,一开始我以为是line-height导致的,试了一下,发现是font-size导致的,所以只要把font-size设置为0就ok了,完整的CSS如下:

    .triangleSpan{ font-size: 0; border-left:100px solid red; border-top:100px solid transparent; border-bottom:100px solid transparent; }

假如你们不满足于四个方向的三角形,那么可以运用CSS3的属性,随便你旋转

div{ transform:rotate(7deg); -ms-transform:rotate(7deg); /* IE 9 */ -moz-transform:rotate(7deg); /* Firefox */ -webkit-transform:rotate(7deg); /* Safari 和 Chrome */ -o-transform:rotate(7deg); /* Opera */ }
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/149157.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 内存管理(一)_内存管理技术有哪些

    内存管理(一)_内存管理技术有哪些内存管理(一)

    2022年4月21日
  • C语言switch语句的用法详解_c语言switch语句例题

    C语言switch语句的用法详解_c语言switch语句例题C语言虽然没有限制ifelse能够处理的分支数量,但当分支过多时,用ifelse处理会不太方便,而且容易出现ifelse配对出错的情况。例如,输入一个整数,输出该整数对应的星期几的英文表示:#includeintmain(){inta;printf(“Inputintegernumber:”);scanf(“%d”,&a);if(a==1){printf(“Mo…

    2022年8月30日
  • SVN使用 IDEA集成SVN SVN简介 SVN使用详解 SVN学习之路

    SVN使用 IDEA集成SVN SVN简介 SVN使用详解 SVN学习之路文章目录SVN介绍与使用一、SVN引入1.SVM服务器搭建2.需要了解的关键词3.如何让系统共享信息,并且不互相干扰。4.SVN架构二、SVN的操作1.安装tortoisesSvn2.初始化拉去仓库3.提交4.拉取服务器上最新版本5.解决冲突三、Idea集成SVN3.1配置3.2关联服务器仓库SVN介绍与使用一、SVN引入SVN==Subversion它是一个自由/开源的集中式版本控制系统,一组文件存放在中心版本库,记录每一次文件和目录的修改,Subversion允许把数据

    2022年10月11日
  • offes破解2022激活码(注册激活)「建议收藏」

    (offes破解2022激活码)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年4月1日
  • 积分上限函数_定积分的基本计算方法

    积分上限函数_定积分的基本计算方法设函数$f(x)$在区间$[a,b]$上可积,对任意的$x\in[a,b]$,做变上限积分$$\Phi(x)=\int_{a}^{x}f(t)dt$$这个积分称为函数$f(x

    2022年8月2日
  • 四十一、SPSS中的t检验和卡方检验[通俗易懂]

    四十一、SPSS中的t检验和卡方检验[通俗易懂]@Author:ByRunsen@Date:2020/5/14在2020年一月初,也是我大三上的寒假,我开始写书,为什么呢?因为化工原理和化工热力学挂了,我需要重拾自己的自信。对于一个大学三年,每天往死里干的人,竟然挂了两科。虽然,我化工专业已经陷入了绝境,大学我主要学习日语,Python,Java和一系列数据分析软件。所以本专栏数据分析将使用Excel,Powerbi,Python,R,Sql,SPSS,stata以及Tableau,后面还会补充BI。第五章应该是二月份完成的。文章目

    2022年5月16日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号