我有一个<div id="mydiv">
margin-left: 0px
。
但有时(页面是动态生成的)此<div>
放置在另一个<div>
内,其余边距值为正值。
这种方式#mydiv
将具有容器的边距而不是0。
有没有办法设置
margin-left: 0px (relative to the body margin)
或
margin-left: -(sum of container margins)?
答案 0 :(得分:1)
如果你的div位于另一个div内,那个div的边界仅限于它的容器div。
您可以通过将position: absolute;
放在要以不同方式定位的div上来摆脱它。然后你应该在它应该相对定位的容器上放一个position: relative;
。然后,您可以使用否定margin-left
。
答案 1 :(得分:1)
使用:
.mydiv{
position: absolute;
left : 0;
}
通过使用绝对position
并将left
设置为0,您的div
将始终与包含元素的左侧对齐而没有边距。
答案 2 :(得分:0)
使用CSS定位属性并分别对齐div。
例如
<div class="wrapper">
position:relative
对于<div class="mydiv">
或position: absolute; left: 0;
的内部left: 50%
样式。
答案 3 :(得分:0)
重点是定位:
position: fixed;
将相对于浏览器窗口定位div
position: relative;
将相对于其正常位置进行定位
position: absolute;
将相对于第一个具有静态位置的父元素定位它(所以它毕竟不是绝对的)
答案 4 :(得分:0)
你可以通过相对和绝对的位置来实现它。 你只需要在所有div之上的一个顶级父母。 我创建了以下示例。它将帮助您实现您的需求。
[Example](http://jsfiddle.net/dhavalsolanki/tjv5e1tn/)