HTML+CSS:css定位詳解之相對定位、絕對定位和固定定位

2020-12-16 大鵬學前端

本篇文章我們主要給大家說一下css的定位。css的定位是我們以後網頁製作中比較常用的屬性,也是很重要的知識點。了解各個定位的作用以及層級關係對以後的頁面布局至關重要。

css定位主要有四種,靜態定位、相對定位、絕對定位固定定位。其中靜態定位這個是元素的默認定位方式,不能使用top,bottom,left,right和z-index屬性,其它三種定位可以使用以上幾個屬性。我們這裡主要介紹後邊的這三個定位。

1)相對定位

如果想為元素設置層模型中的相對定位,需要設置position:relative;,它還是會佔用該元素在文檔中初始的頁面空間,通過left、right、top、bottom屬性確定元素在正常文檔流中的偏移位置,然後相對於以前的位置移動,移動的方向和幅度由left、right、top、bottom屬性確定,偏移前的位置保留不動。比如我們想要讓一個div元素相對當前位置左移100px,上移100px。

代碼以及頁面顯示效果就如下所示:(div向左和向上偏移了100px)

2)絕對定位

如果想為元素設置層模型中的絕對定位,需要設置position:absolute;,這條語句的作用將元素從文檔流中拖出來,將不佔用原來元素的空間,然後使用left、right、top、bottom屬性相對於其最接近的一個具有定位屬性的父級元素進行絕對定位。如果不存在就逐級向上排查,直到相對於body元素,即相對於瀏覽器窗口。

我們做個例子來看一下,我們這裡寫兩個div,內部都有2個span元素,span元素我們都使用絕對定位,並設置left和top為50px,第一個div我們設置相對定位,第二div不設置定位。

由上圖我們可以看出,div1使用了相對定位,所以div1內部的span使用絕對定位是相對於div1來定位元素位置的,而div2沒有定位,所以div2內部的span使用絕對定位是相對於瀏覽器body元素來定位元素位置。

3)固定定位

如果想為元素設置層模型中的固定定位,需要設置position:fixed;,直接以瀏覽器窗口作為參考進行定位,它是浮動在頁面中,元素位置不會隨瀏覽器窗口的滾動條滾動而變化,除非你在屏幕中移動瀏覽器窗口的屏幕位置,或改變瀏覽器窗口的顯示大小,因此固定定位的元素會始終位於瀏覽器窗口內視圖的某個位置,不會受文檔流動影響。比如我們準備一長串的文字,讓文字超出一屏的寬度,設置浮動元素div1的left和top為100px,拖動瀏覽器的滾動條,浮動元素div1的位置不會發生變化。

具體代碼和展示效果如下圖所示:

對於css的三種定位方式今天就先介紹到這裡,大家在平時可以自己多加練習練習,要能熟練使用定位將元素放到自己想要放的位置,以及想一下都可以運用到哪些地方。

每日金句:凡事不要說「我不會」或「不可能」,因為你根本還沒有去做!喜歡我的文章的小夥伴記得關注一下哦,每天將為你更新最新知識。

相關焦點

  • div+css定位技術之相對定位和絕對定位
    1.relative:相對定位說明:定位元素相對原來的自己進行定位的方式,脫離普通的文檔流,依然佔用原來空間<!doctype html><htmllang="en"><head><metacharset="UTF-8"><metaname="Generator"content="EditPlus"><metaname="Author"content
  • 相對定位、絕對定位、固定定位(position)
    相對定位css如果子元素想在父元素上定位而父元素不想挪動位置,那麼就為父元素設置相對定位且父元素的top和left為0。(自絕父相)絕對定位css固定定位css固定定位效果註:加了絕對定位和固定定位之後元素模式也會跟著變化,轉為行內塊。
  • CSS之定位一(position屬性)
    relative表示相對定位,在文檔流中仍然佔有空間,其參考對象是離該元素最近的父元素。圖1表示父元素的position值變化時,子元素(position=relative)與父元素的相對位置,由圖可以看出其相對位置不隨父元素的position值變化而變化。
  • CSS固定定位{position:fixed}
    這就是通過CSS的定位屬性{position:fixed}來實現的,通過它可以讓HTML元素脫離文檔流固定在瀏覽器的某個位置。IE7、Firefox、Opera,都支持CSS的{position:fixed},所以很容易實現(《詳解定位與定位應用》) IE6不支持該屬性,但是在使用!
  • CSS中固定定位、相對定位、絕對定位以及flex布局高效定位
    6.接下來只要把left和right分別移動到這兩個留白就可以了。可以使用相對定位移動 left和right部分。  雙飛翼布局比聖杯布局多使用了1個div,少用大致4個css屬性(聖杯布局container的 padding-left和padding-right這2個屬性,加上左右兩個div用相對布局position: relative
  • CSS+DIV相對定位和絕對定位的區別和聯繫
    你對CSS+DIV定位的概念是否熟悉,這裡和大家分享一下,主要包括CSS+DIV相對定位和絕對定位兩大部分內容,如果理清了定位的原理,那定位會讓網頁實現的更加完美,相信本文介紹一定會讓你有所收穫。CSS+DIV定位詳解定位一直是WEB標準應用中的難點,如果理不清楚定位那麼可能應實現的效果實現不了,實現了的效果可能會走樣。如果理清了定位的原理,那定位會讓網頁實現的更加完美。
  • CSS 絕對定位屬性absolute用法初探
    CSS 絕對定位屬性absolute用法初探 本文向大家介紹一下CSS絕對定位屬性:absolute屬性的用法,CSS絕對定位使元素的位置與文檔流無關,因此不佔據空間。
  • css中的絕對定位和 相對定位
    ,難就難在相對定位與絕對定位的配合上,不知道他們兩個之間具體有什麼區別。這節課主要講講absolute(絕對定位)和 relative(相對定位)。【position:absolute】意思是:絕對定位,他默認參照瀏覽器的左上角,配合TOP、RIGHT、BOTTOM、LEFT(下面簡稱TRBL)進行定位。
  • HTML & CSS頁面布局之定位
    c) absolute 絕對定位,元素脫離標準流,瀏覽器把它視作塊級元素,不論定位之前它是何種元素,其他元素也將無視它。絕對定位的偏移量是相對於其有定位屬性的第一個祖先元素的。d) fixed 固定定位,固定定位和絕對定位相似,但它的偏移量固定的相對於瀏覽器窗口。
  • CSS定位屬性Position詳解
    CSS中最常用的布局類屬性,一個是Float(CSS浮動屬性Float詳解),另一個就是CSS定位屬性Position。,那麼 div-1 內的所有元素都會相對 div-1 定位。兩欄絕對定位現在就可以使用相對定位和絕對定位來做一個兩欄布局了。
  • CSS之定位二(偏移屬性)
    本文我們接著之前的定位話題來展開討論偏移屬性。偏移屬性理解起來其實很簡單,就是負責告訴瀏覽器元素相對於父元素的偏移位置。這裡要說明兩點:1、偏移屬性只對定位元素(即position值不是static的元素)有效;2、這裡的父元素是之前《css之定位一(position屬性)》中談論的父元素。偏移屬性有top、bottom、left、right四個屬性,其屬性值各自對應length、percentage、auto、inherit四種(即長度值、百分比、自動、繼承)。
  • CSS+DIV常見的三種元素定位方式,你知道幾個?
    css中元素的定位複雜的網頁布局都是通過各種網頁元素靈活定位實現的,網頁中的各種元素定位都有自己的特點。今天為大家聊一下css中常用的三種定位方法。這裡說的定位不是table排版的,而是通過DIV+CSS的方法對頁面中的塊元素的定位。float定位float定位是css排版非常重要的手段,新手一定要多多練習熟練掌握。float定位屬性值有三種left、right和默認值none。
  • 剖析CSS relative相對定位用法
    剖析CSS relative相對定位用法 上節介紹了CSS絕對定位的概念,這裡和大家分享一下CSS relative相對定位的用法,設置為相對定位的元素框會偏移某個距離。
  • XPATH元素定位詳解
    path,Css元素通用定位問題通常情況下,元素定位使用id、name、class、text可以滿足日常大部分定位需求。但是隨著自動化測試的深入,和不同框架要求,會發現上面的定位方式無法解決一些元素定位。
  • CSS:定位(position)
    相對定位relative(自戀型)小笑話: 剛剛看到一個超級超級帥的帥哥,看得我都忍不住想和他搞基了。世間怎會有如此之完美的男人。我和他就這樣一動不動的對視著,就仿佛一見鍾情。時間也在這一瞬間停止了。直到我的手麻了。才戀戀不捨的放下鏡子。。。。
  • css中的定位
    相對定位是將元素相對於它在標準流中的位置進行定位,當position屬性的取值為relative時,可以將元素定位於相對位置。這句話的意思是 子級是絕對定位的話, 父級要用相對定位。        首先, 我們說下, 絕對定位是將元素依據最近的已經定位絕對、固定或相對定位)的父元素(祖先)進行定位。        就是說, 子級是絕對定位,父親只要是定位即可(不管父親是絕對定位還是相對定位,甚至是固定定位都可以),就是說, 子絕父絕,子絕父相都是正確的。
  • python學習之selenium+css定位完整版,附代碼
    firstname,選擇id=『fistname』的所有元素*: *,選擇所有的元素element: p,選擇所有的p標籤的元素element,element: div,p,選擇所有的div標籤元素和所有
  • 詳解CSS定位屬性Position用法
    詳解CSS定位屬性Position用法 CSS中最常用的布局類屬性,一個是Float(CSS浮動屬性Float詳解),另一個就是CSS定位屬性Position,這裡向大家描述一下CSS定位屬性Position的用法。
  • CSS(四)——定位(position)
    值語義static靜態定位relative相對定位Absolute絕對定位Fixed固定定位①.父元素要有定位將元素依據最近的已經定位(絕對、固定或相對定位)的父元素(祖先)進行定位。因為絕對定位的盒子是拼爹的,所以要和父級搭配一起來使用。 定位口訣 —— 子絕父相 剛才咱們說過,絕對定位,要和帶有定位的父級搭配使用,那麼父級要用什麼定位呢?子絕父相 —— 子級是絕對定位,父級要用相對定位。子絕父相是使用絕對定位的口訣,要牢牢記住!
  • Selenium必看:父子、兄弟、相鄰節點定位方式詳解
    今天跟大家分享下selenium中根據父子、兄弟、相鄰節點定位的方法,很多人在實際應用中會遇到想定位的節點無法直接定位,需要通過附近節點來相對定位的問題,但從父節點定位子節點容易