CSS 定位之下尺寸百分比參考物件

2022-08-29 07:00:14 字數 1324 閱讀 4310

先上結論:

子元素沒有設定定位,其尺寸設定百分比參照的物件是       該子元素的父級元素;

子元素絕對定位後,其尺寸設定為百分比參考的物件是       該子元素設定了定位(這裡的定位包括絕對定位,相對定位和固定定位)的祖先元素(一層一層往上找,直到找到定位的祖先元素停止)。若沒有找到目標,則參照的是瀏覽器視窗。

下面是測試**

子元素不設定定位,父元素也不設定定位

"en

">class="

father

">

class="

son">

class="

grandson

">

效果如下:

可以看到子元素尺寸參照的是父級元素。

在上面**的基礎上,給黃色盒子設定定位:

"en

">class="

father

">

class="

son">

class="

grandson

">

效果如下:

看到和上面結果一樣,說明子元素沒有設定定位,不會理睬設定了定位的祖先元素。

接著在上面的基礎上,給粉色的盒子設定絕對定位:

"en

">class="

father

">

class="

son">

class="

grandson

">

效果如圖:

看到,子元素(粉色盒子)的寬度和設定了定位的祖先元素(黃色盒子)的寬度一樣。

接著,將祖先元素的定位去掉。**如下:

"en

">class="

father

">

class="

son">

class="

grandson

">

效果如下:

子元素(粉色盒子)的寬度為瀏覽器的寬度(因為其祖先元素沒有定位)。

上述結論成立。

css百分比定位和百分比尺寸

只有設定了定位的 relative,absolute,fixed 的元素才有left,top等屬性。子元素relative定位 百分比定位和百分比尺寸都是相對于父元素,無論父元素有沒有定位 子元素absolute定位 百分比定位和百分比尺寸都是相對於最近的定位了的祖先元素,如果沒有則相對於視窗。可以...

css定位中的百分比

在前端css定位中經常面對的乙個問題是,百分比定位究竟是針對於誰定位?一 margin,padding的百分比 首先從css的設計意圖說起,在瀏覽器預設的writing mode horizontal tb 和direction ltr 的情況下,因為css的基礎需求是排版,而通常我們所見的橫排文字...

CSS百分比布局

曾經的 布局可能大家都有點陌生了吧,其實我也是基本上沒用過,自從web2.0的興起,重構的思想,這讓 布局就這樣消失了基本上,布局中有用到百分比布局的,在 布局 落下帷幕之後,基本上我們都是讓網頁固定為950 1000px,如果布局使用了百分比寬度 如90 耳邊很快就能聽到抱怨 我的顯示器上效果不太...