理论上1px已经是最小单位了,那如何画一条0.5px的线呢?
有以下两种方法
解决方法
采用meta viewport的方式
<meta name="viewport" content="width=device-width, initial-scale=0.5, minimum-scale=0.5, maximum-scale=0.5"/>
这样子就能缩放到原来的0.5倍,如果是1px那么就会变成0.5px
要记得viewport只针对于移动端,只在移动端上才能看到效果
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
div {
width: 200px;
height: 0.5px;
background-color: red;
transform: scale(.5);
transform: translate(500px, 500px);
}
</style>
</head>
<body>
<!-- 倍数缩小方式 -->
<div></div>
<!-- canvas画布方式 -->
<canvas id="drawing" width=" 200" height="200">A drawing of something.</canvas>
<!-- svg方式 -->
<svg id="svgLineTutorial" height="200px" width="200px" xmlns="http://www.w3.org/2000/svg">
<line x1="50" y1="50" x2="200" y2="200" style="stroke:Green;stroke-width:0.5"/>
</svg>
<script>
var drawing = document.getElementById("drawing");
if (drawing.getContext) {
var context = drawing.getContext("2d");
context.lineWidth = 0.5;
context.beginPath();
context.moveTo(30, 30);
context.lineTo(200, 100);
context.stroke();
}
</script>
</body>
</html>