margin,外边距,对于盒模型来说,这应该是一个十分熟悉的属性。设置外边距可以拉开两元素的距离,而上下margin会塌陷,给一个块级元素设置margin-left或是margin-right,这个元素会移动,等等。
在了解css布局中的经典布局,圣杯布局和双飞翼布局时,了解到了给浮动元素设置margin-left:-100%和margin-left:-XXpx;(XX为该元素的宽度)的一些奇怪现象。
总所周知,当第一个浮动元素占满一行时,第二个浮动元素就会被迫挤到第二行,像:
<body> <div style="float:left;height:50px;width:100%;background-color:#ccc;"></div> <div style="float:left;height:50px;width:300px;background-color:olive;"></div> <div style="float:left;height:50px;width:300px;background-color:#abc;"></div> </body>
但如何让第二行的元素跑到第一行呢?
绝对定位,嗯,是的,可以,但是不用这个会使页面变乱的属性,没有别的方法了么?
那就使用margin-left吧!
给第二个div设置margin-left:-300px,给第三个div设置margin-left:-100%,我们便可以看到效果了
当然也可以给margin-left设置其他的负值,依然是有效的(可以尝试下),只是现在这两个值比较特殊。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。