CSS实现三角形

CSS实现三角形

前言

本文讲解三种实现三角形的方式,并且配有图文以及代码解说。那么好,本文正式开始。

第一种:border+transparent

border 是边框,而transparent 是透明的颜色,下图为它俩结合实现的三角形样式。

javascript 复制代码
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>三角形</title>
		<style>
			* {
				margin: 0;
				padding: 0;
			}

			body {
				min-height: 100vh;
				background: linear-gradient(-135deg, #4230cc, #00aaff)
			}

			.demo {
				margin: 10px;
				float: left;
				width: 0;
				height: 0;
				border-left: 50px solid gray;
				border-top: 50px solid black;
				border-bottom: 50px solid lightblue;
				border-right: 50px solid lightgray;
			}

			.demo1 {
				margin: 10px;
				float: left;
				width: 0;
				height: 0;
				border-left: 50px solid gray;
				border-right: 50px solid transparent;
				border-top: 50px solid transparent;
				border-bottom: 50px solid gray;
			}

			.demo2 {
				margin: 10px;
				float: left;
				width: 0;
				height: 0;
				border-left: 50px solid transparent;
				border-top: 50px solid transparent;
				border-bottom: 50px solid lightblue;
				border-right: 50px solid lightblue;
			}

			.demo3 {
				margin: 10px;
				float: left;
				width: 0;
				height: 0;
				border-left: 50px solid lightgray;
				border-top: 50px solid lightgray;
				border-bottom: 50px solid transparent;
				border-right: 50px solid transparent;
			}

			.demo4 {
				margin: 10px;
				float: left;
				width: 0;
				height: 0;
				border-left: 50px solid transparent;
				border-top: 50px solid black;
				border-bottom: 50px solid transparent;
				border-right: 50px solid black;
			}
		</style>
	</head>
	<body>
		<div>
			<div class="demo"></div>
			<div class="demo1"></div>
			<div class="demo2"></div>
			<div class="demo3"></div>
			<div class="demo4"></div>
		</div>
	</body>
</html>

在上述代码中,主要是利用borderCSS 样式以及transparent 透明度来实现三角形调用,再class为demo 的div中,我们分别给上下左右边框赋不同的颜色且相同的大小时我们会发现,我们有四个不同方向 的三角形,那么我们就可以给其他任意两个方向的边框设置成透明,然后再给两个方向设置成相同颜色可以得到一个直角三角形,或者只给一个方向设置颜色也可以得到一个等腰三角形。

第二种border+rgb

javascript 复制代码
<!DOCTYPE html>
<html>
<head>
  <style>
    .rgb {
        width:0;
        height:0;
		border-top:50px solid gray;
        border-right:50px solid rgb(0, 0, 0,0);
        border-left:50px solid rgb(0,0,0,0);
        border-bottom:50px solid red;
    }
  </style>
</head>
<body>
  <div class="rgb"></div>

</body>
</html>

border+rgb属性也可以实现三角形效果,实现原因是rgb的第四个属性为透明度,和transparent透明颜色有异曲同工之妙,所以再某种程度上transparent=rgb第四个属性为0,所以border+rgb也可以实现相同的三角形效果。

使用unicode字符

unicode字符也可以实现三角形,不过不能改变它的方向,&#9650

javascript 复制代码
<!DOCTYPE html>
<html>
<head>
  <style>
    .str {
		font-size:100px;
    }
  </style>
</head>
<body>
  <div class="str">
	  &#9650
  </div>
</body>
</html>

这个也可以实现三角形效果,可以通过调用font-size 长度来对这个三角形字符大小进行调整。

相关推荐
开开心心就好2 小时前
批量提取PDF中的图片,直接导出原图
前端·javascript·支持向量机·智能手机·pdf·html·启发式算法
Setsuna_F_Seiei4 小时前
前端转型 Agent 开发 05 之 Agent Hooks 与 Checkpointer(让 Agent 从全自动转变人为可掌控)
前端·agent·ai编程
百万蹄蹄向前冲6 小时前
风扇转了一晚上MVP专家团翻车事故
前端·人工智能
默_笙6 小时前
🏛 给 AI 配一间办公室:Harness Engineering 六大模块与它的实现
前端·javascript
linux_cfan8 小时前
videojs v10 源代码系列解读:14 · 谓词守卫:在运行时安全地调用能力
前端·javascript·音视频
kyriewen8 小时前
我扒了 10,221 条 JD:腾讯技术岗 75% 在要 AI
前端·人工智能·ai编程
郑州光合科技余经理9 小时前
同城外卖小程序开发:下单成功后,后台导出能不能对上用户端状态
开发语言·前端·git·后端·uni-app·php·ai编程
IT_陈寒9 小时前
Vue的响应式让我熬到凌晨三点,原来漏了这个小细节
前端·人工智能·后端
Blanche150010 小时前
利用 RAG 为答疑机器人扩展知识范围
前端
天若有情67310 小时前
【纯前端小工具】公历生日转农历,批量查询每年农历生日对应的公历日期(GitHub Pages在线直接用)
前端·javascript·github pages·农历转换·lunisolar·网页小工具