我对@CbIPoK2513的工作很感兴趣,他使用 CSS 技术创建了一个坐标网格,使用绝对测量单位 - 像素 (px)。
这是他对如何制作自适应坐标网格的答案的第一部分:
body {
--wM: 1px; /* Толщина линии */
--xM: 10px; /* Отступ по ширине */
--yM: 10px; /* Отступ по высоте */
--cM: #ccc; /* Цвет линии */
--wB: 1px; /* Толщина линии */
--xB: 100px; /* Отступ по ширине */
--yB: 100px; /* Отступ по высоте */
--cB: #333; /* Цвет линии */
background-position: -1px 0;
background-image:
linear-gradient(90deg, var(--cB) var(--wB), transparent var(--wB)),
linear-gradient(0deg, var(--cB) var(--wB), transparent var(--wB)),
linear-gradient(90deg, var(--cM) var(--wM), transparent var(--wM)),
linear-gradient(0deg, var(--cM) var(--wM), transparent var(--wM));
background-size:
var(--xB) 100%, 100% var(--yB),
var(--xM) 100%, 100% var(--yM);
}
#block {
width: 150px;
height: 150px;
border: 1px solid red;
box-sizing: border-box;
position: absolute;
left: 100px;
top: 50px;
}
<div id="block"></div> <!-- Для примера -->
作者:@CbIPoK2513
为方便起见,在调试和布局网页的各种设计元素时,使用这样的坐标网格作为背景(基板),以及展示这些元素的透明度。例如,@UModeL 贡献者在他的工作(答案)中使用了他自己在位图编辑器中绘制的图像。以下是此类用法的示例:
* {
margin: 0;
padding: 0;
}
body {
width: 100%;
height: 100vh;
background: url("https://isstatic.askoverflow.dev/m9NKc.png") 0% 0% no-repeat #eee;
}
问题:是否有其他选项可以使用问号中指示的任何其他方式和技术创建类似的坐标网格?
我尝试使用 HTML + CSS 和 JavaScript 创建这样的坐标网格。这就是我所做的:
但是,这种解决方案有两个缺点:
我建议最终确定这个解决方案并给出一个独立的答案。也欢迎任何其他个人答案。
JavaScript + 画布:
我想补充@Sevastopol 的回答:
我还要注意这里的第三个减号 - 该部分的每个单元格都是一个元素,并且有很多元素,这会加载页面,这很好。
我还想补充一点,您可以使用 CSS 以编号的形式向该网格添加“地标”,假设每 100 个像素:
减去:
可以解决: