【问题标题】:Chrome not recomputing element width when it shouldChrome 不应该重新计算元素宽度
【发布时间】:2015-10-27 08:18:49
【问题描述】:

我需要根据元素的高度调整元素的宽度,并认为我已经使用透明的img 技巧制定了一个非常聪明的解决方案:

http://jsfiddle.net/6yc8a2yj/

粉红色的 div 以 1:2 的比例正确渲染;但是,它应该在视口调整大小时调整大小(因为它的高度是 100vh 元素的 100%),但它没有。

如果您调整视口大小,如果视口高度增加,img 元素会增加宽度,但container 元素不会增加宽度以适应它,这违反了display: inline-block 的含义规则(如果您在 Chrome 控制台中选中并取消选中 .container 上的显示样式,它将正确调整大小以适应其子内容)。我认为问题是元素尺寸计算是父子到子的,因此当img 元素调整大小时,Chrome 不会重新计算它的父尺寸。有没有办法欺骗它这样做?

【问题讨论】:

    标签: html css google-chrome


    【解决方案1】:

    Chrome 最大限度地减少了重新布局周期。总的来说,这很好。

    我建议在图像本身上设置height:50vh 而不是.viewport,并在.container 上使用width:max-content;

    见:http://jsfiddle.net/0jgo5894/1/

    关于一般的 vh 单位:http://sciter.com/css-vwvhvminvmax-units-are-quite-dangerous/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-08-16
      • 2020-05-21
      • 1970-01-01
      • 2015-11-14
      • 2015-12-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多