1.margin还可以用来做平移,作用类似translate哈哈。将元素设成absolute后就可以用margin随便平移他了,既不像relative那样要霸占空间,又不用为父元素设置relative,还可以和top,left,right,bottom组合使用
2.当为div设置padding后有些元素又想占满div, 这时只要设置这个元素的margin为负padding的值就行了
1 <b>marign 妙用1:</b> 2 3 <div class="padding20"> 4 padding20 5 <hr class="margin_20"/> 6 hr通过margin设成负数占满了div 7 </div> 8 <hr/> 9 <b>marign 妙用2:</b> 10 <div class="relative"> 11 absolute,相对位置(需要设置父元素为relative) 12 <div class="abs"> 13 移动到这 14 </div> 15 </div> 16 <br/> 17 <hr/> 18 <div> 19 使用relative,相对位置 20 <div class="relativeMove"> 21 移动到这 22 </div> 23 上边被relative占了一行空间! 24 </div> 25 <br/> 26 <hr/> 27 <div> 28 使用margin,相对位置 29 <div class="margin"> 30 移动到这 31 </div> 32 没被占用空间 33 </div>
css:
1 .relative { 2 position: relative; 3 width: 300px; 4 } 5 6 .abs { 7 position: absolute; 8 right: 10px; 9 top: -10px; 10 color: orange; 11 } 12 .margin { 13 position: absolute; 14 margin-left: 120px; 15 margin-top: -30px; 16 color: red; 17 } 18 .relativeMove { 19 position: relative; 20 right: -120px; 21 top: -30px; 22 color: green; 23 24 } 25 .padding20 { 26 padding: 20px; 27 width: 200px; 28 border: 1px solid green; 29 } 30 .margin_20 { 31 margin: 0 -20px; 32 }