您的位置:首頁技術文章
文章詳情頁

前端 - css負邊距的問題?

瀏覽:113日期:2023-07-21 13:08:19

問題描述

這里有兩個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; }

前端 - css負邊距的問題?

問題解答

回答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,那就是從最左邊開始排列,就是現在這個樣式。

標簽: CSS
相關文章:
国产综合久久一区二区三区