使用CSS定位HTML元素的實(shí)現(xiàn)方法

在頁面上定位內(nèi)容時(shí),可以使用一些屬性來幫助您操縱元素的位置。本文將向您展示一些使用 CSSposition
屬性包含不同定位元素類型的示例。要在元素上使用定位,您必須首先聲明它的 position property
,它指定用于元素的定位方法的類型。使用 position 屬性值,使用 top、bottom、left 和 right 屬性定位元素。它們的工作方式也不同,具體取決于它們的位置值。
定位值有五種類型:
- 靜止的
- 相對(duì)的
- 固定的
- 絕對(duì)
- 黏
靜止的
HTML元素默認(rèn)是靜態(tài)定位的,元素按照文檔的正常流程定位;靜態(tài)定位元素不受 top、bottom、left 和 right 屬性的影響。具有位置的元素:靜態(tài);沒有以任何特殊方式定位
用于將位置設(shè)置為靜態(tài)的 CSS 是:
position: static;
接下來是使用靜態(tài)位置值的示例:
<!DOCTYPE html> <html> <head> <style> body { color: WHITE; font: Helvetica; width: 420px; } .square-set, .square { border-radius: 15px; } .square-set { background: darkgrey; } .square { position: static; background: Green; height: 70px; line-height: 40px; text-align: center; width: 90px; } </style> </head> <body> <div class="square-set"> <figure class="square square-1">SQUARE 1</figure> <figure class="square square-2">SQUARE 2</figure> <figure class="square square-3">SQUARE 3</figure> <figure class="square square-4">SQUARE 4</figure> </div> </body> </html>
相對(duì)的
元素根據(jù)文檔的正常流程定位,相對(duì)于其正常位置進(jìn)行定位,然后 根據(jù)頂部、右側(cè)、底部和左側(cè)的值相 對(duì)于自身進(jìn)行偏移。偏移量不影響任何其他元素的位置;因此,頁面布局中為元素指定的空間與位置是靜態(tài)的相同。設(shè)置相對(duì)定位元素的 top、right、bottom 和 left 屬性將導(dǎo)致它被調(diào)整遠(yuǎn)離其正常位置。其他內(nèi)容不會(huì)被調(diào)整以適應(yīng)元素留下的任何間隙。
用于將位置設(shè)置為相對(duì)的 CSS 是:
position: relative;
下面的示例使用相對(duì)位置值:
<!DOCTYPE html> <html> <head> <style> body { color: white; font: Helvetica ; width: 420px; } .square-set, .square { border-radius: 15px; } .square-set { background: darkgrey; } .square { background: green; height: 70px; line-height: 40px; position: relative; text-align: center; width: 80px; } .square-1 { top: 15px; } .square-2 { left: 50px; } .square-3 { bottom: -23px; right: 30px; } </style> </head> <body> <div class="square-set"> <figure class="square square-1">SQUARE 1</figure> <figure class="square square-2">SQUARE 2</figure> <figure class="square square-3">SQUARE 3</figure> <figure class="square square-4">SQUARE 4</figure> </div> </body> </html>
絕對(duì)
該元素將從正常的文檔流中移除,并且在頁面布局中,不會(huì)為該元素創(chuàng)建空間。元素相對(duì)于最近的定位祖先(如果有的話)定位;否則,它相對(duì)于初始包含塊放置,其最終位置由頂部、右側(cè)、底部和左側(cè)的值確定。
用于將位置設(shè)置為絕對(duì)的 CSS 是:
position: absolute;
一個(gè)元素position: absolute;
相對(duì)于最近定位的祖先進(jìn)行定位。如果絕對(duì)定位元素沒有定位的祖先,它使用文檔正文,并與頁面滾動(dòng)一起移動(dòng)。“定位”元素的位置不是static
.
下一個(gè)例子強(qiáng)調(diào)元素的絕對(duì)位置:
<!DOCTYPE html> <html> <head> <style> .square-set { color: WHITE; background: darkgrey; height: 200px; position: relative; border-radius: 15px; font: Helvetica ; width: 420px; } .square { background: green; height: 80px; position: absolute; width: 80px; border-radius: 15px; line-height: 60px; } .square-1 { top: 10%; left: 6%; } .square-2 { top: 5; right: -20px; } .square-3 { bottom: -15px; right: 40px; } .square-4 { bottom: 0; } </style> </head> <body> <div class="square-set"> <figure class="square square-1">SQUARE 1</figure> <figure class="square square-2">SQUARE 2</figure> <figure class="square square-3">SQUARE 3</figure> <figure class="square square-4">SQUARE 4</figure> </div> </body> </html>
固定的
從正常文檔流中刪除的元素,并且在頁面布局中,沒有為元素創(chuàng)建空間。元素相對(duì)于由視口建立的初始包含塊定位,其最終位置由值 top、right、bottom 和 left 確定。此值始終創(chuàng)建一個(gè)新的堆疊上下文。
用于將位置設(shè)置為固定的 CSS 如下所示:
position: fixed;
元素position: fixed;
相對(duì)于視口定位,這意味著即使頁面滾動(dòng),它也始終保持在同一位置。top、right、bottom 和 left 屬性用于定位元素。
黏
元素按照文檔的正常流程定位,然后根據(jù)top、right、bottom和left的值,相對(duì)于其最接近的升序塊級(jí)進(jìn)行偏移,包括與表格相關(guān)的元素。偏移量不會(huì)影響任何其他元素的位置。
此值始終創(chuàng)建一個(gè)新的堆疊上下文。請(qǐng)注意,粘性元素“粘”到其最近的具有“滾動(dòng)機(jī)制”的祖先,即使該祖先不是最近的實(shí)際滾動(dòng)祖先。
用于將位置設(shè)置為粘性的 CSS 是:
position: sticky;
元素position: sticky;
的定位基于用戶的滾動(dòng)位置,relative
并fixed
根據(jù)滾動(dòng)位置在位置之間切換。
重疊元素
網(wǎng)頁上的重疊元素對(duì)于突出、宣傳和關(guān)注我們網(wǎng)頁上的重要內(nèi)容非常有用。使元素覆蓋在您的網(wǎng)站上是非常有用且非常有價(jià)值的功能設(shè)計(jì)實(shí)踐。當(dāng)元素被定位時(shí),它們可以與其他元素重疊,所以要指定順序(什么元素應(yīng)該放在其他元素的前面或后面),我們應(yīng)該使用 z-index 屬性。具有較大堆棧順序的元素始終位于具有較低堆棧順序的元素之前。請(qǐng)注意,z-index 屬性僅適用于定位元素(位置:絕對(duì)、位置:相對(duì)或位置:固定)。
下一個(gè)示例顯示 z-index 屬性如何在不同的正方形上工作:
<!DOCTYPE html> <html> <head> <style> .square-set { color: white; background: purple; height: 170px; position: relative; border-radius: 15px; font: Helvetica; width: 400px; } .square { background: orange; border: 4px solid goldenrod; position: absolute; border-radius: 15px; height: 80px; width: 80px; } .square-1 { position: relative; z-index: 1; border: dashed; height: 8em; margin-bottom: 1em; margin-top: 2em; } .square-2 { position: absolute; z-index: 2; background: black; width: 65%; left: 60px; top: 3em; } .square-3 { position: absolute; z-index: 3; background: lightgreen; width: 20%; left: 65%; top: -25px; height: 7em; opacity: 0.9; } </style> </head> <body> <div class="square-set"> <figure class="square square-1">SQUARE 1</figure> <figure class="square square-2">SQUARE 2</figure> <figure class="square square-3">SQUARE 3</figure> </div> </body> </html>
在圖像上定位文本
下面的示例使用上述 CSS 定位值在圖像上覆蓋一些文本:
<!DOCTYPE html> <html> <head> <style> .module{ background: linear-gradient{ rgba(0, 4, 5, 0.6), rgba(2, 0, 3, 0.6) ), url(http://www.holtz.org/Library/Images/Slideshows/Gallery/Landscapes/43098-DSC_64xx_landscape-keltern-1_wall.jpg); background-size: cover; width: 600px; height: 400px; margin: 10px 0 0 10px; position: relative; float: left; } .mid h3 { font-family: Helvetica; font-weight: 900; color: white; text-transform: uppercase; margin: 0; position: absolute; top: 30%; left: 50%; font-size: 3rem; transform: translate(-50%, -50%); } </style> </head> <body> <div class="module mid"> <h3>Wild nature</h3> </div> </body> </html>
結(jié)論
在本文中,我們描述并給出了 CSS 定位類型的示例,并描述了如何重疊元素并在圖像上添加一些文本。
到此這篇關(guān)于使用CSS定位HTML元素的實(shí)現(xiàn)方法的文章就介紹到這了,更多相關(guān)CSS定位HTML元素內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持腳本之家!
相關(guān)文章
- CSS Grid 是一種二維布局系統(tǒng),可以同時(shí)控制行和列,相比 Flex(一維布局),更適合用在整體頁面布局或復(fù)雜模塊結(jié)構(gòu)中,這篇文章主要介紹了前端CSS Grid 布局詳解,需要的朋2025-04-16
CSS Padding 和 Margin 區(qū)別全解析
CSS 中的 padding 和 margin 是兩個(gè)非?;A(chǔ)且重要的屬性,它們用于控制元素周圍的空白區(qū)域,本文將詳細(xì)介紹 padding 和 margin 的概念、區(qū)別以及如何在實(shí)際項(xiàng)目中使用它們2025-04-07- will-change 是一個(gè) CSS 屬性,用于告訴瀏覽器某個(gè)元素在未來可能會(huì)發(fā)生哪些變化,本文給大家介紹CSS will-change 屬性詳解,感興趣的朋友一起看看吧2025-04-07
- 本文給大家分享在 CSS 中,去除a標(biāo)簽(超鏈接)的下劃線的幾種方法,本文給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧2025-04-07
- 在前端開發(fā)中,CSS(層疊樣式表)不僅是用來控制網(wǎng)頁的外觀和布局,更是實(shí)現(xiàn)復(fù)雜交互和動(dòng)態(tài)效果的關(guān)鍵技術(shù)之一,隨著前端技術(shù)的不斷發(fā)展,CSS的用法也日益豐富和高級(jí),本文將2025-04-07
css中的 vertical-align與line-height作用詳解
文章詳細(xì)介紹了CSS中的`vertical-align`和`line-height`屬性,包括它們的作用、適用元素、屬性值、常見使用場(chǎng)景、常見問題及解決方案,感興趣的朋友跟隨小編一起看看吧2025-03-26淺析CSS 中z - index屬性的作用及在什么情況下會(huì)失效
z-index屬性用于控制元素的堆疊順序,值越大,元素越顯示在上層,它需要元素具有定位屬性(如relative、absolute、fixed或sticky),本文給大家介紹CSS 中z - index屬性的作用2025-03-21- 文章詳細(xì)介紹了CSS中的打印媒體查詢@mediaprint包括基本語法、常見使用場(chǎng)景和代碼示例,如隱藏非必要元素、調(diào)整字體和顏色、處理鏈接的URL顯示、分頁控制、調(diào)整邊距和背景等2025-03-18
CSS模擬 html 的 title 屬性(鼠標(biāo)懸浮顯示提示文字效果)
本文介紹了如何使用CSS模擬HTML的title屬性,通過鼠標(biāo)懸浮顯示提示文字效果,通過設(shè)置`.tipBox`和`.tipBox.tipContent`的樣式,實(shí)現(xiàn)了提示內(nèi)容的隱藏和顯示,感興趣的朋友一起2025-03-10前端 CSS 動(dòng)態(tài)設(shè)置樣式::class、:style 等技巧(推薦)
本文介紹了Vue.js中動(dòng)態(tài)綁定類名和內(nèi)聯(lián)樣式的兩種方法:對(duì)象語法和數(shù)組語法,通過對(duì)象語法,可以根據(jù)條件動(dòng)態(tài)切換類名或樣式;通過數(shù)組語法,可以同時(shí)綁定多個(gè)類名或樣式,此外2025-02-26