我遇到了这个问题,我需要让用户更容易阅读文本,所以我使用了 1 px 的 letter-spacing,但它看起来很难看,所以我想我会使用半个像素所以 0.5px,但它不起作用,我尝试使用 em 属性,但没有完成任务。
那么有没有办法让字母间距半像素(如果可能的话,跨浏览器解决方案)
我遇到了这个问题,我需要让用户更容易阅读文本,所以我使用了 1 px 的 letter-spacing,但它看起来很难看,所以我想我会使用半个像素所以 0.5px,但它不起作用,我尝试使用 em 属性,但没有完成任务。
那么有没有办法让字母间距半像素(如果可能的话,跨浏览器解决方案)
早在 2008 年就报告了此错误并得到确认。因此,如果有人想侵入 webkit,那会让很多设计师感到高兴。
亚像素字母间距在 FF 上可以正常工作,但在 WebKit 上却不行(至少在 Windows 上)。看到这个测试用例:http:
//jsfiddle.net/fZYqL/2/
该测试还表明,问题不是亚像素文字值。em
在 Webkit 上也不支持使用导致小于 1px 字母间距的小数值,但在 Firefox 上同样有效。
此错误已在 Chromium 中修复并在 Chrome 30 中登陆。因此,Firefox、Chrome 和 Opera 现在支持小数值。
@Zach Re:小数像素。虽然它们在物理上并不存在,但它们是通过透明度和颜色变化进行数字模拟的。一个很好的例子是图标和类型的衬线。仔细观察看起来很细的线,很快就会发现它是通过用较浅的颜色渲染线条来模拟的,这会欺骗眼睛。因此,即使它们不存在,图形软件长期以来也能正确处理小数像素。遗憾的是 webkit 浏览器仍然没有。
回复:小数字母间距。它可以被指定并在非 webkit 浏览器中正常工作(一次对 IE 的赞誉)。在 webkit 浏览器中,字母间距四舍五入到最接近的整数(我相信它是向下四舍五入的)。这种舍入不仅在字母间距直接指定为小数像素时发生,而且在它被指定为百分比或 em 值并且以像素为单位的最终计算结果为小数像素时发生。非常令人沮丧。
子像素大小是合法的,但它们可能会在浏览器中产生不可预知的结果。文本之类的东西也试图将自己与整个像素对齐(正如 Phrogz 所说),因此产生的舍入错误可能会使事情看起来不均匀。
自 2013 年底以来,Webkit、Firefox、Chrome 和 Opera支持小数字母间距值。
由 CSS 技巧确认 - https://css-tricks.com/almanac/properties/l/letter-spacing/
我刚刚测试了它。