文档流、浮动 、定位的概念总结

1.文档流

  • 所有的元素默认情况下都是在文档流中存在的
  • 文档流是网页的最底层
  • 元素在文档流中的特点:
  • 块元素
    1.默认宽度是父元素的全部
    2.默认高度被内容(子元素)撑开
    3.在页面中自上而下垂直排列
  • 内联元素
    1.默认高度和宽度都被内容撑开
    2.在页面中自左向右水平排列,如果一行不足以容下所有的元素
    则换到下一行继续从左向右

2.浮动

  • 使用float来设置元素的浮动

  • 可选值:
    none 默认值,元素不浮动,就在文档流中
    left 元素向页面的左侧浮动
    right 元素向页面的右侧浮动

  • 浮动特点:
    1.元素设置浮动以后,会完全脱离文档流,并向页面的左上或右上浮动。
    直到遇到父元素的边框或其他的父元素时则停止浮动。
    2.如果浮动元素上边是一个没有浮动的块元素,元素不会超过该块元素。
    3.浮动元素的浮动位置不能超过他上边浮动的兄弟元素,最多一边齐
    4.浮动元素不会覆盖文字,文字会围绕在浮动元素的周围,所以可以通过浮动来实现文字环绕图片的效果。

  • 浮动以后元素会完全脱离文档流,脱离文档流以后元素会具有如下特点:
    1.块元素不独占一行
    2.块元素的宽度和高度都被内容撑开
    3.元素不在文档流占用位置
    4.内联元素会变成块元素

  • 高度塌陷

  • 在文档流中元素的高度默认被子元素撑开,当子元素浮动时,子元素会脱离文档流,
    此时将不能撑起父元素的高度,会导致父元素的高度塌陷。父元素高度塌陷会导致其他元素的位置上移,导致页面的布局混乱。

  • 可以通过开启元素的BFC来处理高度塌陷的问题。

  • BFC叫做Block Formatting Context

  • 它是一个隐含属性,默认情况是关闭,当开启以后元素会具有如下的特性:
    1.父元素的垂直外边距不会和子元素重叠
    2.开启BFC的元素不会被浮动元素覆盖
    3.父元素可以包含浮动的子元素 ******

  • 如何开启元素的BFC
    1.设置元素浮动(不推荐)
    使用这种方式开启,虽然可以撑开父元素,但是会导致父元素的宽度丢失,而且使用这种方式也会导致下边的元素上移,不能解决问题
    2.设置元素绝对定位(不推荐)
    3.设置元素为inline-block(不推荐)
    可以解决问题,但是会导致宽度丢失,不推荐使用这种方式
    4.将元素的overflow设置为一个非visible的值(aotu hidden)
    推荐方式:将overflow设置为hidden是副作用最小的开启BFC的方式。
    overflow: hidden;

但是在IE6及以下的浏览器中并不支持BFC,所以使用这种方式不能兼容IE6。
在IE6中虽然没有BFC,但是具有另一个隐含的属性叫做hasLayout,该属性的作用和BFC类似,所在IE6浏览器可以通过开hasLayout来解决该问题开启方式很多,我们直接使用一种副作用最小的:
直接将元素的zoom设置为1即可。

zoom表示放大的意思,后边跟着一个数值,写几就将元素放大几倍
zoom:1表示不放大元素,但是通过该样式可以开启hasLayout
zoom这个样式,只在IE中支持,其他浏览器都不支持。

3.定位

  • 通过定位可以将元素摆放到页面的任意位置

  • 使用position来设置元素的定位

  • 可选值:

  • static 默认值 元素不开启定位

  • relative 开启元素的相对定位

  • absolute 开启元素的绝对定位

  • fixed 开启元素的固定定位

  • 相对定位
    1.相对于元素自身在文档流中的位置进行定位
    2.相对定位的元素不会脱离文档流,定位元素的性质不会改变,块还是块,内联还是内联
    3.如果不设置偏移量,元素不会发生任何的变化
    4.会提升元素的层级

  • 绝对定位
    1.相对于离它最近的开启了定位的祖先元素进行定位,如果祖先元素都没有开启定位则相对于浏览器窗口进行定位。
    2.绝对定位会使元素完全脱离文档流,会改变元素的性质,内联变成块元素,块元素的宽度被内容撑开
    3.绝对定位的元素如果不设置偏移量,元素的位置不会发生变化
    4.会提升元素的层级

  • 固定定位

  • 固定定位也是一种绝对定位,它的大部分特点都和绝对定位是相同的。

  • 不同的是:

  • 固定定位永远相对于浏览器窗口进行定位

  • 固定定位会固定在浏览器的指定的位置,不会随页面一起滚动

  • 偏移量

  • 当元素开启了定位以后,可以通过四个偏移量来设置元素的位置
    top:相对于定位位置的顶部的偏移量
    bottom:相对于定位位置的底部的偏移量
    left:相对于定位位置的左侧的偏移量
    right:相对于定位位置的右侧的偏移量

  • 一般只需要使用两个值即可给元素进行定位
    top left
    top right
    bottom left
    bottom right

  • 偏移量也可以指定一个负值,如果是负值则元素会向相反的方向移动

  • 层级

  • 当元素开启定位以后,可以通过z-index来设置层级,
    它需要一个正整数作为参数,值越大层级越高,层级越高越优先显示
    如果层级一样,则后边的会盖住前边的,父元素永远都不会盖住子元素。

  • 文档流 < 浮动 < 定位

  • 元素的透明
    使用opacity来设置元素的透明度

  • 需要一个0-1之间的值

  • 0 表示完全透明

  • 1 表示完全不透明

IE8及以下的浏览器不支持该样式,需要使用如下方式来设置
filter:alpha(opacity=透明度);

  • 需要一个0-100之间的值
  • 0 表示完全透明
  • 100 表示完全不透明
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,793评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,567评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,342评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,825评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,814评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,680评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,033评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,687评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,175评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,668评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,775评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,419评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,020评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,206评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,092评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,510评论 2 343

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,727评论 1 92
  • 一,浮动元素有什么特征?对父容器、其他浮动元素、普通元素、文字分别有什么影响? 浮动模型是一种可视化格式模型,浮动...
    DeeJay_Y阅读 856评论 0 4
  • relative:生成相对定位的元素,通过top,bottom,left,right的位置相对于其正常位置进行定位...
    zx9426阅读 929评论 0 2
  • 主要内容: 浮动的介绍、清除浮动、各种定位、BFC以及外边距合并的介绍。 浮动 什么是浮动元素 浮动元素是floa...
    苦瓜_6阅读 537评论 0 0
  • 这是一个近期网络上很流行的问题。 我的答案是:我不愿意。 作为一个极其理性的人,每当天上掉下个馅饼,要想一想是不是...
    明哥聊求职阅读 767评论 1 1