前端 - css負邊距的問題?
問題描述
這里有兩個p, 都向左浮動,其中sub 設置了margin-left:-100%; 請問為何會出現這樣的效果,sub能夠占據到main上面。
在線demo:http://codepen.io/anon/pen/zvJeNG
請問這個負邊距有何妙用,為何-100% 和 -190px(p的寬度)效果截然不同呢?
<!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8' /> <title>Document</title></head><body> <p class='main'> this is main</p> <p class='sub'> this is sub </p> </body></html>
.main{ float:left; width:100%; background-color:aqua;}.sub{ float:left; width: 190px; margin-left:-100%; background-color:black; }
問題解答
回答1:margin值是百分比數的時候,是相當于元素的包含塊的width來計算的
你這兒的.sub margin-left:-100%的100% 是相對于sub的包含塊 body的width 來計算也就是body的寬度
而-190px就只是190個像素
回答2:1、這兩個p都設置了左浮動,當body的寬度足夠他們倆平排在一起的時候,他們一定會排在同一行。2、sub設置了-100%,這個100%是相對于它的父元素body的寬度,也就是說它等于body的寬度,所以,它就回到了最左邊,而sub的寬度為190px,那就是從最左邊開始排列,就是現在這個樣式。
相關文章:
1. java - 阿里的開發手冊中為什么禁用map來作為查詢的接受類?2. android - 百度地圖加載完成監聽3. 關于docker下的nginx壓力測試4. nignx - docker內nginx 80端口被占用5. docker images顯示的鏡像過多,狗眼被亮瞎了,怎么辦?6. dockerfile - [docker build image失敗- npm install]7. dockerfile - 我用docker build的時候出現下邊問題 麻煩幫我看一下8. python3.x - git bash如何運行.bat文件?9. golang - 用IDE看docker源碼時的小問題10. docker api 開發的端口怎么獲取?
