css盒模型中margin很牛逼

css盒子模型,说简单也简单,用的时候也有不简单的。

其中margin的值可以为负值,并且为了实现margin,忽略父级的padding、border、甚至定位。这在布局上很有用,要注意。

------------

比如,div1,嵌套div2。按照直觉,div1有border和padding,里面的内容顶到头,不能超过外面的盒子(div1)吧?可惜不是,只要div2的margin是负的,如图浮动出了一样。

下面再看。

 1 <style type="text/css">
 2     div {
 3       width: 100px;
 4       height: 100px;
 5     }
 6     #div1 {
 7       background-color: #F00;
 8       border:100px solid #345;
 9       padding:100px;
10       position: relative;
11       float: right;
12     }
13     #div2 {
14       background-color: #0F0;
15       /*margin-left: -200px;*/
16       position: absolute;
17       left: 0;
18     }
19     </style>

div1是相对定位,padding和border都是100px,在谷歌浏览器中,div2为绝对定位,left为0,就是div2在div1中,同时举例左边为0,按照自然直觉,应该是padding后为0,但是实验得知是,靠近border内侧为0,也就是说,绝对定位是跟外面的容器比,但是不看外面容器的padding,而是以border为参考。

 

再加上margin-left:-200px;那么,div2还要向左再走200px;

本文转载于:猿2048https://www.mk2048.com/blog/blog.php?id=bbjiib&title=css盒模型中margin很牛逼

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值