代码之家  ›  专栏  ›  技术社区  ›  ey dee ey em

如何确保无论用户在chrome(或任何浏览器)中放大多少,都始终显示1px边框?

  •  2
  • ey dee ey em  · 技术社区  · 7 年前

    我知道这是一个亚像素计算的问题,我读到另外两个关于它的( 1 ,则, 2 )然而,我想知道是否有一个优雅的解决方案专门针对这种情况 在不改变规范的情况下(因为我知道如果在父容器周围添加额外的填充将避免它) https://codepen.io/adamchenwei/pen/GxKZpd 当用户放大50%时,框的边框宽度为1像素,悬停效果的背景色会以某种方式覆盖边框本身 *注意:我确实意识到我正在处理的实际组件,当我放大75%左右时,它会消失,因此请在将光标悬停在每个项目上时尝试不同的百分比,以查看右侧和底部的边框在特定缩放级别下何时消失,并非所有缩放级别都会观察到它!

    工作站:

    我正在开发一款带有最新Chrome浏览器的15.4英寸Macbook pro。

    CSS

    .container {
      border-width: 1px;
      border-color: lightgray;
      border-style: solid;
    }
    
    .aaa {
      &:hover {
        background-color: beige;
      }
    }
    

    HTML

    <div class='container'>
      <div class='aaa'>abc</div>
      <div class='aaa'>abc</div>
      <div class='aaa'>abc</div>
    </div>
    
    1 回复  |  直到 7 年前
        1
  •  5
  •   Kayleigh Bray    6 年前

    我找到的唯一解决方案(请参阅 here )在CSS中使用“thin”而不是“1px”,这并没有改变HTML。它似乎可以可靠地制作1px边界。

    此外,我无法用您共享的代码笔复制问题,以防未来的开发人员看到这一点并希望复制问题 this site 缩小时(对我而言)始终会产生错误。