vw 单位 android 4.4 下的一个小bug

CSS3 vw 单位

vw 单位 android 4.4 下的一个小bug_第1张图片
Paste_Image.png

100vw = 100% 视窗宽度
100vh = 100% 视窗高度

这样实现自适应正方形(固定长宽比例的容器)就会相当简单!

[lang=stylus]
.box
  width 10vw
  height 10vw

既然是新单位, 必然就会有 兼容性问题.

[lang=jade]
.img-box
  img(src="img/a.png")
[lang=stylus]
.img-box
  width 10vw
  height 10vw
  img
    width 100%
    height 100%
    object-fit cover
vw 单位 android 4.4 下的一个小bug_第2张图片
Paste_Image.png

代码正常效果应该是上左图, 实现一个正方形盒子里放一张图片, 自适应居中
然而安卓4.4手机里, 图片会失真, 高度不是以 .img-box 计算的, 如上右图 (object-fit cover 在 安卓 4.4 下也无效的)

偶然发现可以通过 给图片设置 position absolute 解决高度错误问题 (object-fit cover 无效)

[lang=stylus]
.img-box
  width 10vw
  height 10vw
  position relative
  img
    position absolute
    left 0
    top 0
    width 100%
    height 100%
    object-fit cover

css3 新的 flex vw vh 让布局灵活方便很多
正方形不再使用 padding-bottom 100% 让人看不容易不懂的方法了

最后希望大家多用 chrome 早日脱离 IE

你可能感兴趣的:(vw 单位 android 4.4 下的一个小bug)