CSS传统布局之display属性+float属性+position属性
这三个属性是传统网页布局中经常用到的属性。
读这篇文章之前,希望你对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都可以让元素脱离文档流,但是两者依然有些许差异如下:
- float:left 和float:righ可以使一个元素脱离正常的文档流,然后被安放到它所在容器的的左端或者右端,但是所在容器的其他的文本和行内元素围绕它安放。(这一点再次说明了浮动的本意,即仅仅是行级元素的环绕而已)
- position:absolute和position:fixed会使该元素脱离文档流,同时其他盒子与其他盒子内的文本都会无视它,因此可能会出现该元素覆盖在其他元素之上的情况。
这篇文章适合和css的核心之一布局模型结合起来看,可能更有效果。
CSS传统布局之display属性+float属性+position属性的更多相关文章
- 谈谈CSS的布局,display、position、float
前言 前端一直是我的一个很大的缺憾,这段时间痛顶思痛,决定好好的把前台的东西加强,这不,在学习了一段时间js之后,在做一些小练习,却发现最基本的一些css知识却还不了解,所以便有了这篇博文. 块级元素 ...
- CSS float和position属性
1. 浮动 CSS float属性定义了元素在水平方向的浮动.该元素从网页的正常流动(文档流)中移除,对于浮动元素后的块级元素,块级元素将会被浮动元素覆盖,并且会接着其上一个文档流中的元素,按文档流的 ...
- css的float和position属性
(1)float的简单用法 <!DOCTYPE html> <html lang="en"> <head> <meta charset=& ...
- 第 27 章 CSS 传统布局[下]
学习要点: 1.定位布局 2.box-sizing 3.resize 主讲教师:李炎恢 本章主要探讨 HTML5 中 CSS 早期所使用的传统布局,很多情况下,这些布局方式还是非常有用的. 一.定位布 ...
- 第 27 章 CSS 传统布局[上]
学习要点: 1.布局模型 2.表格布局 3.浮动布局 主讲教师:李炎恢 本章主要探讨 HTML5 中 CSS 早期所使用的传统布局,很多情况下,这些布局方式还是非常有用的. 一.布局模型 在早期没有平 ...
- CSS传统布局之页面布局实例
传统的页面布局依赖于盒模型+流动模型(flow)+浮动模型(float)+层模型(layer)来实现页面的布局,具体方法是通过盒模型+display属性+float属性+position属性来加以实现 ...
- CSS传统布局之布局模型
刚开始准备这篇文章的时候,查到的有很多包含“布局模型”的中文博客或是资料,但是google上并未找到类似字眼,google到的是“flex layout module”“grid layout mod ...
- HTML+CSS教程(六)浮动-float+定位-position+居中问题
一.浮动(float)1.文档流:是指盒子按照 html 标签编写的顺序依次从上到下,从左到右排列,块元素占一行,行内元素在一行之内从左到右排列,先写的先排列,后写的排在后面,每个盒子都占据自己的位置 ...
- CSS样式设置语法全解,样式优先级、值和单位、字体、文本、块级元素,行内元素,替换元素、非替换元素、display、float、position、table、li、光标、边距边框、轮廓、颜色背景
全栈工程师开发手册 (作者:栾鹏) 一个demo学会css css选择器全解 css操作语法全解 CSS样式设置语法全解: 样式优先级 1. !important标记的样式 > 内联样式(sty ...
随机推荐
- jquery 使用attr() 函数对复选框无效的原因
复选框是网站开发的时候经常用到的网页标签之一,常见的在页面上对复选框的操作包括取值和修改复选框的状态.在jquery中,常见的操作标签的值得函数为attr,然而在操作复选框的时候,通常采用的却是pr ...
- 注册表对比工具(Regshot) V2.0.1 中文绿色版
软件名称: 注册表对比工具(Regshot)软件语言: 简体中文授权方式: 免费软件运行环境: Win7 / Vista / WinXP软件大小: 263KB图片预览: 软件简介:Regshot 是一 ...
- PHP奇怪现象
<?php $a = 0.29; $b = (int)($a*100); echo $b; //输出28,PHP版本5.6.24 echo 0.1 + 0.2 - 0.3; //输出5.5511 ...
- ntp升级
1. 系统与软件版本 1.1 系统版本 CentOS6.5 x86_64 1.2 ntpd软件版本 ntp-4.2.8p9.tar.gz 1.3 下载地址 官方下载地址:http://support. ...
- Byte Array to Hexadecimal String
Lookup Text: 23,879.41 (20.8X faster) Sentence: 1.15 (23.9X faster) /// <summary> /// Hex stri ...
- MySQL导出csv乱码问题的解决
csv乱码问题的解决 从MySQL导出数据到 csv 文件后,有时会发现用 excel 打开该导出 csv 文件显示的是乱码.这个问题是 csv 文件本身的文本编码问题导致的,解决办法: 1 ...
- 描述符和property内建函数
首先我们搞清楚__getattr__ ,__get__ 和 __getattribute__ 作用的不同点. __getattr__在授权中会用到. __getattribute__ 当要访问属性时 ...
- Layui文件上传样式在ng-dialog不显示的问题处理
1.项目业务改动,在一个弹窗页面加图片上传. 2.页面使用angular框架,图片上传使用layui的文件上传组件. js: layui.upload({ url: '/test/upload.jso ...
- LEK-Introduction
LEK - logstash + elasticsearch + Kibana Elasticsearch, Logstash, and Kibana — designed to take data ...
- mysql5.7.14 配置
1. 下载并解压 zip包 2.将解压后的目录 bin 配置到path中 3.修改my-default.ini 文件名为my.ini 4.配置my.ini [mysql] #设置mysql客户端默认 ...