当前位置: 首页 > 面试题库 >

1px宽的对角条纹

毋举
2023-03-14
问题内容

我希望为元素提供重复的1px宽对角线条纹背景。似乎repeating-linear-gradient应该可以做到这一点,但是在Safari中呈现时:

background-image: repeating-linear-gradient(
    45deg, black, black 1px, transparent 1px, transparent 3px
);






#thing {

  height: 200px;

  background-image: repeating-linear-gradient( 45deg, black, black 1px, transparent 1px, transparent 3px);

}


<div id="thing"></div>

看来浏览器的别名处理不善,导致条带分布不均。关于如何解决此问题或完成我正在寻找的另一种方式的任何想法?


问题答案:

在这里,对难题的解释更为精巧:根据毕达哥拉斯原理(及其三元组),不可能有一个正方形(只是两个直角三角形组成的正方形),其边是整数,对角线的长度为整数。

这是因为1 2 +1 2 = sqrt(2)2。由于2的平方根是一个无理数,所以此值的所有导数(任何边长的平方是整数)都将具有一个无理对角线。

这是我能得到的最接近的值-指定一个整数正方形,但条纹的宽度将为非整数

#thing {
    height: 200px;
    background-image: linear-gradient(-45deg, black 25%, transparent 25%, transparent 50%, black 50%, black 75%, transparent 75%, transparent);
    background-size: 4px 4px;
}

假想正方形的边长(平铺在您的元素上)将为4px宽。这意味着对角线长度将为sqrt(32),并且在对角线跨度上(接近1,但不完全在那儿),条纹将为1.414… px,而在平行于x或y轴进行测量时,条纹将为2px宽。



 类似资料:
  • 我正在处理需要细垂直线的可视化。理想情况下,我希望它们是1px宽。当我使用默认的“range()”线性缩放宽度定位它们时,它们看起来具有不同的宽度,因为它们的计算位置并不总是整数个像素。不过,其中一些看起来正好是1像素宽(那些更亮)。 然而,当我在线性刻度上使用时,所有线条都具有相同的表观宽度,但它是2px,即使我明确指定了1px的描边宽度。使用 舍入会得到相同的结果。当我尝试使用0.5的笔画宽度

  • 我是从JSON文件而不是数据库获取数据。我试图根据JSON中的状态值为图标赋色,例如[if green?class1:class2]下面是我的代码。 我的HTML文件 下面是我的JSON文件。 这是我的CSS **我无法更改状态图标的颜色。我得到了这个错误** 错误类型错误:无法读取未定义的属性“status”

  • 我想使用 生成条形图,该条形图将遵循严格的标准: < li >它们必须有一定的尺寸(宽度和高度) < li >条形的宽度必须是固定的,以像素为单位,不管图中有多少条形 < li >条形之间的间距必须是固定的,以像素为单位,与条形的数量无关 我使用RStudio,这允许其查看器的响应能力。这意味着当我扩展观众的边界时,情节会相应地拉伸,增加条形的宽度和它们之间的间距。相反,使观看者的边界变小会使条形

  • 问题内容: 亲朋好友,是否可以增加放置在元素内部的滚动条的宽度? 我不是在谈论 浏览器本身 的默认滚动条,此页面以全屏模式运行,并且由于浏览器滚动条从不显示图片,因此内部元素具有自己的滚动条。 问题答案: 如果您谈论的是带有(或)自动出现在滚动条上的滚动条,那么没有,那仍然是浏览器使用常规OS小部件呈现的本机滚动条,而不是可以样式化的(*)。 虽然您可以按照Matt的建议,将其替换为由可样式化的d

  • 1px 方案在 VUX 组件内应用广泛,包括 Grid, ButtonTab, XTable, XButton, Cell 等等。 利用 Flexbox + 1px 你可以实现复杂的宫格布局。 引入 在你项目的App.vue引入,组件内不需要再重复引入。 <style lang="less"> @import '~vux/src/styles/1px.less'; </style> 可用类名:

  • 有人能告诉我们px:fp比率或代码来将fp转换成px吗 我正在构建HarmonyOS应用程序,我想将组件的宽度设置为20fp,但以像素为单位计算宽度。