2011-04-09 58 views
6

偏移属性(左,上,下,右)仅适用于非静态位置?CSS偏移属性和静态位置

它们可以应用于静态定位元素吗?如果是这样,与 将它们应用于非静态定位元素有什么不同?

+0

这些偏移属性仅适用于定位元素(位置属性设置为绝对,固定或相对的元素)。 – 2011-04-09 01:07:50

回答

9

偏移它的位置的元素必须是position:relative

的坐标,toprightbottomleft服务取决于如果元素是相对或绝对定位的不同的目的。

何时是一个元素偏移而不是移动?

当你真正抵消使用position: relative;元素不从流中除去,而事实上该元素将采取,如果它一直保持静态(默认)的空间仍然保留了它,所以你刚才抵消它的原始位置。以下任何元素会出现在那里会做,即使你没有抵消它的前身 - 这样example

移动,不抵消

然而,如果你真的想移动的元素,然后将其需要从流中删除,因此没有为它保留空间,然后当您使用position:absolute;或固定..这就是区别

摘要

  • static是默认的,而你只是用利润率来移动它,它会忽略坐标和z-index的

  • relative是保留空间,坐标将抵消它的原始空间

  • absolute将从第Ë流通和坐标将根据它的containing block,这是最近的相对定位的祖先(或者如果没有相对定位的祖先存在body元件)来计算

  • fixed不具有包含块,即,可以“T指定哪些元素应该定位有关,它只会自我修复相对于视

最后一个元素不会接受z-index如果它的位置是静态的默认,所以position: relative;没有任何坐标是类似static,但它对z-索引和作为绝对定位元素的包含块很有用

+0

我现在绝对理解。在试图理解其余部分之前,我会让这个人沉入水中。 谢谢你 – Sidhartha 2015-11-03 23:34:18

1

将它们应用于position: static元素是没有意义的,因为它们是静态的。

转移一个静态元素超过一定的数量,您可以将它的position属性更改为position: relative;。现在

,你可以与周围topleft接班等

存在着几个类型的position,即position: fixedposition: absolute

fixed使元素固定在屏幕上,它不受滚动的影响,所以就好像它卡在计算机显示器上一样。设置其top等设置位置。

absolute使元素相对于文档定位并忽略所有布局规则。将其设置在文档上定位的位置。

+0

你可能意指位置:static;位置:相对;显示没有这些值...但是如果我将偏移属性分配给静态定位的元素会发生什么?一点都没有? – DrStrangeLove 2011-04-09 01:03:50

+1

@DrStrangeLove是的,没有。 – 2011-04-09 01:06:06

+0

您可以将其更改为“位置:相对”,然后偏移量会将其移位。你想做什么? – Blender 2011-04-09 15:27:48

0

它们可以应用于绝对位置元素和固定位置元素,它们本质上是相同的,但固定方式始终使用文档窗口作为其锚点。您也可以将它们应用于相对定位的元素,在这种情况下,它们与默认内联定位中描述的最佳偏移量相对应。