----------------------------------------------------------------------

CSS中的position:

CSS三种布局方式:

标准流:网页中默认的布局方式,即顺序布局。html元素可以分为两大类:块级元素(div,h1…h6,ol,ul,li,table,p段落等)和内联元素(a超链接,span文字,img图片,input控件)。块级元素总是独占一行,内联元素是和相邻的内联元素在同一行,如果一行内宽度不够时,才被挤到另一行上去。;

定位:position定位属性通过改变正常的标准流,以非正常的方式迫使元素脱离标准流。position属性决定了元素如何进行定位,通过top,right,bottom,left实现位置的改变。

position中有5个可选的参数:  (层级概念:定位的元素总是在普通流的上面,除非手动指定  z-index  属性,当z-index的值设置小于0时,将会被标准流盖住。)

static:默认值,元素按照标准流的方式进行正常的排列,在一个原本你想定位,后来又不想要定位的元素上就可以使用这个属性,一般配合javascript来使用。

relative是指相对定位,使用了position:relative的元素任然处于正常的文档流中,relative元素按照原来在标准流中的位置进行定位,可以通过top,right,bottom,left来改变元素的位置,当设置元素的left和top属性时,元素相对于网页的最左起始点为原点,向右为x轴正方向,向下为y轴正方向,当我们设置了right和bottom属性,元素相对于网页的最左起始点为原点,向左为x轴正方向,向上为y轴正方向。有了层级的概念。父元素定位到哪,子元素也会跟随到哪。

absolute:绝对定位,使用了absolute属性的元素通过设置left,right,top,bottom等值,使absolute元素脱离正常的文档流进行布局,在整个网页中都拥有了层级的概念,后写的元素将覆盖先写的元素,越后面的元素层级越高。如果absolute元素的父元素不具有定位属性,那么absolute元素将以网页窗口的四个角进行定位,反之如果它在一个定位的父元素里,那么它的定位起点将在父元素的当前位置上进行定位(根据包含块的位置来初始化子元素的位置)。当设置元素的left和top属性时,元素相对于网页窗口的最左起始点为原点,向右为x轴正方向,向下为y轴正方向,当我们设置了right和top属性,元素相对于网页窗口的最右端起始点为原点,向左为x轴正方向,向下为y轴正方向。当我们设置了left和bottom属性,元素相对于网页窗口的最左下角起始点为原点,向右为x轴正方向,向上为y轴正方向。当我们设置了right和bottom属性,元素相对于网页窗口的最右下角起始点为原点,向左为x轴正方向,向上为y轴正方向。一个行内元素一旦设置了这个属性,其宽度,高度等属性将会生效。父元素定位到哪,子元素也会跟随到哪。

fixed:固定定位,使用了fixed固定定位的元素配合top,right,bottom,left这四个位置属性来设置元素的位置,元素会脱离正常的文档流,在整个浏览器窗口(视口)进行定位,并拥有层级的概念,带有fixed固定定位的元素将在整个窗口进行位置移动,常用的使用场景有对联广告,登陆弹窗等,和absolute决定定位类似,left:0px;top:0px的位置在窗口左上角,right:0px;top:0px的位置在窗口右上角,left:0px;bottom:0px的位置在窗口左下角,right:0px;bottom:0px的位置在窗口右下角,(任何元素对固定定位fixed是没有约束力的,即使固定定位元素的父元素有定位属性。)一般情况下都会将absolute的元素放在relative里面,这样它总是跟随父元素走。

inherit:继承父元素的定位属性。;

float浮动布局:

带有float浮动属性的元素都会变成块级元素,脱离文档流进行布局,但是float元素依然占据正常文档流文本空间。CSS三种布局方式:标准流,定位,浮动。浮动使得元素脱离了正常的标准流,浮动的元素不再占有原始标准流中的空间,会导致父元素无法检测子(浮动)元素的高度,而产生父元素高度塌陷的问题。浮动副作用(父元素高度塌陷)问题的解决:1.手动给父元素添加高度。2.通过clear清除内部和外部的浮动。clear属性的四个参数:clear:none,clear:left不允许左边有浮动的对象,clear:right不允许右边有浮动的对象,clear:both不允许有浮动的对象。 3,给父元素添加overfloat属性并结合zoom:1使用。overflow是用来处理溢出问题的。overflow:hidden会截取超出父元素之外的元素,使其不可见。zoom:1是ie专用的一个属性,通过子元素的总体高度来放大缩小父元素的高度,导致父元素拥有了高度。4,给父元素添加浮动。

float浮动布局(慕课网CSS笔记 + css核心技术详解第四章)的更多相关文章

  1. Float浮动(慕课网学习笔记)

    float浮动 属性:值 意义 float:left 左浮动 float:right 右浮动 float:none 不浮动 float:inherit 继承父元素浮动属性,若父元素没有浮动属性则失效 ...

  2. 《Android群英传》读书笔记 (2) 第三章 控件架构与自定义控件详解 + 第四章 ListView使用技巧 + 第五章 Scroll分析

    第三章 Android控件架构与自定义控件详解 1.Android控件架构下图是UI界面架构图,每个Activity都有一个Window对象,通常是由PhoneWindow类来实现的.PhoneWin ...

  3. Css深入理解之浮动_慕课网课程笔记

    前言 这篇是在慕课网上跟着张鑫旭重走CSS之路的第三篇学习笔记了,主要是学习float属性,闲话少说,下面进入正文. float的历史 要想了解一个东西,我们还是需要从本质去了解它,那么我们就需要问一 ...

  4. HTML+CSS笔记 CSS笔记集合

    HTML+CSS笔记 表格,超链接,图片,表单 涉及内容:表格,超链接,图片,表单 HTML+CSS笔记 CSS入门 涉及内容:简介,优势,语法说明,代码注释,CSS样式位置,不同样式优先级,选择器, ...

  5. css样式继承规则详解

    css样式继承规则详解 一.总结 一句话总结:继承而发生样式冲突时,最近祖先获胜(最近原则). 1.继承中哪些样式不会被继承? 多数边框类属性,比如象Padding(补白),Margin(边界),背景 ...

  6. css之Grid Layout详解

    css之Grid Layout详解 CSS Grid Layout擅长将页面划分为主要区域,或者在从HTML基元构建的控件的各个部分之间定义大小,位置和图层之间的关系. 与表格一样,网格布局使作者能够 ...

  7. css 之position用法详解

    css  之position用法详解: http://www.jb51.net/web/77495.html

  8. DIV css中cursor属性详解-鼠标移到图片变换鼠标形状 (转)

    css中cursor属性详解-鼠标移到图片变换鼠标形状   语法: cursor : auto | all-scroll | col-resize| crosshair | default | han ...

  9. Css盒模型属性详解(margin和padding)

    Css盒模型属性详解(margin和padding) 大家好,我是逆战班的一名学员,今天我来给大家分享一下关于盒模型的知识! 关于盒模型的属性详解及用法 盒模型基本属性有两个:padding和marg ...

随机推荐

  1. Python list, dict, set, tuple

    list方法 append: 添加一个新的元素到末尾 extend: 扩展元素 insert: 在任何位置插入元素 pop: 弹出末尾的元素 remove: remove first occurren ...

  2. 手机uc浏览器,获取到图片,但左上有小图标的问题

    手机uc浏览器有个坑 获取不到图片,左上是这样的

  3. Django组件:forms组件(简易版)

    一.校验字段功能 1.模型:models.py class UserInfo(models.Model): name=models.CharField(max_length=32) pwd=model ...

  4. React搭建脚手架

    npm install -g create-react-app    //安装 create-react-app react-demo    // react-demo 项目的名称 cd react- ...

  5. PHP函数:mysql_fetch_assoc指针重置

    本文目前主要讨论mysql_fetch_assoc“指针”如何重置的问题 要了解mysql_fetch_assoc,先看看它与mysql_fetch_row和mysql_fetch_array的关系. ...

  6. [转]C#中StreamReader读取中文出现乱码

    摘自:C#中StreamReader读取中文出现乱码 原因是自Windows 2000之后的操作系统在文件处理时默认编码采用Unicode所以.NET文件的默认编码也是Unicode.除非另外指定,S ...

  7. LeetCode Rotate Array 翻转数组

    题意:给定一个数组,将该数组的后k位移动到前n-k位之前.(本题在编程珠玑中第二章有讲) 思路: 方法一:将后K位用vector容器装起来,再移动前n-k位到后面,再将容器内k位插到前面. class ...

  8. UOJ#126【NOI2013】快餐店

    [NOI2013]快餐店 链接:http://uoj.ac/problem/126 YY了一个线段树+类旋转卡壳的算法.骗了55分.还比不上$O(n^2)$暴力T^T 题目实际上是要找一条链的两个端点 ...

  9. UVA Live Archive 4490 Help Bubu(状压dp)

    难点在于状态设计,从左向右一本书一本书的考虑,每本书的决策有两种拿走或者留下, 对于拿走后的书,之后要放回,但是决策过程中不知道到往哪里放, 虽然前面的书的种类确定,可能是往后面放更优,而后面的书的类 ...

  10. 【51nod1443】路径和树(堆优化dijkstra乱搞)

    点此看题面 大致题意:给你一个无向联通图,要求你求出这张图中从u开始的权值和最小的最短路径树的权值之和. 什么是最短路径树? 从\(u\)开始到任意点的最短路径与在原图中相比不变. 题解 既然要求最短 ...