前端面试题(1)——页面布局

题目:假设高度已知,请写出三栏布局,其中左栏、右栏宽度各为300px;中间自适应。

前端面试题(1)——页面布局_第1张图片
屏幕快照 2018-03-25 上午11.28.45.png

我这边总结了五种方法,如有不正确,欢迎批评指正~

  • 浮动
  • 绝对定位
  • flex布局
  • 表格布局
  • 网格布局

一、浮动

    

浮动布局

1、浮动布局左右固定宽度,中间自适应 2、浮动布局左右固定宽度,中间自适应

二、绝对定位

     

绝对定位

1、定位布局左右固定宽度,中间自适应 2、定位布局左右固定宽度,中间自适应

三、flex布局

    

flex布局

1、flex布局左右固定宽度,中间自适应 2、flex布局左右固定宽度,中间自适应

四、表格布局

    

tabale布局

1、table布局左右固定宽度,中间自适应 2、table布局左右固定宽度,中间自适应

五、网格布局

    

网格布局

1、网格布局左右固定宽度,中间自适应 2、网格布局左右固定宽度,中间自适应

总结

  1. 这五种解决方案各自的优缺点;
  • 浮动:缺点浮动是脱离文档流的,需要做清浮动处理;优点是兼容性很好。
  • 绝对定位:缺点是布局脱离文档流,子元素也必须脱离文档流,可使用用性比较差;优点是快捷,不容易出问题。
  • flex布局:为解决以上两种布局方式的不足而出现的,比较完美,现在移动端基本都属于flex布局。
  • 表格布局:缺点是操作繁琐,对seo也不友好,当其中一个单元格的高度变大时,其他单元格的高度也会随之变大,优点是兼容性非常好。
  • 网格布局:缺点是新出的技术,低版本浏览器兼容性不是很好,优点是可以做许多复杂的事情,但是代码量要简化的多。
  1. 当高度不定时,两侧的高度也跟这中间的高度撑开,以上五种有哪几种可以继续用,哪几种不能用了;
     
1、网格布局左右固定宽度,中间自适应 2、网格布局左右固定宽度,中间自适应

增加高度

增加高度

增加高度

增加高度

增加高度

增加高度

  • 通过看效果:浮动和绝对定位以及网格布局是不能用的,flex布局和表格布局可以继续使用。
  • 在这个面试过程中一定要说出哪个能用,哪个不能用,以及不能用的原因。
  • 浮动可以延伸到BFC,可以去了解BFC相关的知识;
  1. 兼容性;如果现在要在业务中实现,你觉得最优选择时哪种;

页面布局小结

  1. 语义化掌握要到位
  2. 页面布局理解深刻
  3. CSS基础知识扎实
  4. 思维灵活且积极上进(对新技术的了解,如网格布局)
  5. 代码书写规范

你可能感兴趣的:(前端面试题(1)——页面布局)