三栏式用双飞翼和圣杯布局的时候为什么左边的模块-margin-left:100%会跑到左上方

就是不太能理解左栏负边距100%会跑到第一行左边的原理 。自己写了确实是这个效果 希望能有大神通俗易懂的解释下原理

dom结构如下:


<body>

<div id="hd">header</div>

<div id="bd">

  <div id="middle">middle</div>

  <div id="left">left</div>

  <div id="right">right</div>

</div>

<div id="footer">footer</div>

</body>

相对应的CSS内容如下:

https://img4.mukewang.com/5c42d18f00011ed607470869.jpg

Smart猫小萌
浏览 921回答 1
1回答

明月笑刀无情

left元素的设置了&nbsp;margin-left:-100%;,按规范所述,浮动元素要尽可能向上浮动。100%就是bd的宽度,bd比left宽,因此left相当于不占空间,理论上可以放在和bd一行而不是另起一行,然后按规则就放上去了。right在右边是因为&nbsp;margin-left:-200px;这值比&nbsp;margin-left:-100%;小,你给右边设&nbsp;margin-left:-110%;(取消relative的负值定位)看看
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript