前端 - css負(fù)邊距的問題?
問題描述
這里有兩個p, 都向左浮動,其中sub 設(shè)置了margin-left:-100%; 請問為何會出現(xiàn)這樣的效果,sub能夠占據(jù)到main上面。
在線demo:http://codepen.io/anon/pen/zvJeNG
請問這個負(fù)邊距有何妙用,為何-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值是百分比數(shù)的時候,是相當(dāng)于元素的包含塊的width來計算的
你這兒的.sub margin-left:-100%的100% 是相對于sub的包含塊 body的width 來計算也就是body的寬度
而-190px就只是190個像素
回答2:1、這兩個p都設(shè)置了左浮動,當(dāng)body的寬度足夠他們倆平排在一起的時候,他們一定會排在同一行。2、sub設(shè)置了-100%,這個100%是相對于它的父元素body的寬度,也就是說它等于body的寬度,所以,它就回到了最左邊,而sub的寬度為190px,那就是從最左邊開始排列,就是現(xiàn)在這個樣式。
相關(guān)文章:
1. sql語句如何按or排序取出記錄2. node.js - 用nodejs 的node-xlsx模塊去讀取excel中的數(shù)據(jù),可是讀取出來的日期是數(shù)字,請問該如何讀取日期呢?3. 多選框?qū)戇M(jìn)數(shù)據(jù)庫怎么寫4. php如何獲取訪問者路由器的mac地址5. javascript - vue-resource中如何設(shè)置全局的timeout?6. 小程序怎么加外鏈,語句怎么寫!求救新手,開文檔沒發(fā)現(xiàn)7. html5 - input type=’file’ 上傳獲取的fileList對象怎么存儲于瀏覽器?8. javascript - 這兩種函數(shù)寫法各有什么好處?9. 求教一個mysql建表分組索引問題10. python沒入門,請教一個問題
