css position屬性為absolute時(shí)其百分值的計(jì)算

當(dāng)position為absolue時(shí)候,其相關(guān)屬性的百分比是相對(duì)它參考的元素(包含塊)來進(jìn)行計(jì)算并進(jìn)行位置渲染的 。
首先我們必須知道:
1、[百分比的參照][1]:
根據(jù)包含塊計(jì)算百分值(1)元素的margin/padding/left/right/width參照包含塊的width來計(jì)算;(2)要計(jì)算 height /top 及 bottom 中的百分值,是通過包含塊的 height 的值。如果包含塊的 height 值會(huì)根據(jù)它的內(nèi)容變化,而且包含塊的 position 屬性的值被賦予 relative 或 static ,那么,這些值的計(jì)算值為 0。
2、[確定包含塊][2]:
確定一個(gè)元素的包含塊的過程完全依賴于這個(gè)元素的 position 屬性:
(1)如果 position 屬性為 static 或 relative ,包含塊就是由它的最近的“祖先塊元素”(比如說inline-block, block 或 list-item元素)或格式化上下文(比如說 a table container, flex container, grid container, or the block container itself)的內(nèi)容區(qū)的邊緣(content)組成的。
(2)如果 position 屬性為 absolute ,包含塊就是由它的最近的 position 的值不是 static (也就是值為fixed, absolute, relative 或 sticky)祖先元素的內(nèi)邊距區(qū)的邊緣(padding-left + content + padding-right)組成。
<!DOCTYPE html> <html lang="en"> <head> <style> body { color: orange; } div { position: absolute; /*box-sizing: border-box; /*加box-sizing: border-box;時(shí)的content=(width-border-padding);未加時(shí)的width=content*/*/ width: 400px; border: 5px solid orange; padding: 50px; height: 160px; background: lightgray; } p { position: absolute; /* 包含塊為最近的祖先元素(可能是塊也可能不是塊元素)的內(nèi)邊距邊緣(padding-left + content + padding-right)組成; width: 50%; /* == (50+400+50)px * 50% = 250px */ height: 25%; /* == (50+160+50)px * 25% = 65px */ margin: 5%; /* == (50+400+50)px * 5% = 25px */ border: 5px solid orange; padding: 5%; /* == (50+400+50)px * 5% = 25px */ background: pink; color: green; } /*p { /* 包含塊為最近的祖先塊元素(只能是塊元素)或格式化上下文的內(nèi)容區(qū)的邊緣(content)組成; width: 50%; /* == 400px * 50% = 200px */ height: 25%; /* == 160px * 25% = 40px */ margin: 5%; /* == 400px * 5% = 20px */ border: 5px solid orange; padding: 5%; /* == 400px * 5% = 20px */ background: pink; color: green; }*/ </style> </head> <body> <div> <p>This is a paragraph!</p> </div> </body> </html>
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
- 這篇文章主要介紹了CSS中的 position屬性sticky的相關(guān)知識(shí),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-12
- 這篇文章主要介紹了詳解CSS中position屬性介紹(新增sticky) 的相關(guān)資料,position的含義是指定位類型,取值類型可以有:static、relative、absolute、fixed、inherit和stic2018-12-17
- 這篇文章主要介紹了css中的position屬性值的探究(小結(jié))的相關(guān)資料,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-09-25
css關(guān)于position屬性的用法詳解(絕對(duì)定位和相對(duì)定位的混淆)
下面小編就為大家?guī)硪黄猚ss關(guān)于position屬性的用法詳解(絕對(duì)定位和相對(duì)定位的混淆)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-09-08淺談CSS中display/float/position屬性值的相互影響
下面小編就為大家?guī)硪黄獪\談CSS中display/float/position屬性值的相互影響。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-08-17- 這篇文章主要介紹了圖解CSS中position屬性的定位用法,重點(diǎn)講解了相對(duì)定位和絕對(duì)定位在頁面布局中的作用,需要的朋友可以參考下2016-04-28
- 這篇文章主要介紹了CSS的position屬性的完全解析,包括position和overflow在一些相似使用方面的對(duì)比,需要的朋友可以參考下2015-11-06
CSS樣式position屬性的一個(gè)小實(shí)例:z方向三層布局分析
使用CSS樣式中的position屬性實(shí)現(xiàn)z方向三層布局效果,本文甚是疑惑,于是乎搜集整理一番,曬出代碼和大家分享一下2012-12-07- 這篇文章主要介紹了CSS 中的position屬性實(shí)例詳解,定位屬性position有4個(gè)值,分別是靜態(tài)定位(static)、相對(duì)定位(relative)、絕對(duì)定位(absolute)和固定定位(fixed)2023-09-04