CSS 布局——大体的布局

365 阅读3分钟

写一下CSS布局

布局是什么?

把页面分成一块一块,按左中右,上中下等排列。如图:
布局总共可以分为三类:

固定宽度布局

一般宽度为960px/1000px/1024px

不固定宽度布局

主要靠文档流的原理来布局,因为在文档流中,本身就是自适应的

响应式布局

手机上用不固定宽度布局,在pc上固定宽度布局,这是一种混合的布局。

布局要用的技术

按照图片所示,如果需要兼容ie,则我们用float布局,如果不需要兼容,直接flex,想秀一秀技术的,grid走起。

float布局

  1. 子元素加上float和width 2.父元素上加clearfix类
.clearfix{
    clear:both;
    content:"";
    display:block;
}

这样就好了。

注意
* 在float布局中,一般最后一个元素是不设置width的
* 在IE6/7中,因为有双倍margin bug,所以需要记一下解决的办法:1.将IE6/7margin减半。2.将块的display设置为inline-block

一般来说,只用float解决PC的需求,如果是移动端,那直接用flex。 这是我用float写的页面布局页面布局

flex布局

flex布局就简单很多了,而且现在移动端的适配性已经很高了
就算是万恶的微软,都已经变成黄色支持度了,证明直接在移动端用就完事了!   接下来好好介绍一下flex布局,之后大部分情况都是用这个布局:

container

首先,想要使用flex,我们就需要一个容器,英语叫做container,专门就是为了包裹flex而产生的,代码上的表示是display:flex,这样我们就做出了一个flex容器。 在这个container中,里面的一个个div就是一个个items,实际上,我们做flex其实就是对里面的items进行排序而已。 而这里面的items遵守flex的相应规则,也就是弹性规则。

常见的操作

flex-direction:row | row-reverse | column | column-reverse

这段代码用来改变flex的流动的方向,row是按行流,column是按照列流动

justify-content:flex-start | flex-end | center | space-around | space-between

这个做水平布局,效果如图

align-items:flex-end | flex-start | center | stretch | baseline

这个用来作垂直布局,效果如图

align-content:flex-start | flex-end | center | strech | space-between | space-around

如果有多个div的情况,想要将它们放在一起或是怎么样,就用这个做布局。 效果如下: 以上是针对一大段的,如果只是其中的一小块,怎么写呢?也就是针对flex item

.parent{
	display:flex;
    jusity-content:center;
}
.child{
	flex-self:flex-end;
}

flex的相关还有很多,相信说了这么多,还是记不住,没关系,这边有个游戏,每次不记得了,就去刷一遍,就全部都会了小青蛙游戏

grid布局

最后是介绍以下grid布局,这个现在的兼容性还不是特别好,请看caniuse上面的兼容性显示: 所以请酌情使用 这个也是一样,一个游戏,写完就全部都会了。土地规划小游戏

布局就写到这里,不过这只是一个大致的布局设置,详细的还没说完,请看下文———垂直水平居中