Div在字体大小上的高度增加:嵌套链接中为0px

亚历克斯

我有以下代码。这是响应式设计的简化代码:在特定的屏幕尺寸下,我只想显示图标(蓝色-via ::before),而不显示文本。

当我尝试通过font-size: 0(在:: before中将有一个图标)隐藏邮件地址时,标题的高度会增加。

当然可以使用max-height-但是有没有更清洁的解决方案?

小提琴:https//jsfiddle.net/xs2wre4r/

<div class="header"> 

<span class="store-contact-email">
  <a href="mailto:[email protected]">[email protected]</a>
</span>
</div>


<div class="header">

<span class="store-contact-email">
  <a class="hide" href="mailto:[email protected]">[email protected]</a>
</span>
</div>

左.header框架计算= 25像素右.header框架计算= 30像素

  .header {
    float: left;
  }
  .header .store-contact-email a:before {
      line-height: 18px;
      vertical-align: -36%;
      padding-right: 5px;
      background-color: blue;
      width: 30px;
      display: inline-block;
  }
  .header .store-contact-email a:before {
      content: "x";
  }

  .store-contact-email {
    border: 1px solid red;
  }
  .store-contact-email a  {
    font-size: 18px;
  }


  .store-contact-email a.hide  {
    font-size: 0px;
  }
李斯特先生

问题在于::before的字体大小
由于第二个字体的字体大小为0,线高为18,因此它将垂直放置在基线周围,上方9px,下方9px。第一个(具有正常的字体大小)将正常放置(取决于确切的字体),例如上方14像素和下方4像素。

(您也可以vertical-align使用::before,但这不会改变情况;它将两个::before向下移动6.48像素。)

因此,由于第二个框的位置比第一个框的位置低5像素,因此边框的底部将向下推5像素。

为了显示,

span {
  font-size: 18px;
  border: 1px solid red;
  background: rgba(255, 255, 0, .4);
}
span::before {
  line-height: 18px;
  vertical-align: -36%;
  border: 1px solid blue;
  background: rgba(0, 255, 255, .4);
  width: 30px;
  display: inline-block;
  content: "x";
}
span.hide {
  font-size: 0;
}
<span>visible</span>
<span class="hide">invisible</span>

解决方案:不要使用font-size:0技巧。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

自适应iframe上的Div高度为0px

来自分类Dev

嵌套在另一个SVG元素中的SVG元素的大小为0px * 0px

来自分类Dev

元素的高度为 0px

来自分类Dev

如何在 ubuntu 20.10 中为在 wine 上运行的程序全局增加字体大小?

来自分类Dev

外部<div>高度0px

来自分类Dev

Div高度为0px,因此不显示背景img

来自分类Dev

在RStudio中增加字体大小

来自分类Dev

在Qt中增加字体大小

来自分类Dev

增加 Seamonkey 书签中的字体大小

来自分类Dev

如何增加javascript中的字体大小?

来自分类Dev

增加字体大小以适合高度TextView Android

来自分类Dev

在Bootstrap Modal中嵌入Google Maps时,高度和宽度均设置为0px

来自分类Dev

砌体布局加载高度为0px

来自分类Dev

在移动设备上激活时,字体大小为30px的Textarea仍会自动缩放

来自分类Dev

在iPhone中单击锚点/链接(在特定页面中)时,字体大小会增加

来自分类Dev

父 DIV 高度:0px 但子元素仍然显示

来自分类Dev

contenteditable div上的字体大小更改

来自分类Dev

如何在Android上使用字体大小为0的字体?

来自分类Dev

如何在Ubuntu 18.04 LTS中为HDPI / 4K显示增加字体大小?

来自分类Dev

增加NSTextView的字体大小

来自分类Dev

CSS增加字体大小

来自分类Dev

CSS增加字体大小

来自分类Dev

如何使div中的文本内容反复增加和减小字体大小?

来自分类Dev

UINavigationBar中以磅为单位的字体大小高度是多少?

来自分类Dev

div中的动态字体大小

来自分类Dev

更改div中的字体大小

来自分类Dev

如何在uitextview上增加字体大小

来自分类Dev

在levelplot上增加colorkey标题字体大小

来自分类Dev

在 html 上使用 JavaScript 增加字体大小

Related 相关文章

热门标签

归档