3
我在一个较大的divs中有几个div。是否有可能将所有这些div相对于父div的左上角?由于所有内部div的坐标都与相同的参考点相关,因此这将使得对于某些任务更容易定位。目前使用position: relative
只是将其位置从原来的位置偏移而不受position: relative
的影响。CSS相对于Div的角落定位
我在一个较大的divs中有几个div。是否有可能将所有这些div相对于父div的左上角?由于所有内部div的坐标都与相同的参考点相关,因此这将使得对于某些任务更容易定位。目前使用position: relative
只是将其位置从原来的位置偏移而不受position: relative
的影响。CSS相对于Div的角落定位
将父/包含div设置为position:relative
。然后,将子div设置为postion:absolute
。然后,孩子将被绝对定位,但相对于包含div,而不是整个页面。如下示例:http://jsfiddle.net/jfriend00/GgNsH/
HTML:
<div id"otherStuff" style="height: 100px; background-color: #777;"></div>
<div id="container">
<div id="child1" class="child"></div>
<div id="child2" class="child"></div>
<div id="child3" class="child"></div>
</div>
CSS:
#container {position: relative;}
.child {position: absolute; height: 10px; width: 10px; background-color: #777;}
#child1 {top: 10px; left: 10px}
#child2 {top: 30px; left: 30px}
#child3 {top: 50px; left: 50px}
每个孩子将被定位在它从容器的顶部/左上角顶/左值。
它的工作原理是因为这就是position: absolute
的工作原理。它将元素相对于第一个定位的父项(位置值为relative
,absolute
或fixed
的父项)定位,或者如果没有定位父项,则它将文档的顶部/左侧角用作参考。这不是一个窍门,但它是如何记录下来的,它非常有用。
太棒了,这个招数应该可以工作。不知道为什么它的作品虽然... – Nyxynyxx
我添加了一个例子,以我的答案和一点点的解释。您可以在此页面上看到标签#4以获取更多解释:http://www.barelyfitz.com/screencast/html-training/css/positioning/ – jfriend00
请注意,父级可以是'position:absolute'以及'position :relative',都为子元素创建一个新的定位上下文。 – robertc