每天10个前端知识点:布局大全

个人博客已上线,欢迎前去访问评论!
无媛无故 - wangchloe的个人博客


嗯!明天请假不更了。这几天把性能优化和面向对象给整出来,又是费脑子的几篇。
啊对,面试题有更新,记得复看。
最近遇到的前端面试题(2017.02.23更新版)


以下内容若有问题烦请即时告知我予以修改,以免误导更多人。

本次内容主要整理来源:布局 - 代码库 - NEC : 更好的CSS样式解决方案


以下代码可复制至codePen实践

一. 单列布局

1. 水平居中

(1) 文本、图片等行内元素


(2) 定宽块级元素


(3) 不定宽块元素

  • inline + text-align

  • table + margin

  • float + relative

  • absolute + transform

(4) 多个块级元素(单个块级元素也可用)

  • inline-block + text-align

  • flex + justify-content

2. 垂直居中

(1) 父元素高度确定的单行文本


(2) 父元素高度确定的多行文本


(3) 子元素定高块级元素


(4) 子元素不定高块级元素

  • absolute + transform

  • flex + align-items

3. 水平垂直居中

(1) 定宽高


(2) 不定宽高

  • inline-block + table-cell

  • table-cell + absolute

  • absolute + transform

  • flex + justify-content + align-items

  • jQuery

二. 两列布局

1. 两个div并排的多种方法

  • 定位
  • margin负值
  • 浮动
  • 行内块
  • table

2. 左侧定宽,右侧自适应

  • float + margin

    
左侧定宽
右侧自适应
  • float + margin

    
左侧定宽
右侧自适应
  • absolute + margin

    
左侧定宽
右侧自适应
  • relative + float + margin

    

左侧定宽

右侧自适应

  • absolute + margin

    

左侧定宽

右侧自适应

3. 左侧自适应,右侧定宽(基本同理,不一一列举)

  • margin + absolute

    
左侧自适应
右侧定宽
  • relative + float + margin

    

左侧自适应

右侧定宽

三. 等高布局

  • float + margin-bottom负值

    
左侧左侧左侧左侧
左侧左侧左侧左侧
左侧左侧左侧左侧
左侧左侧左侧左侧
右侧右侧右侧右侧
右侧右侧右侧右侧
右侧右侧右侧右侧
右侧右侧右侧右侧
右侧右侧右侧右侧
右侧右侧右侧右侧
右侧右侧右侧右侧
右侧右侧右侧右侧
右侧右侧右侧右侧
右侧右侧右侧右侧
右侧右侧右侧右侧
  • flex

    
左侧左侧左侧左侧
左侧左侧左侧左侧
左侧左侧左侧左侧
左侧左侧左侧左侧
右侧右侧右侧右侧
右侧右侧右侧右侧
右侧右侧右侧右侧
右侧右侧右侧右侧
右侧右侧右侧右侧
右侧右侧右侧右侧
右侧右侧右侧右侧
右侧右侧右侧右侧
右侧右侧右侧右侧
右侧右侧右侧右侧
右侧右侧右侧右侧

四. 多列布局

1. 左右定宽,中间自适应

  • absolute + margin

    
左侧定宽
中间自适应
右侧定宽
  • relative + float + margin

    

左侧定宽

中间自适应

右侧定宽

圣杯布局

  • 中间栏放到文档流前面,保证先行渲染
  • 三栏全部float:left浮动
  • 中间栏在添加相对定位,并配合left和right属性

效果上表现为三栏是单独分开的

可参考该篇圣杯的分析过程:【CSS】 布局之圣杯布局)


header
middle
left

双飞翼布局

  • 中间栏放到文档流前面,保证先行渲染
  • 三栏全部float:left浮动
  • 在中间栏的div中嵌套一个div,内容写在嵌套的div里,然后对嵌套的div设置margin-left和margin-right

效果上表现为左右两栏在中间栏的上面

  • 区别:双飞翼多了1个div,少用大致4个css属性(圣杯布局中间div padding-left和padding-right这2个属性,加上左右两个div用相对布局position: relative及对应的right和left共4个属性,一共6个;而双飞翼布局子div里用margin-left和margin-right共2个属性,6-2=4)
    作者:吕延庆
    链接:https://www.zhihu.com/question/21504052/answer/50053054
    来源:知乎
    著作权归作者所有,转载请联系作者获得授权。

header
middle
left

2. 左侧自适应,中间右侧定宽


    

左侧自适应

中间定宽

右侧定宽

3. 右侧自适应,中间左侧定宽


    

左侧定宽

中间定宽

右侧自适应

五. 图片绝对居中


![](img/xxx.png)

图片居中溢出隐藏


![](http://upload-images.jianshu.io/upload_images/2125655-c8e8dd40292927d1.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) ![](http://upload-images.jianshu.io/upload_images/2125655-c8e8dd40292927d1.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

![](http://upload-images.jianshu.io/upload_images/2125655-da04da0d01be925b.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) ![](http://upload-images.jianshu.io/upload_images/2125655-da04da0d01be925b.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

![](http://upload-images.jianshu.io/upload_images/2125655-9ec86b9faa6c1022.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) ![](http://upload-images.jianshu.io/upload_images/2125655-9ec86b9faa6c1022.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

六. 两列三列自适应


主列1内容区

侧列1内容区

主列2内容区

侧列2内容区

主列3内容区

侧列a内容区

侧列b内容区

主列5内容区

侧列5内容区

侧列4内容区

七. 全屏自适应

  • absolute

顶部
内容左侧
内容右侧
底部
  • flex

顶部
内容左侧
内容右侧
底部

八. 底部显示自适应


请增加或减少内容,或改变窗口大小,以便查看效果。

请增加或减少内容,或改变窗口大小,以便查看效果。

请增加或减少内容,或改变窗口大小,以便查看效果。

请增加或减少内容,或改变窗口大小,以便查看效果。

请增加或减少内容,或改变窗口大小,以便查看效果。

底部始终在文档末尾,当文档较长时跟随在文档末尾,当文档较短时在窗口底部。

九. 前自适应后跟随


这是一段长度未知的文本,自动换行,且不会把右边的时间挤掉,修改这段文字长度或改变窗口宽度试试。
2009-08-08

十. 图文问题


十一. 表头固定内容滚动


定宽a定宽b定宽c最后列不定宽d
定宽a定宽b定宽c最后列不定宽d
定宽a定宽b定宽c最后列不定宽d
定宽a定宽b定宽c最后列不定宽d
定宽a定宽b定宽c最后列不定宽d
定宽a定宽b定宽c最后列不定宽d
定宽a定宽b定宽c最后列不定宽d

既然读到这了,不如点个喜欢吧!

更多内容可以订阅本人微信公众号,一起开启前端小白进阶的世界!

公众号是坚持日更的,不发文的时候推送一些我觉得好用的前端网站或者看到的一些问题的解决方案,也更便于大家交流,就酱。

每天10个前端知识点:布局大全_第1张图片
微信公众号:无媛无故

你可能感兴趣的:(每天10个前端知识点:布局大全)