Position详解---转
position有四个属性值:
- relative
- absolute
- fixed
- static
下面分别讲述这四个属性。
1. relative
relative属性,相对定位,我们要搞清它是相对哪个对象来进行偏移的。答案是它本身的位置。relative的偏移是基于对象的margin的左上侧的。但是这货又比margin更为强大,如果单独使用这个属性的时候,一般情况下,你可以把这货看成是全能的margin,因为它可以在display:inline的时候起作用,这点上margin值的上下边距就不起作用了,当然margin负值的某些应用用这个属性就实现不了了。比如,子级的margin负值可以减小display:inline-block父级的宽度,从而实现类似圆角的自适应按钮。如图:


而这个时候relative就无法替代margin了。所以说它一般的单独使用的时候是更强大的margin,当然这个货有其他组合的应用。
2. absolute
这个属性是一个强大的魔鬼。当设置元素的属性为absolute时,这个元素就飘起来了。脱离了文档流,尼玛呀,又是这货,看到”文档流“,我猜大部分人都不是很明白这诡异的东西,那么下面,我就来点干货,解释下文档流,已经了然于胸的大神请略过这段。
文档流(普通流):
将窗体自上而下分成一行行,并在每一行中按从左到右的顺序排放元素,即为文档流。
有三种情况将使得元素脱离文档流,分别是浮动(float left or right)、绝对定位(position:absolute)、固定定位(position:fixed)。其中浮动引起的脱离文档流和定位引起的表现上又有所不同。关于这点不同,那就有待读者自行码demo了。
当元素的position设置为absolute后,元素将怎样进行偏移呢?这里分为两种情况:
(1) 当元素的父级(也可以是爷爷,或者是爷爷的爷爷)设置了position属性,且position的属性值为absolute或者relative时,这个时候,元素将按照这个父级来进行定位。
对象虽然确定好了,但有些地方需要思考,如果父级设定了 margin,border,padding等属性,那么这个定位点将从哪里开始呢?答案是从padding开始

(2) 如果元素的父级不存在一个有着position属性值为absolute或者relative的对象时,那么那就会以body为定位对象,这个比较容易理解。
3. fixed
fixed是相对于可视区域进行偏移的,不管你是不是拖动浏览器的滚动条,不管它的父级是谁,是天王老子,它都不会鸟你,如果不明白,请自行码demo,哦,one more thing:IE6这家伙是不支持的。如果要事先IE6 fixed的效果,可以用css表达式来解决这个问题。如图:


4. static
position的默认值,一般不设置position属性时,会按照正常的文档流进行排列。
Position详解---转的更多相关文章
- div+css定位position详解
div+css定位position详解 1.div+css中的定位position 最主要的两个属性:属性 absolute(绝对定位) relative(相对定位),有他们才造就了div+css布局 ...
- [TimLinux] CSS float和position详解
1.1. 定义 摘自w3school:float 属性定义元素在哪个方向浮动.以往这个属性总应用于图像,使文本围绕在图像周围,不过在 CSS 中,任何元素都可以浮动.浮动元素会生成一个块级框,而不论它 ...
- Kooboo CMS - Html.FrontHtml.Position 详解
DataContract 数据契约 http://www.cnblogs.com/Gavinzhao/archive/2010/06/01/1748736.html https://msdn.micr ...
- CSS定位属性Position详解
CSS中最常用的布局类属性,一个是Float(CSS浮动属性Float详解),另一个就是CSS定位属性Position. 1. position:static 所有元素的默认定位都是:position ...
- CSS中position详解与常见应用实现
在web前台开发时候,我们必不可少的会用到postion属性进行布局定位.今天总结了一下position知识点,与常用功能与大家分享,欢迎大家交流指正. 首先我们对postion属性进行详解. 在CS ...
- position详解
本文旨在普及一下position的用法,CSS中position的使用率相当之高,对于新入行的小白,不仅要知其然,还要知其所以然. position(定位类型),主要有4种属性值 : static.f ...
- CSS定位之position详解(转载)
本文转载于xingoo的博文:http://www.cnblogs.com/xing901022/p/5193751.html position属性 在前端中,position是很常见的属性.通过这 ...
- 定位position详解:relative与absolute
定位标签:position 包含属性:relative(相对) absolute(绝对) 1.position:relative; 如果对一个元素进行相对定位,首先它将出现在它所在的位置上.然后通过设 ...
- CSS之Position详解
CSS的很多其他属性大多容易理解,比如字体,文本,背景等.有些CSS书籍也会对这些简单的属性进行大张旗鼓的介绍,而偏偏忽略了对一些难缠的属性讲解,有避重就轻的嫌疑.CSS中主要难以理解的属性包括盒型结 ...
随机推荐
- Objective C - UIColor
UIColor+Hex.h #import <UIKit/UIKit.h> @interface UIColor (Hex) + (UIColor *) colorWithHexStrin ...
- TS相关知识点
数字电视的TS包和TS流的组成和功能 综合考虑几下几个因素: (1)包的长度不能过短,否则包头开销所占比例过大, 导致传输效率下降 (2)包的长度不能过长,否则在丢失同步的情况下恢复同步的 周期过长, ...
- asp.net 常用的3中身份验证
1. windows验证: IIS根据应用程序的设置来进行身份验证,要使用这中验证方式,必须禁止使用匿名用户登录. 2. Forms验证: 通过Cookies来保存用户凭证,对未登录的用户 重定向到自 ...
- C#获取本机IP方法,获取本机局域网IP地址方法
1. private void GetIP() { string hostName = Dns.GetHostName();//本机名 //System.Net.IPAddress[] address ...
- iOS之短信认证
短信验证 现在很多的短信验证平台,我们比较常用的有移动开发者服务平台 根据短信验证文档来集成 1. 找到iOS短信验证的集成开发文档 2. 下载SDK和Demo目录结构 3. 运行Demo 4. 写 ...
- SERVERPROPERTY方法说明
SERVERPROPERTY 返回有关服务器实例的属性信息. 语法 SERVERPROPERTY ( propertyname ) 参数 propertyname 是包含要返回的服务器属性信息的表达式 ...
- oracle函数trunc的使用
1.日期比较时精确到日,可以使用 TRUNC(sysdate,'dd')函数.函数支持格式有:yyyy MM dd hh Mi可以用 select TRUNC(sysdate,'yyyy') ...
- css基础之 id和选择器
id 和 class 选择器 如果你要在HTML元素中设置CSS样式,你需要在元素中设置"id" 和 "class"选择器. (1) id 选择器 id 选择器 ...
- 【转】关于C++程序的编码问题
引用自:http://blog.chinaunix.net/uid-26790551-id-3190813.html 我们传统的程序基本都只在Windows或只在Linux下运行,Windows程序使 ...
- AspectJ的安装和Eclipse的AJDT插件的配置
一.安装AspectJ:1.从http://www.eclipse.org/aspectj/downloads.php 下载AspectJ(目前发布的最新版为1.8.6);2.解压下载下来的jar文 ...