2019独角兽企业重金招聘Python工程师标准>>>

display:box; 是老语法,display:flex;是新语法。flexbox是只有ie10才有的语法,ie11可以用flex。

box支持的浏览器更多,flex旧版本浏览器不支持。

综合写法

display:-moz-box;
display:-webkit-box;
display:-ms-flexbox;
display:-webkit-flex;
display:flex;

仅仅只有5条,注意:没有box也没有-moz-flex和-o-flex

说一下高度自适应

如图上下两部分,上面部分适应内容的高度,下面部分填充剩余部分。

当下面内容不够时,在下面部分出现滚动条

html部分

<div id="all"><div id="header"><p>123</p><p>123</p></div><div id="main"><p>123</p><p>123</p><p>123</p><p>123</p><p>123</p><p>123</p></div>
</div>

CSS部分

*{margin:0;padding:0;}
html,body{height:100%;}
#all{width:100%;/*第4个坑*/height:100%;display:-moz-box; display:-webkit-box; display:-ms-flexbox;/*display:-webkit-flex;*//*第1个坑*/display:flex;-moz-box-orient:vertical;-webkit-box-orient:vertical;-ms-flex-direction:column;flex-direction:column;overflow:hidden;/*第2个坑*/background:#000;
}
#header{overflow:auto;/*用于固定高度的情况*/flex-shrink:0;/*第3个坑*/background:#fcc;
}
#main{overflow:auto;display:-moz-box;/*第5个坑*/-moz-box-orient:vertical;/*第5个坑*/-moz-box-flex:1;-webkit-box-flex:1;-ms-flex:1;flex-grow:1;background:#ccf;
}

1.实际上-webkit-flex的高度适应有问题,不如不要,然后降级成-webkit-box

2.-webkit-box内部内容超出出现滚动条时,实际占用的体积没有被截取,导致出现2重滚动条,外层加上overflow:hidden可以解决。

3.注意头部份有flex-shrink

flex-shrink属性指定了flex元素的收缩规则,0表示不可收缩,默认值:1。

但是在flex-grow(box-flex)未设置时,大部分浏览器都不可收缩,部分浏览器会收缩。所以要设置为0才能保证兼容。

4.-moz-box不像block,宽度不会占满,所以要width:100%

5.在-moz-box中,子元素也要-moz-box才能自适应。为了看起来像普通的block所以加上-moz-box-orient:vertical。

6.在-moz-box中,内部只能继续box布局,无法使用position:absolute,position:absolute定位会相对于文档。

转载于:https://my.oschina.net/linsk1998/blog/1813513

flex和box、flexbox高度自适应常见坑相关推荐

  1. flex 嵌套 之 高度自适应

    <!DOCTYPE html> <html><head><meta charset="UTF-8"><title>fle ...

  2. CSS中常见的几种高度自适应布局

    1.左右结构--高度自适应窗口高度 <!doctype html> <html> <head> <meta charset="utf-8" ...

  3. 怎么让Html的高度自适应屏幕高度

    在写css静态页面的时候让Html的高度自适应屏幕高度是一个常见的需求,比如你有一个需要置底的bottom按钮,需要在内容不足一屏的时候显示在屏幕的底部,在内容超过一屏的时候显示在所有内容的底部. 效 ...

  4. 内容滚动条和子div高度自适应

    内容滚动条和子div高度自适应 写在前面:老套路有图有真相,这才叫做分享.本文内容是:一个div里面,两个子div高度自适应(平分父div的高度)和元素内容过多的时候,根据需求出现高度滚动条或者宽度滚 ...

  5. 小程序图片高度自适应等问题

    小程序图片高度自适应 这里踩了很多遍的坑,花了很多时间,以为像以前以前给他上级的盒子不给高度就行了,oh,no,这是一个坑,关键在于image标签的一个属性:mode="widthFix&q ...

  6. div模拟textarea文本域轻松实现高度自适应——张鑫旭

    by zhangxinxu from http://www.zhangxinxu.com 本文地址: http://www.zhangxinxu.com/wordpress/?p=1362 一.关于t ...

  7. f2 自适应_典型的三行二列居中高度自适应布局

    如何使整个页面内容居中,如何使高度适应内容自动伸缩.这是学习CSS布局最常见的问题.下面就给出一个实际的例子,并详细解释.(本文的经验和是蓝色理想论坛xpoint.guoshuang共同讨论得出的.) ...

  8. css经典布局——头尾固定高度中间高度自适应布局

    今天说说一个经典布局:头尾固定高度中间高度自适应布局! 转文请标明 --- 出处:穆乙 http://www.cnblogs.com/pigtail/ 相信做过后台管理界面的同学,都非常清楚这个布局. ...

  9. swiper高度自适应_小程序自定义导航自适应高度

    小程序导航条自定义,高度自适应iphoneX等刘海手机和其他手机,开启导航自定义需要在app.json文件里将window的 navigationStyle属性设置为: custom,开启导航自定义可 ...

最新文章

  1. 日本3D打印最贵牛肉!人工组装肌肉脂肪和血管,两天即完成,网友:赛博朋克的仿制肉...
  2. Promise用法总结
  3. 如何使用vs将asp.net core项目添加容器支持并发布docker镜像到私有dockerhub和添加k8s/helm管理...
  4. [剑指offer]面试题13:在O(1)时间删除链表结点
  5. 统计字符串中某个字出现的次数
  6. python接口自动化(二十三)--unittest断言——上(详解)
  7. 再谈MySQL全库备份
  8. socket编程(六)
  9. java.lang.IllegalArgumentException: requirement failed: indices should be one-based and in ascending
  10. Date DateFormat SimpleDateFormat Calendar Joda-Time
  11. 图像算法工程师三重境界
  12. 八数码问题的三种解决方式,其一:宽度优先搜索
  13. Latex模板排版等相关设置
  14. 数据结构课程设计【C++实现】
  15. 快速上手matlab(二)
  16. 如何彻底关闭windows10自动更新,禁用Windows Update
  17. 2021年度总结,一整年的精华所在!
  18. 猫盘用服务器硬盘,猫盘硬盘数据的转移具体方法步骤
  19. exlc表格怎么换行_excel表格中如何换行_excel表格内打字如何换行
  20. TFT供电电路(VCOM/VGL/VGH/AVDD)设计原理

热门文章

  1. java guava 使用_Java8-Guava实战示例
  2. 拓展小知识(一)——使用 CSS 和 JS 加载阿里小图标
  3. java当前月份减一个月_在java编程中怎样用%表示当前月份的上一个月和下一个月...
  4. 约瑟夫环c语言计蒜客链表,约瑟夫环的故事 - osc_3n35hvex的个人空间 - OSCHINA - 中文开源技术交流社区...
  5. HTML中通过CSS方式隐藏元素
  6. Puppeteer 学习笔记及基本用法
  7. Matlab实用程序--图形应用-单个轴窗口显示多个图形
  8. oracle 获得月最后一天,oracle获取本月第一天和最后一天及Oracle trunc()函数的用法...
  9. qt opencv cmake配置 单纯小白
  10. 【C++】20. const char *str[]、指针的字节长度等 分析