css 浮动 绝对定位 和 相对定位
html是按照文件流(文档流)的方式加载的,但是全部是文档流的话,很多好看的样式是实现不了的,所以出现了浮动,相对定位,绝对定位的概念。
一、首先,按照文档流和非文档流来分类:
①文档流:就是按照上下左右的顺序一行一行排列的,长度不够就会自动挤到下一行。
②非文档流:顾名思义就是脱离文档流的,在文档流上面是不占据位置的。css有position的样式,position包括:static,relative,absolute,fixed四种值。其中static是属于文档流;relative也是属于特殊的文档流,详细下面有介绍;absolute和fixed以及float就是属于非文档流的,加载的时候,也会顺序加载,但是会脱离文档流的位置。
二、分别介绍static,relative,absolute,fixed和float(通过top,left,right,bottom来设置相对定位)
①static:就是默认的文档流,不手动设置position样式的话,默认就是static;
②relative:叫相对定位,指的是相对他自己原来的位置的相对位置,并且原来的位置还是占着的(所以说属于特殊的文档流),其他的元素不会填上去,但是设置好相对位置之后,他新的位置是不会挤压其他元素的,就像把该元素从原来的位置上抠出来,放在单独一层来布局。
③absolute:叫绝对定位,指的是①相对其父元素位置的绝对定位,但是他属于非文档流,②原来的位置是不会占着的,是单独的一层,脱离了文档流。除了以上两点,其他的和relative差不多。
④fixed:叫固定定位,指的是元素相对于浏览器窗口的定位(比如一些网站两边的广告),拉动滚动条,他也不会跟着动,也是属于非文档流,其他的跟relative差不多。
⑤float:叫浮动,是css单独的样式,有top,right,bottom,left四种常用值,以上四个是属于position的一种;float也是属于文档流,单会改变文档流。他只能和文档流在同一层,但是可以改变元素的位置,同样是占着位置的(和relative有点像),不会单独一层(而relative,absolute,fixed会单独一层,可以设置z-index属性来改变其前后位置)。使用float之后,元素则会脱离文档流,该元素则在文档流上不再占用位置,文档流的元素则会填补上去,这样如果不去设置的话则会出现重叠覆盖的情况;如果想使用了float的元素也占着文档流上的位置,该如何办呢?这时候,可以把应用了float样式的元素紧接着的元素应用clear样式,clear样式包括:both,right,left三个值。both表示right和left的float都清除掉,另外两个同理。这样子则可以清除在此之前的非文档流,让他们也占着文档流上的位置,但是这只是占着位置,其实该元素是不存在于该位置的,该位置不存在任何元素(详细自己google理解),但是这样子的话,紧接着的那个元素想设置margin等,是会出现问题的,因为应用了float样式的元素霸占的那个位置其实是什么东西也没有的,不存在边界,所以应用margin则不会以那个元素(应用了float的那个)为边界的,会跳过那个边界来计算,当然你也可以把margin设大点(也就是加上float元素的长度或者宽度)也可以达到效果。其实,可以在float后面的元素之前,单独加个 <div style="clear:both"> 清楚元素来专门用于清除浮动即可,接下来的元素应用margin则可以正常起效(补充:其实一般来说,可以在样式表里面单独设置 .clear{clear:both;} 这样的样式来专门用于清除浮动,避免重复,代码会规优雅规范很多)。
三、z-index作用
可以用来处理非文档流元素的前后位置,z-index越大,元素就在越前面(同时存在文档流和非文档流的时候才有意义)。
四、块元素和行内元素一些差别
①块元素才有width,height属性,而行内元素没有;
②每个块元素默认自动占一行,而行内默认会挤满一行才会继续下一行;
③行内元素在css加上“display:block”则可以使该元素变成块元素;
……
本文来自http://www.cnblogs.com/ismallboy/p/5256184.html
css 浮动 绝对定位 和 相对定位的更多相关文章
- css中绝对定位和相对定位详解
相对定位relative和绝对定位absolute 相对定位 相对定位是标签在根据没加position样式前的位置来定位不会受父级标签的定位的影响,并且定位后不会脱离文本流,会占据原来的位置. 接下来 ...
- 【CSS】绝对定位和相对定位
html:定位层 特点: >>完全脱离默认文档流,独立于立体层面的Z轴之上. >>和float浮动一样都脱离了默认文档流,但float元素与默认文档流之间会相互产生影响,而定位 ...
- css中绝对定位和相对定位的区别
先说个技巧一般用:子绝父相,即相对定位是给父级的,绝对定位的时候是给子级的. 一:绝对定位 position: absolute;绝对定位:绝对定位是相对于元素最近的已定位的祖先元素(即是设置了绝对定 ...
- CSS的绝对定位和相对定位
css定位标签position包括两个值:relative(相对定位)和absolute(绝对定位),position样式一般都是和top.bottom.left.right一起使用来确定一个标签的位 ...
- css position 绝对定位和相对定位
position:absolute这个是绝对定位:是相对于浏览器的定位.比如:position:absolute:left:20px;top:80px; 这个容器始终位于距离浏览器左20px,距离浏览 ...
- div+css位置绝对定位和相对定位
position:absolute: 当div中被隔着些元素的话那么用此方法将把元素重叠在一起,所以元素可以不在容器中加也能重叠在一起
- CSS定位(CSS定位概述、相对定位、绝对定位、浮动)
CSS 定位属性 CSS 定位属性允许你对元素进行定位. 属性 描述 position 把元素放置到一个静态的.相对的.绝对的.或固定的位置中. top 定义了一个定位元素的上外边距边界与其包含块上边 ...
- Css的向左浮动、先右浮动、绝对定位、相对定位的简单使用
1.div层的浮动 1)div向左浮动.向右浮动 <!doctype html> <html> <head> <meta charset="utf- ...
- css中的绝对定位和相对定位(详解,总结)
css中的绝对定位和相对定位(详解,总结) 总结: 设置绝对定位或者相对定位后都从文档中浮起来了,区别是相对定位还占着原来的位置,绝对定位不占着原来的位置,可以种z-index来改变元素的浮动的堆叠次 ...
随机推荐
- svn回到某个历史版本的做法
作者:朱金灿 来源:http://blog.csdn.net/clever101 一.在选中的文件上弹出svn的右键菜单,单击"Updateto revision"菜单项,如下图: ...
- PostgreSQL 系统表
postgres=# \d pg_class Table "pg_catalog.pg_class" Column | Type | Modif ...
- Example of working with a dump.
Let's say that you are looking at a crash dump, so following the first command from this page you do ...
- SSD-实现
一.制作voc数据集 1.数据集文件夹 新建一个文件夹,用来存放整个数据集,或者和voc2007一样的名字:VOC2007 然后像voc2007一样,在文件夹里面新建如下文件夹: 2.将训练图片放到J ...
- 列表的所有的input,将它的值以键值对的形式存放到一个数组里
要求的格式 代码块 $('.btn-confirm').on('tap',function(){ var arr={}; var name = $("input[name='insuranc ...
- Laravel API 允许跨域访问
服务器A请求服务器B的接口,那么一般会出现跨域问题.全解跨域请求处理办法 XMLHttpRequest cannot load http://api.console.vms3.com/api/user ...
- Spring-statemachine给end状态设置action
Spring-statemachine版本:当前最新的1.2.3.RELEASE版本 builder.configureStates() .withStates() .initial(generate ...
- Android中集成ffmpeg(一):编译ffmpeg
方案选择 Android中集成ffmpeg的codec功能无非两种方式: JNI直接调用,主要用于App开发(无权限修改系统底层),如EXOPlayer,JPlayer等. 集成ffmpeg到OMX, ...
- An internal error occurred during: "Checking tomcat state". Error while reading server.xml
An internal error occurred during: "Checking tomcat state". Error while reading server.xml ...
- HDFS中的命令行
HDFS中的命令行 本文介绍了HDFS以命令行执行的时候.几个经常使用的命令行的作用和怎样使用~ 1. fs fs是启动命令行动作,该命令用于提供一系列子命令. 使用形式为hadoop fs –cmd ...