您的位置:首页 > Web前端 > CSS

css定位与定位应用详解

2012-08-24 22:44 555 查看



  定位一直是WEB标准应用中的不容易解决的地方,假如理不明白定位那末有可能应成功实现的效果成功实现不成,成功实现了的效果有可能会走样。假如理清了定位的原理,那定位会让网页成功实现的更加完美。

  定位的定义:

  在CSS中关于定位的内部实质意义是:position:relative absolute static fixed

  static 没有尤其的设定,遵循基本的定位规定,不可以经过z-index施行层级分级。

  relative 不摆脱文档流,参照自身静态位置经过 top,bottom,left,right 定位,况且可以经过z-index施行层级分级。

  absolute 摆脱文档流,经过 top,bottom,left,right 定位。选取其近来的父级定位元素,当父级 position 为 static 时,absolute元素将以body坐标原点施行定位,可以经过z-index施行层级分级。

  fixed 固定定位,这处他所固定的对像是可视窗户而并非是body或是父级元素。可经过z-index施行层级分级。

  CSS中定位的重叠分级:z-index: auto namber;

  auto 遵照其父对象的定位

  namber 无单位的平头数值。可为负数

  定位的原理:

  可以位移的元素 (相对定位)

  在本文流中,不论什么一个元素都被文本流所限止了自身的位置,不过经过CSS我们依旧要得这些个元素可以变更自个儿的位置,我们可以经过float来让元素浮动,我们也可以经过margin来让元素生位置移动

  定位一直是WEB标准应用中的不容易解决的地方,假如理不明白定位那末有可能应成功实现的效果成功实现不成,成功实现了的效果有可能会走样。假如理清了定位的原理,那定位会让网页成功实现的更加完美。

  定位的定义:

  在CSS中关于定位的内部实质意义是:position:relative absolute static fixed

  static 没有尤其的设定,遵循基本的定位规定,不可以经过z-index施行层级分级。

  relative 不摆脱文档流,参照自身静态位置经过 top,bottom,left,right 定位,况且可以经过z-index施行层级分级。

  absolute 摆脱文档流,经过 top,bottom,left,right 定位。选取其近来的父级定位元素,当父级 position 为 static 时,absolute元素将以body坐标原点施行定位,可以经过z-index施行层级分级。

  fixed 固定定位,这处他所固定的对像是可视窗户而并非是body或是父级元素。可经过z-index施行层级分级。

  CSS中定位的重叠分级:z-index: auto namber;

  auto 遵照其父对象的定位

  namber 无单位的平头数值。可为负数

  定位的原理:

  可以位移的元素 (相对定位)

  在本文流中,不论什么一个元素都被文本流所限止了自身的位置,不过经过CSS我们依旧要得这些个元素可以变更自个儿的位置,我们可以经过float来让元素浮动,我们也可以经过margin来让元素萌生位置移动

  如上:相对定位只可以在文本流中施行位置的上下左右的移动,一样存在一定的限制性,固然他的表达区摆脱了文本流,不过在文本流却依旧为其保存了一席之地,这就好比一个做工的人他到达异乡,不过在老家依旧有一个专归属他的位置,这个位置不应他的移动而变更。不过这么很表面化便会空出一块空白来,假如期望文本流遗弃这个局部就需求用到完全定位,完全定位不止摆脱了文本流,并且在文本流中也不会给这个完全定位元素留下专属空位,这就好比是一个工厂里的工人,假如有一个工人走了天然会要有别的工人来补充这个位置。而移动出去的局部天然也就变成了自由

  完全定位将可以经过TRBL来设置元素居于不论什么一个位置。在父层position属性为默许值时,TRBL的坐标原点以body的坐标原点为开始。看下图:

  



  上图可知,文本流中的内部实质意义会代替完全定位无素的位置,一点儿都不会客气。而完全定位元素天然的重叠于文本流之上。而在纯一的完全定位中,定位元素将会跑到网页的左上角,由于那边是它们的被完全定位后的坐标原点。

  被关涉的完全定位

  上头说的是天真的完全定位,而在实际的应用中我们每常会需求用到一种尤其的方式。即期望定位元素要有完全定位的特别的性质,不过又期望完全定位的坐标原点可以固定在网页中的某一个点,当这个点被移动时完全位定元素期望能保障相对于这个原坐标的相对位置。也就是说需求这个完全定位要跟着网页移动,而况且是因定在网页的某一个固定位置。一般当网页是当中方式的时刻这种效果便会显得尤其的关紧。要成功实现这种效果基本形式就是为这个完全定位的父级设置为相对定位。那末完全定位的坐标便会以父级为坐标开始点。

  固然是这么,不过这个坐标原点却并不是父级的坐标原点,这是一个很奇怪的坐标位置。我们看一下子板型图示:

  



  我们看见,这个图中父级为黑灰色区块,子级为青色区块。父级是相对定位,子级是完全定位。子级设置了顶部位移50个像素,左倾位移50个像素。那末我们看,子级的坐标原点并不是从父级的坐标原点位移50个像素,而是从父级块的padding左上面缘点为坐标开始点。而父级这处假如要萌生位置移动,或是浏览器窗户体积有所变化都不会影响到这个完全定位元素与父级的相对定位元素之间的位置关系。这个子级也无须调平头数值。

  这是一种很尤其况且也是十分实用的应用形式。假如你之前对于定位的扼制并不自若的话,信任看完对这处对定位的诠释一定可以把定位运用得从心所欲。

  总在眼看东西假想线里的元素 (固定定位)

  因为广告的溢用,要得一点浏览器软件都着手有了广告内部实质意义中途阻挡,要得一点美好的效果如今都不引荐运用了。譬如让一个元素有可能随着网页的骨碌而不断变更自个儿的位置。而如今我可以经过CSS中的一个定位属性来成功实现这么的一个效果,这个元素属性就是以前不被支持的position:fixed; 他的涵义就是:固定定位。这个固定与完全定位很像,惟一不一样的是完全定位是被固定在网页中的某一个位置,而固定定位则是固定在浏览器的视框位置。

  固然原来的浏览器并不支持过个属性,不过浏览器的进展要得如今的高级浏览器都可以准确的解析这个CSS属性。况且经过CSS HACK来让IE6都可以成功实现这么的效果(到现在为止没有办法使IE5.x)成功实现这种效果。为了不使本文成为拉得很长的大论这处只给出这个实际的例子总算这篇文章的终了。关于这个实际的例子的一点问题大家可以自行剖析。有没完解的地方可以给我留言!

  定位应用

  Mozilla

  Opera

  NetscAPE

  Firefox

  IE6

  Windows

  Style

  CSS

  看右上角的内部实质意义,无论浏览器怎么骨碌,它始末在那一个地方!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: