一、CSS 定位和浮动
 
它们代替了多年来的表格布局。
 
定位的思想很简单,相对于正常位置、相对于父元素、另一个元素甚至是浏览器窗口的位置。
 
浮动在 CSS1 中被首次提出。浮动不完全是定位,当然也不是正常的流布局。
 

 
二、一切都是框
 
display 属性设置元素是什么框类型。其属性为 block、inline、none 时,分别表示块级元素、行内元素和不显示(也不占用文档的空间)。
 

 
三、定位机制
 
有三种基本的:普通流、绝对定位和浮动。
 
在下面的小节里,会给你详细讲解相对定位、绝对定位和浮动。
 

 
四、定位(position)属性的四个值
 
static、relative、absolute 和 fixed。
 
static(默认):正常显示的位置
 
relative:相对于正常显示位置,偏移后的位置。发生偏移后,原本所占的空间仍然保留。
 
absolute:相对于包含块定位,包含块可能是文档中的另一个元素或者是初始包含块。元素原先在正常文档流里的所占空间不再保留,就好像元素原来就不存在一样。
 
fixed:表现类似 absolute,不过它的包含块是浏览器的窗口。
 
其实,相对定位实际上被看作是普通流定位中的一部分,因为元素的位置相对于它在普通流中的位置。
 

 
五、相对定位 relative
 
这是一个非常容易掌握的概念。一个元素被设置为相对定位,那就是相对于它的起点(正常的位置)垂直或者水平移动一段距离。
 
举个例子:如果一个元素,要相对于正常位置,往下 20 像素,往右 30 像素,那么它的 CSS 代码应该这样↓
 
#box_relative {
position: relative;
left: 30px;
top: 20px;
}
 
我们看页面最终效果的话,会更加直观:
 
 
注意,使用相对定位进行移动,原来元素所占据的空间仍然保留,不仅如此,它还会覆盖其它的框。
 

 
六、绝对定位 absolute
 
绝对定位的元素是一个块级框,而不论它在正常流中是何种类型的框。
 
与相对定位不同的是,绝对定位会从文档流里完全删除,所以不占据空间,并相对于其包含块定位。在普通流里布局的元素,就当作绝对定位元素不存在一样:
 
#box_relative {
position: absolute;
left: 30px;
top: 20px;
}

 
这里的包含块是指最近的被定位的(positioned)元素。被定位的元素是指 position 的取值除 static 之外的元素。
 
如果绝对定位的元素往上一级、往上上一级……到文档的 body 元素了,如果还没找到包含块,那么它的包含块就是 body,它最终相对于 body 元素定位!
 

 
七、绝对定位 fixed 
 
与 absolute 类似,不过它是相对于视窗(浏览器窗口)定位的。通常一张页面的顶部导航栏就是用 fixed 定位的。
 
 
但,移动浏览器对 fixed 的支持很差。不过,这里有解决方案。
 

 
八、浮动
 
关于浮动,并不难,但有一大堆要说的,放在以后吧。
 
(完)

CSS 定位的更多相关文章

  1. css定位

    文档流 所谓的文档流,指的是元素排版布局过程中,元素会自动从左往右,从上往下的流式排列.并最终窗体自上而下分成一行行, 并在每行中按从左至右的顺序排放元素.脱离文档流即是元素打乱了这个排列,或是从排版 ...

  2. 常用的CSS定位,XPath定位和JPath定位

    CSS定位 举例 描述 div#menu id为menu的div元素 div.action-btn.ok-btn class为action-btn和ok-btn的div元素 table#emailLi ...

  3. div+css定位position详解

    div+css定位position详解 1.div+css中的定位position 最主要的两个属性:属性 absolute(绝对定位) relative(相对定位),有他们才造就了div+css布局 ...

  4. Selenium自动化中DOM,XPATH,CSS定位Web页面对象的优劣性分析

    加速IE浏览器自动化执行效率:Selenium自动化中DOM,XPATH,CSS定位Web页面对象的优劣性分析 1.技术背景       在Web应用中,用户通过键盘在输入框中输入值和鼠标点击按钮,链 ...

  5. CSS定位小技巧

    CSS定位Static 默认定位Relative 相对定位:left 和topposition: relative;/*相对定位*/ left:40px;/*在原来的位置向右移动*/ top:100p ...

  6. (七)CSS定位(Positioning)

    CSS定位属性允许对元素进行定位. 一切皆为框: div.h1或p元素常被称为块级元素,而span和strong等元素成为行内元素,但是可是使用 display 属性改变框的类型,将display设置 ...

  7. CSS定位(CSS定位概述、相对定位、绝对定位、浮动)

    CSS 定位属性 CSS 定位属性允许你对元素进行定位. 属性 描述 position 把元素放置到一个静态的.相对的.绝对的.或固定的位置中. top 定义了一个定位元素的上外边距边界与其包含块上边 ...

  8. CSS定位(postion)和移动(float)

    5.定位和移动:Positioning(定位)CSS定位属性允许你为一个元素定位.它也可以将一个元素放在另一个元素后面,并指定一个元素的内容太大时,应该发生什么. 元素可以使用的顶部,底部,左侧和右侧 ...

  9. CSS定位属性Position详解

    CSS中最常用的布局类属性,一个是Float(CSS浮动属性Float详解),另一个就是CSS定位属性Position. 1. position:static 所有元素的默认定位都是:position ...

随机推荐

  1. Hibernate简单实例

    1.配置hibernate.cfg.xml文件(名字必须这么写): <?xml version='1.0' encoding='utf-8'?> <!DOCTYPE hibernat ...

  2. Asp.net点击按钮弹出文件夹选择框的实现(网页)

    本文地址:http://www.cnblogs.com/PiaoMiaoGongZi/p/4092112.html 在Asp.net网站实际的开发中,比如:需要实现点击一个类似于FileUpload的 ...

  3. PG, Pool之间的一些数量关系

    先说一下我的环境: Ceph cluster中包含6台OSD节点 (osd.0 - 5), 一共有10个Pool (0 - 9), 这些Pool共享了144个PG (这个数字是所有Pool的PG_SI ...

  4. TypeScript学习记录

    TypeScript官网 TypeScript中文网 TypeScrpit Handbook 中文版 DefinitelyTyped The TypeScript Definition Manager ...

  5. bootstrap全局CSS样式学习

    参考http://v3.bootcss.com/css/,根据自己的记忆进行的复述,加深记忆. 首先介绍bootstrap全局CSS样式 只通过使用bootstrap.css,即可获得统一的样式设置. ...

  6. 支付宝C# RSA签名 报系统找不到指定的文件问题解决

    做支付宝在线支付模块,安卓和苹果端都没为问题,服务器也能顺利的收到付款异步通知. 在做WEB端支付的时候遇到个奇怪的问题:本地localhost调试支付没问题,代码更新到服务器就出现了未将对象引用设置 ...

  7. angularJs禁用或启用输入框指令ng-disabled="true"

    ng-disabled 指令设置表单输入字段的 disabled 属性(input, select, 或 textarea). 如果 ng-disabled 中的表达式返回 true 则表单字段将被禁 ...

  8. [PCL]FPFH描述子

    fpfh_est.setSearchSurface(data); 如果没有设置SearchSurface,使用input数据集作为查找的表面 // If no search surface has b ...

  9. 用"僵尸对象"调试内存管理问题

    Cocoa提供了"僵尸对象"(Zombie Object)这个功能.启用这项调试功能之后,运行时系统会把所有已经回收的实例转化成特殊的"僵尸对象",而不会真正回 ...

  10. Linux中的软硬链接

    说到Linux中的软硬链接,就必须谈一下Linux的文件系统的组成的重要部分iNode和block. 首先是iNode,先用一张图了解一下iNode在Linux文件系统中的地位: Linux中的文件的 ...