Rumah >hujung hadapan web >tutorial css >如何利用css或html5画出一个三角形?两种不同的制作三角形方法(代码实例)

如何利用css或html5画出一个三角形?两种不同的制作三角形方法(代码实例)

青灯夜游
青灯夜游asal
2018-09-12 16:08:0410713semak imbas

我们在平时的前端开发的时候,有时候是需要一些小图形来丰富一下页面效果,比如:下拉列表的倒三角图形。那么这样的一个三角形是如何制作出来的,本章给大家介绍如何利用css或html画出一个三角形?两种不同的制作三角形方法(代码实例)。让大家知道如何用纯css代码实现三角形的绘制,或者使用html5是如何画三角形的。有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

一、利用css的border属性,即可实现三角形的绘制

代码:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>border 属性--绘制三角形</title>
		<style>
			.demo{
				height:0;
			    width:0;
			    overflow: hidden;
			    font-size: 0;
			    line-height: 0;
			    border-color:#FF9600 transparent transparent transparent;
			    border-style:solid dashed dashed dashed;
			    border-width:20px;
			}
		</style>
	</head>
	<body>
		<div class="demo"></div>
	</body>
</html>

效果图:

1.jpg

利用css的border属性实现三角形的原理:css盒模型

一个盒子模型包括: margin+border+padding+content,上下左右边框交界处出呈现平滑的斜线. 利用这个特点, 通过设置不同的上下左右边框宽度或者颜色可以得到小三角, 小梯形等.调整宽度大小可以调节三角形形状.

.demo {
    height:20px;
    width:20px;
    border-color:#FF9600 #3366ff #12ad2a #f0eb7a;
    border-style:solid;
    border-width:20px;
}

效果图:

2.jpg

当把height和width都设置成0后,得到:

3.jpg

把其他颜色都去掉,只留下橙色后,就得到一个三角形:

1.jpg

二、利用html5的canvas画布,即可实现三角形的绘制

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>canvas-绘制三角形</title>
	</head>
	<body>
		<canvas id="canvas" width="500" height="500">
    浏览器不支持canvas
</canvas>
<script>
        window.onload=function () {

            var canvas=document.getElementById("canvas");//获取canvas对象

            var ctx=canvas.getContext("2d"); //创建二维的绘图上下文对象

            ctx.beginPath();
            ctx.linewidth=20;
            ctx.lineJoin="round"; //两条线交汇时的边角类型(miter 尖角默认  bevel斜角 round 圆角 )
            ctx.moveTo(10,10);
            ctx.lineTo(110,10);
            ctx.lineTo(60,50);
            ctx.closePath(); //closePath() 关闭路径  闭合
            ctx.strokeStyle="blue";// strokeStyle 只能填充该路径的颜色
            ctx.fillStyle="red";// fillStyle 填充字体颜色、填充路径区域、图形区域
            ctx.fill();// fill() 填充字体
            ctx.stroke();
        }
    </script>
	</body>
</html>

效果图:

4.jpg

利用html5的canvas画布,即可实现三角形绘制的重点:

三角形在画布中的三个坐标:moveTo(10,10)----左上角坐标,ctx.lineTo(110,10)-----右上角 坐标, ctx.lineTo(60,50)----下面坐标


Atas ialah kandungan terperinci 如何利用css或html5画出一个三角形?两种不同的制作三角形方法(代码实例). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn