css子元素相對(duì)父元素進(jìn)行定位的實(shí)現(xiàn)
解決方案
在父元素中加入position:relative;
子元素中加入position:absolute; right:20px;
代碼
html結(jié)構(gòu)
<div id="div1"> <div id="div2"></div> </div>
css
#div1{
width:500px;height:500px;
background-color:darkgray;
position:relative;
}
#div2{
width:30px;height:30px;
background-color:red;
position:absolute;
right:20px;
}
效果

原理
瀏覽器渲染html,是有文檔流的說法的,塊級(jí)元素?fù)Q行渲染,行內(nèi)元素行內(nèi)渲染,在這里,兩個(gè)div都是塊級(jí)元素,一個(gè)父,一個(gè)子,正常來(lái)說的渲染結(jié)果是父元素在瀏覽器左上角,子元素在父元素的左上角。
如果我們要對(duì)子元素相對(duì)父元素進(jìn)行定位,就要用對(duì)position屬性。
position屬性值
| 屬性值 | 描述 |
|---|---|
| absolute | 生成絕對(duì)定位的元素,相對(duì)于 static 定位以外的第一個(gè)父元素進(jìn)行定位。 |
| relative | 生成相對(duì)定位的元素,相對(duì)于其正常位置進(jìn)行定位。 |
我們知道,要使用相對(duì)于父元素的定位,肯定要使用absolute,為什么直接使用absolute不起作用?因?yàn)槭褂胊bsolute相對(duì)于父元素定位,對(duì)父元素有一個(gè)要求,就是父元素的position不能是static,如果父元素的position是static那么就繼續(xù)向上查找元素,知道找不position不為static的元素,對(duì)這個(gè)元素進(jìn)行相對(duì)定位,所以,需要將父元素的position設(shè)置為relative,這樣做是沒有影響的,因?yàn)椋瑀elative只是相對(duì)于正常位置進(jìn)行定位,正常位置就是所謂的文檔流默認(rèn)的輸出位置,如果我們?cè)O(shè)置了position為relative而不設(shè)置偏移量x,y,那就相當(dāng)于父元素的位置是沒有變動(dòng)的。
到此這篇關(guān)于css子元素相對(duì)父元素進(jìn)行定位的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)css子元素相對(duì)父元素定位內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持腳本之家!
相關(guān)文章
- 這篇文章主要介紹了CSS中的元素定位方法詳解,是CSS入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-07-21
- 這篇文章主要介紹了詳解CSS 子元素相對(duì)于父元素固定定位解決方案,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小2020-09-03
- 下面小編就為大家?guī)?lái)一篇css position 設(shè)置元素的定位方式詳解。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧2016-08-05
- 網(wǎng)頁(yè)制作Webjx文章簡(jiǎn)介:position屬性可以讓你讓你隨意控制一個(gè)特定元素在瀏覽器何處以及如何顯示。比方說我們用position:fixed 讓一個(gè)圖片顯示在瀏覽器的左上角.即使出現(xiàn)2009-04-02

CSS元素定位之通過元素的標(biāo)簽或者元素的id、class屬性定位詳解
這篇文章主要介紹了CSS元素定位之通過元素的標(biāo)簽或者元素的id、class屬性定位,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的2022-09-08


