css中margin-left與left的區別


研究下拉菜單和彈出菜單時比較所得:
1.直接在css中設置left生效的前提是必須設置父容器position:absolute或relative,如果不設置則會顯示為最近一個定位的父對象左邊相關的位置:
測試代碼:

1     <div style="position:relative;top:100px;left:100px;border:1px solid blue;width:100px;height:100px;">
2     <div id="outer" style="position:relative;margin-top:25px;margin-left:25px;width:50px;height:50px;border:1px solid red;">
3         <div id="inner" style="position:absolute;left:15px;top:15px;width:25px;height:25px;border:1px solid green;"></div>
4     </div>
5     </div>

測試效果:
不設置紅線框的position,設置藍線框的position,綠線框的位置:

設置紅線框的position,設置藍線框的position,綠線框的位置:

 

2.設置margin-left則只會出現在父對象的左邊的相對位置,不考慮是否設置了position。
測試代碼:

1     <div style="position:relative;top:100px;left:100px;border:1px solid blue;width:100px;height:100px;">
2     <div id="outer" style="position:relative;margin-top:25px;margin-left:25px;width:50px;height:50px;border:1px solid red;">
3         <div id="inner" style="position:absolute;margin-left:15px;margin-top:15px;width:25px;height:25px;border:1px solid green;"></div>
4     </div>
5     </div>

不設置紅線框的position,設置藍線框的position,綠線框的位置:


設置紅線框的position,設置藍線框的position,綠線框的位置:


3.設置margin-right無法起到將element定位到右邊相距XX位置,但設置right可以。
測試代碼:
<div style="position:relative;width:98px;height:63px;background-image:url('images/pic.png');margin-left:100px;margin-top:300px;">
<img src="images/delete.gif" style="position:absolute;top:-10px;right:-5px;"/>
</div>


測試效果:
設置margin-right

設置right

申明:此文非本人原創,引用自http://blog.csdn.net/tomatozq/article/details/7178144

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM