程序员

html-css 布局基础

2017-07-18  本文已影响94人  你的肖同学

本文档回顾了在工作中常会用到的html/css的布局基础,由于很多坑只有在实际中踩到才会去总结,因此,本文也会不定期更新。ok,let's start!

盒子模型详解图

position 属性详解

工作里面,常常会用到position的四个属性:static/relative/absolute/float,配合相应的属性,也就可以实现相应的页面布局。

接下来,就具体分析一下各个position属性:

1. position: static

在 css 所有元素的position属性的默认值都是static,因此在绝大多数情况下,我们都不需要显式地设置position: static,那么这个属性值有什么意义呢?

我觉得它主要的作用就是取消前一个设置过的position属性,例如:在你的两个页面里,同时存在div#div-1,现在第一个页面需要设置为position: absolute,而第二个则不需要设置绝对定位,就需要在第二个页面设置position: static

2. 相对定位 position: relative

relative是相对定位,在给元素设置了position: relative之后,就可以通过设置元素的top/bottom/left/right来调整元素的位置。不过,使用position: relative的时候也要注意:

3. 绝对定位 position: absolute

绝对定位absoluteposition的第三个属性值,元素设置了position: absolute之后,整个元素就会漂出文档流,元素自身的物理空间也就随之消失了。这也就是与relative的不同,它不会具有之前的物理空间。如果绝对定位元素的祖先没有设置过任何的relative/absolute设置,那么它的定位是相对于html

4. relative 和 absolute 的混合使用

基于第3点所描述的absolute定位的原理,我们就可以在实际布局中将relativeabsolute结合起来用。原理差不多就是:

由此,我们就通过将父级元素设置为position: relative,然后将子元素设置为position: absolute,最后通过对子元素top/bottom/left/right属性的设置,在父级元素里完成布局,如两列、三列布局。

5. float

我们可以在一个元素上使用float: leftfloat: right让元素向左或者向右,而且还可以使用文本围绕在这个元素的周边(这个作用在文本围绕图片特别有用,即设置图片浮动)。不过需要注意的是:

关于清除浮动,差不多有三种方法:

6. position: fixed

position: fixed也是设置绝对定位的方法,与position: absolute不同的是,它是相对于浏览器窗口进行定位,可以通过top/bottom/left/right对为止进行调整。

如果看了之后还是不太明白,之后可能会写具体的代码来说明,先点个喜欢和关注再说呗!

上一篇下一篇

猜你喜欢

热点阅读