HTML:亚像素边框

Fra*_*isc 8 html border subpixel

是否可以使用比1px更薄的边框并且在IE6 +中工作并且不是图像并且在视觉上正确呈现?

谢谢.

hal*_*bit 8

编辑:我已经监督了IE6限制,但我在这里留下答案给别人......

它可以transform:scale(0.5)border:1px;内部放置边框元素.所以你得到一个半像素边框,屏幕上会显示(虽然欺骗和浏览器依赖).但我用这个技巧进行打印.

当然,你必须调整元素的内容,或玩 position

.outer {
  border:1px solid green;
}

.halfpix {
  -ms-transform-origin: 0 0;
  -webkit-transform-origin: 0 0;
  transform-origin: 0 0;
  -ms-transform:scale(0.5);
  -webkit-transform:scale(0.5);
  transform:scale(0.5);
  width:200px;
  height:100px;
  border:1px solid black;
  }
Run Code Online (Sandbox Code Playgroud)
<div class="outer">
 
  <div class="halfpix">
    </div>
  zoom browser window if your browser does not display 
  </div>
Run Code Online (Sandbox Code Playgroud)

  • 这是回答这个问题的唯一答案.谢谢! (2认同)

cri*_*uin 7

我认为您可以使用em小于1px的单位来定义边框的宽度,并且它将是有效的.然而,就像Will Martin所说的那样,出于显示目的,它只会将其向上或向下舍入到整个像素.


Wil*_*tin 5

不能.您不能显示小于一个像素的尺寸,因为像素是显示器的基本单位.无论如何,我所知道的浏览器都不允许您指定子像素宽度.它们只是向上舍入到1px或向下到0px.

  • 凭借现代分辨率,这已不再适用.监视器可以渲染子像素质量的显示项目,并且许多字体实际上需要它以便在视网膜样式显示器上看起来像样. (3认同)