【问题标题】:How can I make a div height smaller than one pixel on mobile device?如何在移动设备上使 div 高度小于一个像素?
【发布时间】:2026-02-20 22:40:01
【问题描述】:

我正在尝试创建一个列表视图,并在每个元素的底部用一条浅线将它们分开(我的网站只是一个移动网站)。 我注意到,1px 在我的 iphone pro 11 max 和我的三星 a5 上具有不同的高度... 我认为没有什么比 1px 更小的了,但是,似乎在 em 中设置了高度,更小(对我来说更漂亮)。 我可以像这样在我的所有身高上使用 0.03em 吗? (1px 太大太丑了)。 这是我的演示:https://codepen.io/lokomass/pen/ExVKQjK

<div class="page">
<div class="page-content">
    <div class="content-block">
        <div class="list-block">
            <ul>
                <li class="a">
                    <div class="item-content">
                        <div>ligne</div>
                    </div>
                </li>
                <li class="b">
                    <div class="item-content">
                        <div>ligne</div>
                    </div>
                </li>
                ...
            </ul>
        </div>
    </div>
</div>

ul {
      list-style: none;
}
li {
      padding: 10px 0;
      position: relative;
}
li:after {
    left: 0;
    bottom: 0;
    top: auto;
    right: auto;
    width: 100%;
    z-index: 15;
    content: '';
    display: block;
    position: absolute;
    background-color: #000;
    transform-origin: 50% 100%;
    -webkit-transform-origin: 50% 100%;
}
.a:after {
    height: 1px;
}
.b:after {
    height: 0.03em;
}

Here is a snap from my iphone

【问题讨论】:

  • 尝试用rgb改变这个高度的颜色,变成灰色。

标签: html css mobile height pixel


【解决方案1】:

不,但您可以添加不透明度,使其看起来更小。 :) 或者改变颜色。 试试这个:

ul {
      list-style: none;
}
li {
      padding: 10px 0;
      position: relative;
}
li:after {
    left: 0;
    bottom: 0;
    top: auto;
    right: auto;
    width: 100%;
    z-index: 15;
    content: '';
    display: block;
    position: absolute;
    background-color: #000;
    transform-origin: 50% 100%;
    -webkit-transform-origin: 50% 100%;
}
.a:after {
    height: 1px;
}
.b:after {
    height: 0.03em;
  opacity:0.5;
}
.c:after {
    height: 1px;
  background-color:#B2B2B2;
}
<div class="page">
<div class="page-content">
    <div class="content-block">
        <div class="list-block">
            <ul>
                <li class="a">
                    <div class="item-content">
                        <div>ligne</div>
                    </div>
                </li>
                <li class="b">
                    <div class="item-content">
                        <div>ligne</div>
                    </div>
                  
                <li class="c">
                    <div class="item-content">
                        <div>ligne</div>
                    </div>
                </li>
                ...
            </ul>
        </div>
    </div>
</div>

【讨论】:

  • 感谢您的回复,但是当我放大我的 iphone 时,我看不出 1px 和 0.3em 之间的区别,如何使用 epxlain 这个?
  • 当您放大时,您会明显看到不同之处。然而,在 HTML 和 CSS 中,实际上不能让高度/宽度小于 1px,并且所有似乎使用小于 1px 元素的 UI/UX 应用程序只是使用较浅的颜色或花哨的渐变技巧来使元素看起来更窄。