CSS:为啥 chrome 中的字母在像素缩放中被不同的颜色包围?

Posted

技术标签:

【中文标题】CSS:为啥 chrome 中的字母在像素缩放中被不同的颜色包围?【英文标题】:CSS: why letters in chrome are surrounded with different color in pixel zoom?CSS:为什么 chrome 中的字母在像素缩放中被不同的颜色包围? 【发布时间】:2016-07-19 22:21:55 【问题描述】:

我有一个带有 h1 标头的 bootstrap jumbotron。当我将 h1 标题更改为 h2 时,我发现周围的字母颜色发生了变化:

带有 h1 标题的图像:

带有 h2 标题的图像:

image1 html 代码:

<div class="container">
  <div class="jumbotron">
     <h1>Admin Template</h1>
     <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do</p>
  </div>
</div>

image1 css 代码:

@media screen and (min-width: 768px)
.jumbotron h1, .jumbotron .h1 
    font-size: 63px;

.jumbotron h1, .jumbotron .h1 
    color: inherit;

h1, .h1 
    font-size: 36px;

h1, .h1, h2, .h2, h3, .h3 
    margin-top: 20px;
    margin-bottom: 10px;

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 
    font-family: inherit;
    font-weight: 300;
    line-height: 1.1;
    color: #fff;

h1 
    font-size: 2em;
    margin: 0.67em 0;

* 
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;

user agent stylesheet
h1 
    display: block;
    font-size: 2em;
    -webkit-margin-before: 0.67em;
    -webkit-margin-after: 0.67em;
    -webkit-margin-start: 0px;
    -webkit-margin-end: 0px;
    font-weight: bold;

Inherited from div.jumbotron
.jumbotron 
    padding-top: 30px;
    padding-bottom: 30px;
    margin-bottom: 30px;
    color: inherit;
    background-color: #252830;

Inherited from body
body 
    font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 14px;
    line-height: 1.42857143;
    color: #CFD2DA;
    background-color: #252830;
    font-weight: 300;

Inherited from html
html 
    font-size: 10px;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);

html 
    font-family: sans-serif;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;

Pseudo ::before element
*:before, *:after 
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;

Pseudo ::after element
*:before, *:after 
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;

image2 html 代码:

<div class="container">
  <div class="jumbotron">
     <h2>Admin Template</h2>
     <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do</p>
  </div>
</div>

image2 css 代码:

h2, .h2 
    font-size: 30px;

h1, .h1, h2, .h2, h3, .h3 
    margin-top: 20px;
    margin-bottom: 10px;

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 
    font-family: inherit;
    font-weight: 300;
    line-height: 1.1;
    color: #fff;

* 
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;

user agent stylesheet
h2 
    display: block;
    font-size: 1.5em;
    -webkit-margin-before: 0.83em;
    -webkit-margin-after: 0.83em;
    -webkit-margin-start: 0px;
    -webkit-margin-end: 0px;
    font-weight: bold;

Inherited from div.jumbotron
.jumbotron 
    padding-top: 30px;
    padding-bottom: 30px;
    margin-bottom: 30px;
    color: inherit;
    background-color: #252830;

Inherited from body
body 
    font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 14px;
    line-height: 1.42857143;
    color: #CFD2DA;
    background-color: #252830;
    font-weight: 300;

Inherited from html
html 
    font-size: 10px;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);

html 
    font-family: sans-serif;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;

Pseudo ::before element
*:before, *:after 
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;

Pseudo ::after element
*:before, *:after 
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;

对这种行为有什么解释吗? 是否可以始终用灰色包围文本?

【问题讨论】:

与文本反别名相关的内容。相关问题:***.com/questions/761778/… 那只是抗锯齿。 但为什么我有不同的行为?有时被不同的颜色包围,有时只有灰色 【参考方案1】:

尝试将此添加到您的文本属性中。

 -webkit-font-smoothing: antialiased;

谢谢。

【讨论】:

以上是关于CSS:为啥 chrome 中的字母在像素缩放中被不同的颜色包围?的主要内容,如果未能解决你的问题,请参考以下文章

为啥在图像分类的预处理步骤中按样本在 -1 和 1 之间缩放像素

宽度为 100% 的 CSS / div 高了几个像素/为啥?

为啥 IE 和 Chrome 呈现 css 边框底部宽度不同?

为啥 IE10 中的“font-size: 1em”比 Chrome 大?

为啥 CSS 属性 'line-height' 不能让我在 Chrome 中创建紧凑的行间距?

为啥在 webkit 浏览器下缩放 SVG 会变得模糊?