gpt4 book ai didi

css - 为什么我的一半
的样式与其他的不同?

转载 作者:太空宇宙 更新时间:2023-11-04 06:20:30 25 4
gpt4 key购买 nike

我不知道为什么,但是当我尝试在 css 中设置水平规则的样式时,其他 hr 看起来都不一样。见下文:

https://i.imgur.com/ltZdncM

当我将边框大小增加到 2px 时,顶部和底部边框之间的间隙被填充,但是一半的水平线比其他的更粗。

我的代码:

hr {
border: 1px solid #07234f;
width: 300px;
}
    <body>
<hr>
<hr>
<hr>
<hr>
</body>

我希望所有的水平线看起来都相似。知道为什么它们看起来不同吗?我该如何解决这个问题?

最佳答案

您要在 hr 的所有边上放置一个边框。但是 Chrome,例如,已经有一个用户代理样式表,可以在 hr 上设置插入边框样式。我能够以各种 px 单位复制您的问题。

解决此问题的一种方法如下:

  1. 杀死用户代理样式表可能在你背后实现的任何边框:border: 0
  2. 然后沿单个边缘(顶部或底部)设置边框并将其设置为您想要的 px 值。 (我选择了 border-top: 2px。)
  3. hr 上设置一个等于您为 border-top 选择的像素值的明确高度,以防止(在本例中)Chrome 的用户代理样式表显示 border-style: inset 在你的元素上。

hr {
border: 0;
border-top: 2px solid #07234f;
height: 2px;
width: 300px;
}
<body>
<hr>
<hr>
<hr>
<hr>
</body>

另一种方法可能是自己显式设置各个 border 属性,以避免混淆 Chrome 应用哪种边框样式(看起来即使使用 border: 1px solid #000000,Chrome 仍然坚持应用 inset 样式)。

    hr {
border-width: 2px 0 0 0;
border-style: solid;
border-color: #07234f;
width: 300px;
}

更新

实现双线的一种方法是设置具有明确高度的顶部和底部边框:

    hr {
border-width: 2px 0 2px 0;
height: 4px;
border-style: solid;
border-color: #07234f;
width: 300px;
margin: 16px auto;
}

您也可以像这样使用 border-style: double:

    hr {
border-width: 4px 0 0 0;
border-style: double;
border-color: #07234f;
width: 300px;
margin: 16px auto;
}

另外,这里有一些灵感可以满足您的 hr 样式需求:https://css-tricks.com/simple-styles-for-horizontal-rules/

它有点过时,但可能会给您一些想法。

更新 2

虽然我确实在不同的缩放级别下仍然看到一些像差,但效果相当好。以下内容在正常缩放下对您有用吗?是否只有在手动缩放视口(viewport)时才会看到像差?

这是一个难题。

body {
background-color: lightblue;
}

hr {
border: 0;
width: 300px;
margin: 16px auto;
height: 2px;
background-image: url("data:image/svg+xml,%3Csvg width='300' height='2' viewBox='0 0 376 2' fill='none' xmlns='http://www.w3.org/2000/svg'%3E %3Cline y1='0.5' x2='300' y2='0.5' stroke='black' stroke-opacity='0.1'/%3E %3Cline y1='1.5' x2='300' y2='1.5' stroke='white' stroke-opacity='0.3'/%3E %3C/svg%3E ");
}

关于css - 为什么我的一半 <hr> 的样式与其他的不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55554149/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com