这三个属性是传统网页布局中经常用到的属性。

读这篇文章之前,希望你对css布局模型已经有了一定的了解。因为本文的三个属性是和css三个布局模型紧密联系在一起的。因此,如若你并不了解,我推荐你先看一下css布局模型这篇文章。

一、display属性

The display property specifies the type of box used for an HTML element.

display属性是与盒模型紧密相连的属性,大多数情况下定义了元素是block-level,inline-level还是inline-block-level, 当然还有很多其它的值。关于display属性详细的内容可以点这里,或是百度谷歌搜索即可。

二、float属性

float:none; 默认值,没有浮动,正常文档流。

float:right; 元素须浮动在其所在块元素的右侧。

float:left;  元素须浮动在其所在块元素的左侧。

float:initial; initial关键字,定义了float属性值应该为默认值,即none

float:inherit; 从父元素继承属性值。

按照张鑫旭博客中的说法,浮动的意义仅仅是文字环绕显示而已,浮动的本质是浮动的本质是“包裹及破坏”,我觉得这个说法不错。而目前我们大量适用于页面的整体布局中,确实是违背了这个属性的原意。

三、position属性

position:static;     默认值,Elements render in order, as they appear in the document flow,正常的标准文档流

position:relative;  The element is positioned relative to its normal position. 未脱离标准文档流,相对自身正常位置移动。

position:absolute; The element is positioned relative to its first positioned (not static) ancestor element.脱离文档流

position:fixed;      The element is positioned relative to the browser window.  脱离文档流

请注意以下:

未脱离文档流,即浏览器按照dom结构从上而下,从左而右对页面进行渲染时,某元素按照顺序出现在页面中。

脱离文档流,也就是将元素从普通的布局排版中拿走,其他盒子在定位的时候,会当做脱离文档流的元素不存在而进行定位。

float和position都可以让元素脱离文档流,但是两者依然有些许差异如下:

  1. float:left 和float:righ可以使一个元素脱离正常的文档流,然后被安放到它所在容器的的左端或者右端,但是所在容器的其他的文本和行内元素围绕它安放。(这一点再次说明了浮动的本意,即仅仅是行级元素的环绕而已)
  2. position:absolute和position:fixed会使该元素脱离文档流,同时其他盒子与其他盒子内的文本都会无视它,因此可能会出现该元素覆盖在其他元素之上的情况。

这篇文章适合和css的核心之一布局模型结合起来看,可能更有效果。

CSS传统布局之display属性+float属性+position属性的更多相关文章

  1. 谈谈CSS的布局,display、position、float

    前言 前端一直是我的一个很大的缺憾,这段时间痛顶思痛,决定好好的把前台的东西加强,这不,在学习了一段时间js之后,在做一些小练习,却发现最基本的一些css知识却还不了解,所以便有了这篇博文. 块级元素 ...

  2. CSS float和position属性

    1. 浮动 CSS float属性定义了元素在水平方向的浮动.该元素从网页的正常流动(文档流)中移除,对于浮动元素后的块级元素,块级元素将会被浮动元素覆盖,并且会接着其上一个文档流中的元素,按文档流的 ...

  3. css的float和position属性

    (1)float的简单用法 <!DOCTYPE html> <html lang="en"> <head> <meta charset=& ...

  4. 第 27 章 CSS 传统布局[下]

    学习要点: 1.定位布局 2.box-sizing 3.resize 主讲教师:李炎恢 本章主要探讨 HTML5 中 CSS 早期所使用的传统布局,很多情况下,这些布局方式还是非常有用的. 一.定位布 ...

  5. 第 27 章 CSS 传统布局[上]

    学习要点: 1.布局模型 2.表格布局 3.浮动布局 主讲教师:李炎恢 本章主要探讨 HTML5 中 CSS 早期所使用的传统布局,很多情况下,这些布局方式还是非常有用的. 一.布局模型 在早期没有平 ...

  6. CSS传统布局之页面布局实例

    传统的页面布局依赖于盒模型+流动模型(flow)+浮动模型(float)+层模型(layer)来实现页面的布局,具体方法是通过盒模型+display属性+float属性+position属性来加以实现 ...

  7. CSS传统布局之布局模型

    刚开始准备这篇文章的时候,查到的有很多包含“布局模型”的中文博客或是资料,但是google上并未找到类似字眼,google到的是“flex layout module”“grid layout mod ...

  8. HTML+CSS教程(六)浮动-float+定位-position+居中问题

    一.浮动(float)1.文档流:是指盒子按照 html 标签编写的顺序依次从上到下,从左到右排列,块元素占一行,行内元素在一行之内从左到右排列,先写的先排列,后写的排在后面,每个盒子都占据自己的位置 ...

  9. CSS样式设置语法全解,样式优先级、值和单位、字体、文本、块级元素,行内元素,替换元素、非替换元素、display、float、position、table、li、光标、边距边框、轮廓、颜色背景

    全栈工程师开发手册 (作者:栾鹏) 一个demo学会css css选择器全解 css操作语法全解 CSS样式设置语法全解: 样式优先级 1. !important标记的样式 > 内联样式(sty ...

随机推荐

  1. 常见dos命令

    打开控制面板:win+r  control 服务: win+r  services.msc

  2. C1FlexGrid小结(转自http://www.cnblogs.com/C1SupportTeam/archive/2012/12/11/2812316.html)

    C1FlexGrid控件来对一个表格格式中的数据进行显示,编辑,组和总结.该表格可以绑定到一个数据源,它可以对自己的数据进行管理. C1FlexGrid控件有一个包含以下元素的丰富的对象模型: 以下的 ...

  3. ssh无密码登录设置方法以及出现问题 ECDSA host key 和IP地址对应的key不同的解决

    最近在做hadoop,因为要求各主机之间的用户必须相同,且为方便远程登录,需配置无密码登录 先附上ssh无密码登录设置方法: 先生成密钥并配置无ssh无密码登录本机,输入命令: ssh-keygen ...

  4. 【转】spring管理属性配置文件properties——使用PropertiesFactoryBean|spring管理属性配置文件properties——使用PropertyPlaceholderConfigurer

     spring管理属性配置文件properties--使用PropertiesFactoryBean 对于属性配置,一般采用的是键值对的形式,如:key=value属性配置文件一般使用的是XXX.pr ...

  5. Qt 5.7 > Qt Applications

    本文翻译自Qt官方文档: http://doc.qt.io/qt-5/qmlapplications.html QML 应用 QML是声明式语言,它使得用户界面以及交互行为可以被"描述&qu ...

  6. TortoiseGit HTTPS方式保存密码最简单的方法

    在TortoiseGit的设置 -> git 中选择 编辑本地 .git/config 在最后增加下面内容: [credential] helper = store

  7. CodeForces 702D Road to Post Office

    答案的来源不外乎于3种情况: 纯粹走路,用时记为${t_1}$:纯粹乘车,用时记为${t_2}$:乘车一定距离,然后走路,用时记为${t_3}$. 但是${t_1}$显然不可能成为最优解. 前两个时间 ...

  8. FZU 2193 So Hard

    #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> using ...

  9. kali Rolling 安装QQ

    ------------------------------------------------------------------- 环境: kali Rolling   64位 所需软件包: Wi ...

  10. em,strong,b,i的区别

    文章来源: http://www.zhihu.com/question/19551271 默认样式: strong=b=粗体 em=i=斜体   HTML4.01: strong,em代表语义,从语义 ...