详解CSS定位语法应用

开发 前端
你对CSS定位的语法是否了解,这里向大家描述一下CSS定位语法应用,主要包括position属性,Z-index属性,top属性,right属性,left属性等内容,相信本文介绍一定会让你有所收获。

本文向大家描述一下CSS定位语法应用,CSS定位中有几种属性的设置,每种属性都有各自的语法和取值,这里和大家分享一下,比如position属性,它共有四种取值,分别是static、absolute、fixed和relative。

详解CSS定位语法应用

一、CSS定位:position

  ◆语法:

  position:static|absolute|fixed|relative

  ◆取值:

  static:默认值。无特殊定位,对象遵循HTML定位规则。

  absolute:将对象从文档流中拖出,使用left,right,top,bottom等属性相对于其最接近的一个最有定位设置的父对象进行绝对定位。如果不存在这样的父对象,则依据body对象。而其层叠通过z-index属性定义。

  fixed:未支持。对象定位遵从绝对(absolute)方式。但是要遵守一些规范。

  relative:对象不可层叠,但将依据left,right,top,bottom等属性在正常文档流中偏移位置。

  ◆说明:检索对象的定位方式。

  设置此属性值为absolute会将对象拖离出正常的文档流绝对定位而不考虑它周围内容的布局。假如其他具有不同z-index属性的对象已经占据了给定的位置,他们之间不会相互影响,而会在同一位置层叠。此时对象不具有外补丁(margin),但仍有内补丁(padding)和边框(border)。

要激活对象的绝对(absolute)定位,必须指定left,right,top,bottom属性中的至少一个,并且设置此属性值为absolute。否则上述属性会使用他们的默认值auto,这将导致对象遵从正常的HTML布局规则,在前一个对象之后立即被呈递。

  设置此属性值为relative会保持对象在正常的HTML流中,但是它的位置可以根据它的前一个对象进行偏移。在相对(relative)定位对象之后的文本或对象占有他们自己的空间而不会覆盖被定位对象的自然空间。与此不同的,在绝对(absolute)定位对象之后的文本或对象在被定位对象被拖离正常文档流之前会占有它的自然空间。放置绝对(absolute)定位对象在可视区域之外会导致滚动条出现。而放置相对(relative)定位对象在可视区域之外,滚动条不会出现。

  内容的尺寸会根据布局确定对象的尺寸。例如,设置一个div对象的height和position属性,则div对象的内容将决定它的宽度(width)。

  此属性对于currentStyle对象而言是只读的。对于其他对象而言是可读写的。对应的脚本特性为position。

  ◆示例:  

  1. div{position:relative;top:-3px}  
  2.  

二、CSS定位:Z-index

  ◆语法:

  z-index:auto|number

  ◆取值:

  auto:默认值。遵从其父对象的定位
  number:无单位的整数值。可为负数

  ◆说明:

  检索或设置对象的层叠顺序。

  较大number值的对象会覆盖在较小number值的对象之上。如两个绝对定位对象的此属性具有同样的number值,那么将依据它们在HTML文档中声明的顺序层叠。对于未指定此属性的绝对定位对象,此属性的number值为正数的对象会在其之上,而number值为负数的对象在其之下。设置参数为null可以移除此属性。

  此属性仅仅作用于position属性值为relative或absolute的对象。这个属性不会作用于窗口控件,如select对象。在IE5.5+中,iframe对象开始支持此属性。而在之前的浏览器版本中,iframe对象是窗口控件,会忽略此属性。此属性对于currentStyle对象而言是只读的。对于其他对象而言是可读写的。对应的脚本特性为zIndex。

  ◆示例:  

  1. div{position:absolute;z-index:3;width:6px;}  
  2.  

#p#三、CSS定位:top

  ◆语法:

  top:auto|length

  ◆取值:

  auto:默认值。无特殊定位,根据HTML定位规则在文档流中分配。

  length:由浮点数字和单位标识符组成的长度值|百分数。必须定义position属性值为absolute或者relative此取值方可生效。

  ◆说明:

  检索或设置对象与其最近一个具有定位设置的父对象顶边相关的位置。

  此属性仅仅在对象的定位(position)属性被设置时可用。否则,此属性设置会被忽略。此属性对于currentStyle对象而言是只读的。对于其他对象而言是可读写的。对应的脚本特性为top。其值为一字符串,所以不可用于脚本(Scripts)中的计算。请使用style对象的posTop,pixelTop等运行时特性,以及对象的offsetTop等特性。

  ◆示例:

以下是引用片段:  

  1. div{position:absolute;top:1in;}  
  2. iv{position:relative;top:-3px;left:6px;}  

四、CSS定位:right

  ◆语法:

  right:auto|length

  ◆取值:

  auto:默认值。无特殊定位,根据HTML定位规则在文档流中分配。

  length:由浮点数字和单位标识符组成的长度值|百分数。必须定义position属性值为absolute或者relative此取值方可生效。

  ◆说明:

  检索或设置对象与其最近一个具有定位设置的父对象右边相关的位置。

  此属性仅仅在对象的定位(position)属性被设置时可用。否则,此属性设置会被忽略。此属性对于currentStyle对象而言是只读的。对于其他对象而言是可读写的。对应的脚本特性为right。其值为一字符串,所以不可用于脚本(Scripts)中的计算。请使用style对象的posRight,pixelRight等运行时特性。

  ◆示例:

以下是引用片段: 

  1.   div{position:absolute;right:1in;}  
  2.   div{position:relative;top:-3px;right:6px;}  
  3.  

#p#五、CSS定位:bottom

  ◆语法:

  bottom:auto|length

  ◆取值:

  auto:默认值。无特殊定位,根据HTML定位规则在文档流中分配。

  length:由浮点数字和单位标识符组成的长度值|百分数。必须定义position属性值为absolute或者relative此取值方可生效。

  ◆说明:

  检索或设置对象与其最近一个具有定位设置的父对象底边相关的位置。此属性仅仅在对象的定位(position)属性被设置时可用。否则,此属性设置会被忽略。此属性对于currentStyle对象而言是只读的。对于其他对象而言是可读写的。对应的脚本特性为bottom。其值为一字符串,所以不可用于脚本(Scripts)中的计算。请使用style对象的posBottom,pixelBottom等运行时特性。

  ◆示例:

以下是引用片段: 

  1.   div{position:absolute;bottom:1in;}  
  2.   div{position:relative;bottom:6px;}  
  3.  

六、CSS定位:left

  ◆语法:

  left:auto|length

  ◆取值:

  auto:默认值。无特殊定位,根据HTML定位规则在文档流中分配。

  length:由浮点数字和单位标识符组成的长度值|百分数。必须定义position属性值为absolute或者relative此取值方可生效。

  ◆说明:

  检索或设置对象与其最近一个具有定位设置的父对象左边相关的位置。

  此属性仅仅在对象的定位(position)属性被设置时可用。否则,此属性设置会被忽略。此属性对于currentStyle对象而言是只读的。对于其他对象而言是可读写的。对应的脚本特性为left。其值为一字符串,所以不可用于脚本(Scripts)中的计算。请使用style对象的posLeft,pixelLeft等运行时特性,以及对象的offsetLeft等特性。

  ◆示例:

以下是引用片段: 

  1.   div{position:absolute;left:1in;}  
  2.   div{position:relative;top:-3px;left:6px;}  
  3.  

【编辑推荐】

  1. 三大CSS定位机制和position属性用法
  2. CSS组合与嵌套用法详解
  3. CSS样式表设计十个雕虫小技
  4. 深入学习六大CSS选择符的使用
  5. 解读DIV CSS网页布局中CSS无效十个原因

 

责任编辑:佚名 来源: yesky.com
相关推荐

2010-08-25 15:56:10

CSSPositioning定位

2010-09-14 16:57:29

DIV绝对定位CSS

2010-09-08 16:22:32

PositionCSS

2010-09-14 17:20:03

CSS DIV相对定位

2010-09-10 12:40:06

CSS相对定位CSS绝对定位

2010-09-07 11:14:32

CSS属性选择器CSS

2010-08-31 08:51:58

marginCSS

2010-09-07 10:39:59

CSS伪元素

2010-09-14 17:27:12

DIV CSS定位

2010-09-13 10:52:37

CSS定位

2010-09-09 14:52:56

CSS盒模型

2010-09-08 14:53:51

CSS继承

2010-08-31 10:30:59

CSSpositionz-index

2014-07-24 09:11:34

2010-09-06 11:17:19

CSS相对定位CSS绝对定位

2010-09-10 11:32:23

CSS绝对定位CSS相对定位

2010-03-04 15:52:59

Python构造列表

2010-09-06 13:59:23

CSS缩写

2010-08-25 09:30:56

marginCSS

2010-08-02 13:04:04

Flex3
点赞
收藏

51CTO技术栈公众号