此文根据Steven Bradley的《How Well Do You Understand CSS Positioning?》所译,整个译文带有我自己的理解与思想,如果译得不好或不对之处还请同行朋友指点。

当人们刚接触布局的时候都比较倾向于使用定位的方式。因为定位的概念看起来好像比较容易掌握。表面上你确切地指定了一个块元素所处的位置那么它就会坐落于那里。可是定位比你刚看到的时候要稍微复杂一点。对于定位来说,有一些东西会绊倒新手,所以在它成为你的惯用技巧前你需要掌握它们。

一旦你更深入地了解了它是怎么运作的,你就能够做出一些更棒的事情来。

CSS盒模型和定位的类型

为了搞清楚定位首先你得了解CSS盒模型。在上一句中的链接是我写在InstantShift 中的一篇关于盒模型的文章。我在那篇文章做了详细的讲解并会在这篇文章中做一个快速的总结。

在CSS中,每一个元素都由一个矩形盒子所包含。每一个盒子都会具有一个内容区,内容区被一个内边距所包裹,内边距外是盒子的边框,并且在边框之外会有一个外边距用于与其他盒子分隔开来。这些你可以从下面这张图片看到。

aaarticlea/jpeg;base64,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UKQSzAAAg1zngf4++DPiDd6Ta6TqsDXWpaQusxwPcwl4oicNHIqyEiRCGDLyF2tzxUOtTTUXJXZ0xy3GzpyrRoy5YpNuzsk02n6NJs9FormbL4neDtT0O61qz8WaHd6PayrDcahBqUL28MjFQqPIG2qxLqACcksPUVFpXxZ8D67qFnYab4y8P6hfXoLWtraapBLLOBuBKKrktjY3TP3T6Gn7Wnp7y18zP6hi7SfsZe7v7r00vrpppr6HV0UUVqcIUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFeCX/w08WahN4t0BvD+kx6ZrniSPWIvEC3QEkEaPE4Z4gu55lMJCYYDDKCRtOfe6Kwq0Y1rKT/pnrZfmVXLpSlSim3be+ji001ZrVNdbrumeI6F8MvEVvd+GdDudJ02307w/rk2sjxDDcZkuwxlOBCFDLJJ55VyzEfKxy2RWDp3wi8XX/gXQtAvNLtbKVPBsfhy5ee5SaFJoHG3eF5aKYRgHGSok5U4Ir6Morn+pU2rXf8AwNPLy9T1lxLjIvmUY3uns/ivJ3+Lq5NtbXSskrp+G6r8OPEnjbWJ9cvdBsPD0jPodsdOS7FwZ4bTU4ruWR2CquFQOqLgk/NnGQK2Y/hdfQytLHZ2iSN4z/t5nUqCYORuJx975jx15PrXrNFWsLC93v8A1/mc8s+xTj7OKSitkr6aRVtW29IrdsKKKK7D5sKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP/9k=" alt="" />

定位模式规定了一个盒子在总体的布局上应该处于什么位置以及对周围的盒子会有什么影响。定位模式包括了常规文档流,浮动,和几种类型的 position 定位的元素。

CSS position 属性可以取5种值:

  • position: absolute
  • position: relative
  • position: fixed
  • position: static
  • position: inherit

我会在下面对前三个值进行详细的阐述并简单地讲解一下最后两个值。

static 是 position 默认的属性值。任何应用了 position:static 的元素都处于常规文档流中。它处于什么位置以及它如何影响周边的元素都是由盒模型所决定的。

一个 static 定位的元素会忽略所有 top,right,bottom,left 以及 z-index 属性所声明的值。为了让你的元素能使用任何的这些属性,你需要先为它的 position 属性应用这三个值的其中之一: absolute,relative,fixed

position 值为 inherit 的元素和其他所有属性的继承值一样,元素只是简单地应用了与父元素一样的 position 值。

绝对定位(Absolute Positioning)

绝对定位的元素会完全地从常规文档流中脱离。对于包围它的元素而言,它会将该绝对定位元素视为不存在。就好像display 属性被设为 none 一样。如果你想要保持它所占有的位置而不被其他元素所填充,那么你需要使用其他的定位方式。

你可以通过 top, right, bottom, 和 left 四个属性来设置绝对定位元素的位置。但你通常只会设置它们其中的两个,top 或者 bottom,以及 left 或者 right。默认地它们的值都为 auto。

弄明白绝对定位的关键是知道它的起点在哪里。如果 top 被设置为20px那么你要知道这20px是从哪里开始计算的。

一个绝对定位的元素的起点位置是相对于它的第一个 position 值不为 static 的父元素而言的。如果在它的父元素链上没有满足条件的父元素,那么绝对定位元素则会相对于文档窗口来进行定位。哈!

关于“相对”这个概念你或许有点迷惑,尤其是还有一个叫相对定位的东西,这是我们还没有讲到的。

当你在一个元素的样式上设置 position:absolute 意味着需要考虑父元素,并且如果父元素的 position 值不为 static ,那么绝对定位元素的起点为父元素的左上角位置。

如果父元素没有应用除了 static 以外的 position 定位,那么它会检查父元素的父元素是否有应用非 static 定位。如果该元素应用了定位,那么它的左上角便会成为绝对元素的起点位置。如果没有则会继续向上遍历DOM直到找到一个定位元素或者寻找失败以到达最外层的浏览器窗口。

相对定位(Relative Positioning)

相对定位的元素也是根据 top, right, bottom, 和 left 四个属性来决定自己的位置的。但只是相对于它们原来所处于的位置进行移动。在某种意义上来说,为元素设置相对定位和为元素添加 margin 有点相似,但也有一个重要的区别。区别就是在围绕在相对定位元素附近的元素会忽略相对定位元素的移动。

我们可以把它看做是一张图片的重像从真实的图片的位置开始进行了一点移动。它原始图片所占据的位置仍然保留,但我们已经没法再看到它,只能看到它的重像。这样就让元素之间可以进行位置的重叠,因为相对定位元素能够移动到其他元素所占据的空间中。

相对定位元素离开了正常文档流,但仍然影响着围绕着它的元素。那些元素表现地就好像这个相对定位元素仍然在正常文档流当中。

我们无需再追问这个相对的位置是在哪里。因为这个相对位置很显然是正常的文档流。相对定位有点儿像为元素添加了 margin ,对相邻元素来说却像是什么都没发生过。但实际上并没有增加任何的 margin 。

固定定位(Fixed Positioning)

固定定位的行为类似于绝对定位,但也有一些不同的地方。

首先,固定定位总是相对于浏览器窗口来进行定位的,并且通过哪些属性的 top, right, bottom, 和 left 属性来决定其位置。它抛弃了它的父元素,它就是定位中表现地有点儿反叛。。

第二个不同点是其在名字上是继承的。固定定位的元素是固定的。它们并不随着页面的滚动而移动。你可以告诉元素它所处的位置并永远不再移动。噢~好像还挺乖巧的。

在某种意义上说固定定位元素有点儿类似固定的背景图片,只不过它的外层容器块总是浏览器窗口罢了。如果你在 body 中设置一个背景图片那么它与一个固定定位的元素的行为时非常像的,只不过在位置上的精度会略少一些。

背景图片也不能改变其在第三个维度的大小,也因而带来了 z-index 属性。

打破了平面的 Z-Index

这个页面是一个二维平面。它具有宽度和高度。我们活在一个用 z-index 作为其深度的三维的世界当中。这个额外的维度能够穿越一个平面。

aaarticlea/jpeg;base64,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" alt="" />

由上图可知,高的 z-index 位于低的 z-index 的上面并朝页面的上方运动。相反地,一个低的 z-index 在高的 z-index 的下面并朝页面下方运动。

没有的 z-index 的话,定位元素会有点儿麻烦。因为 z-index 能让一个定位元素位于另一个元素的上方或者下方,这或许能让你做出点创造性的东西。所有的元素的默认的 z-index 值都为0,并且我们可以对 z-index 使用负值。

z-index 实际上比我在这里描述的要更加地复杂,但细节写在了另一篇文章里。现在只需要记住这个额外维度的基本概念以及它的堆叠顺序,另外还要记住只有定位元素才能应用 z-index属性。

定位的问题

对于定位元素来说由几个比较常见的问题,都值得我们好好了解。

1.你不能在同一个属性当中应用定位属性和浮动。因为对使用什么样的定位方案来说两者的指令时相冲突的。如果你把两个属性都添加到一个相同的元素上,那么就期望在CSS中较后的那个属性时你想要使用的吧

2.Margin 不会在绝对元素上折叠。假设你具有一个 margin-bottom 为20px的段落。在段落后面是一个具有30px的 margin-top 的图片。那么段落和图片之间的空间不会是50px(20px+30px)而是30px(30px > 20px)。这就是所谓的 margin-collapse,两个 margin 会合并(折叠)成一个 margin。

绝对定位元素不会像那样进行 margin 的折叠。这会使它们跟预期的不一样。

3.IE在 Z-index 上有一些BUG。在IE 6中 select 元素总是处于堆叠层级的最上方而不管它的 z-index 和其他元素的 z-index 是多少。

IE 6和IE 7在堆叠层级上又有另外一个问题。IE 6由最外层的定位元素的层级来决定哪一组的元素处于层级的最上面,而不是每一个单独的元素自身的层级决定。

 <div style="z-index: ">
<p style="z-index: 1"></p>
</div>
<img style="z-index: " />

对上面这段结构,你会预料段落元素处于堆叠层级的最上方。因为它具有最大的 z-index 值。但在IE 6和IE 7中,图片为处于段落的上方。因为 img 具有比 div 更加高的 z-index 层级。因此它会位于所有 div 的子元素的上方。

总结

一个元素上所设置的位置属性会根据其中的一种CSS定位模式来运作。你可以为定位元素设置 absolute, relative, fixed, static (默认), 和 inherit 中的其中一个值。

定位模式和CSS定位元素,定义了一个盒子在布局中应该处于什么位置以及围绕它的元素会受到定位元素带来的影响。

z-index 属性只能被应用与定位元素上。它为页面增加了第三个维度并设置了元素的层级上的顺序。

定位属性看起来好像很好理解,但它的运作与它在表面所看到的有点儿不一样。你可能会觉得的是相对定位更加类似绝对定位。当在做布局设计的时候你通常会想使用浮动并在指定的元素上应用定位来打破布局。

译者手语:整个翻译依照原文线路进行,并在翻译过程略加了个人对技术的理解。如果翻译有不对之处,还烦请同行朋友指点。谢谢!

白牙

互联网开发者,关注Web应用开发,前端交互设计。个人博客新浪微博欢迎交流探讨,愿与大家共同进步。

如需转载烦请注明出处:

英文原文:http://www.vanseodesign.com/css/css-positioning/

中文译文:http://www.cnblogs.com/WhiteCusp/p/3365543.html

【译】你对position的了解有多少?的更多相关文章

  1. 你对position的了解有多少?

    此文根据Steven Bradley的<How Well Do You Understand CSS Positioning?>所译,整个译文带有我自己的理解与思想,如果译得不好或不对之处 ...

  2. [置顶] android ListView包含Checkbox滑动时状态改变

    题外话: 在xamarin android的开发中基本上所有人都会遇到这个小小的坎,的确有点麻烦,当时我也折腾了好一半天,如果你能看到这篇博客,说明你和我当初也是一样的焦灼,如果你想解决掉这个小小的坎 ...

  3. 你对position的了解到底有多少?

    此文根据Steven Bradley的<How Well Do You Understand CSS Positioning?>所译,整个译文带有我自己的理解与思想,如果译得不好或不对之处 ...

  4. [转][译]关于CSS中的float和position和z-index

    原文:http://learn.shayhowe.com/advanced-html-css/detailed-css-positioning 当构建页面排版时,有不同的方法可以使用.使用哪一种方法取 ...

  5. [译] 关于CSS中的float和position

    原文 http://learn.shayhowe.com/advanced-html-css/detailed-css-positioning 当构建页面排版时,有不同的方法可以使用.使用哪一种方法取 ...

  6. 解剖SQLSERVER 第十四篇 Vardecimals 存储格式揭秘(译)

    解剖SQLSERVER 第十四篇    Vardecimals 存储格式揭秘(译) http://improve.dk/how-are-vardecimals-stored/ 在这篇文章,我将深入研究 ...

  7. RxJS + Redux + React = Amazing!(译二)

    今天,我将Youtube上的<RxJS + Redux + React = Amazing!>的后半部分翻译(+机译)了下来,以供国内的同学学习,英文听力好的同学可以直接看原版视频: ht ...

  8. 现代3D图形编程学习-基础简介(3)-什么是opengl (译)

    本书系列 现代3D图形编程学习 OpenGL是什么 在我们编写openGL程序之前,我们首先需要知道什么是OpenGL. 将OpenGL作为一个API OpenGL 通常被认为是应用程序接口(API) ...

  9. CSharpGL(31)[译]OpenGL渲染管道那些事

    CSharpGL(31)[译]OpenGL渲染管道那些事 +BIT祝威+悄悄在此留下版了个权的信息说: 开始 自认为对OpenGL的掌握到了一个小瓶颈,现在回头细细地捋一遍OpenGL渲染管道应当是一 ...

随机推荐

  1. Invalidate()(转)

    原文转自 http://m.blog.csdn.net/blog/piaopiaopiaopiaopiao/41521211 使用Invalidate(TRUE)函数时,它会向消息队列中添加了WM_E ...

  2. C# 后台首次加载时才执行

    protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { } } 写在 if (!IsPostBack) { ...

  3. html实现点击章节自动调到开头

    #转载请联系 原理是用id的值结合a链接实现锚点效果.比较简单,直接放一段代码好了. <!DOCTYPE html> <html lang="en"> &l ...

  4. 回车和换行有什么区别?我们平时按下的Enter键是回车还是换行?

    来源:http://www.52rd.com/blog/Detail_RD.Blog_imjacob_12317.html -------------------------------------- ...

  5. 在.NET4.5项目中添加HttpClient引用的办法

    一. 创建新项目 1. 打开  Microsoft Visual Studio 201 0,然后从 “ 文件 ” 菜单中选择 “ 新建项目 ” .在模板列表中,选择  Visual C#.在该区域下面 ...

  6. 运行微信支付demo

    首先要说说写这篇文章的初衷:集成支付宝支付运行demo都是可以正常运行的,但是我下载下来微信支付的demo,却发现一大堆报错,而且相关文章几乎没有,可能大家觉得没必要,也许你觉得很简单:但是技术大牛都 ...

  7. jquery插件需要明白的那些知识点

    1.jquery中$是神马?$.fn又是神马? 稍微有jquery经验的都知道在jquery中$等价于jQuery,在控制台一试便知: 我们在jquery(1.8.3)源码中也能找到下面代码: 其实在 ...

  8. 好的web前端是如何拿到30万年薪的?

    2018年前端开发不再像过去几年里新技术框架层出不穷,而是各种组件,模块,很多东西都有痕迹可寻,技术都在原来的基础上有了革新和沉淀. 前端招聘方面也在紧跟技术发展,大量“滥竽充数”的速成开发者开始失去 ...

  9. logging 日志两种使用方法(转)

    下面我们使用代码logging的代码来说明: 使用baseConfig()函数对 logging进行 简单的 配置: import logging; # 使用baseConfig()函数,可选参数有f ...

  10. 洛谷P1095 绝地武士的逃离

    好吧原题是守望者的逃离,我强行改了一波题面,因为信仰=-=(? May the force be with us. 绝地跑步速度为17m/s,但无法逃离荒岛.绝地的原力恢复速度为4点/s,只有处在原地 ...