Chrome 61的CSS问题

时间:2017-09-12 09:02:04

标签: css google-chrome

我在我的网站上使用自定义水平规则CSS样式。它看起来如下:

Styled HR in Firefox

但是,由于我已将Google Chrome更新为版本61,因此该符号的行高会被忽略,它看起来像这样:

HR in Chrome 61

我使用以下代码:

hr {
    background: #ccc;
    border: 0;
    height: 1px;
    line-height: 1 !important;
    margin: 20px 0;
    text-align: center;
    clear: both;
}
hr:after {
    content: '\f0c4';
    display: inline-block;
    position: relative;
    top: -10px;
    padding: 0 10px;
    background: #fff;
    color: #ccc;
    font-family: 'FontAwesome';
    font-size: 20px;
}

2 个答案:

答案 0 :(得分:6)

overflow属性似乎在<hr>元素上有一个新的默认值。

看起来价值从visible更改为hidden,因此隐藏了图标。您可以将overflow:visible添加到<hr>元素,以再次显示您的图标。

&#13;
&#13;
hr {
  background:#ccc;
  border:0;
  clear:both;
  height:1px;
  line-height:1 !important;
  margin:20px 0;
  overflow:visible;
  text-align:center;
}
hr:after {
  background:#fff;
  color:#ccc;
  content:'\f0c4';
  display:inline-block;
  font-family:'FontAwesome';
  font-size:20px;
  padding:0 10px;
  position:relative;
  top:-10px;
}
&#13;
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"/>
<hr/>
&#13;
&#13;
&#13;

  

提示:我建议您使用normalize.css来避免此类问题。

答案 1 :(得分:0)

请将position:relative更改为position:absolutetop:10px

&#13;
&#13;
hr {
    background: #ccc;
    border: 0;
    height: 1px;
    line-height: 1 !important;
    margin: 20px 0;
    text-align: center;
    clear: both;
}

hr:after {
    content: '\f0c4';
    display: inline-block;
    position: absolute;
    top: 10px;
    padding: 0 10px;
    background: #fff;
    color: #ccc;
    font-family: 'FontAwesome';
    font-size: 20px;
}
&#13;
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<hr>
&#13;
&#13;
&#13;