你真的了解嗎 CSS 溢位 浮動 定位

2021-10-06 03:53:26 字數 3253 閱讀 2057

position

sticky

overflow 屬性用於控制內容溢位元素框時顯示的方式

屬性值描述

visible

預設值。內容不會被修剪,會呈現在元素框之外

hidden

內容會被修剪,並且其餘內容是不可見的

scroll

內容會被修剪,但是瀏覽器會顯示滾動條以便檢視其餘的內容

auto

如果內容被修剪,則瀏覽器會顯示滾動條以便檢視其餘的內容

# 內容會被修剪,瀏覽器會顯示滾動條以便檢視其餘內容

overflow

: scroll;

# 設定 水平 垂直 滾動條狀態

overflow

: scroll hidden;

# 設定 水平滾動條

overflow-x

: scroll;

# 設定 垂直滾動條

overflow-y

: hidden;

指得是盒子按照 html 標籤編寫順序依次從上到下的順序,塊元素獨佔一行,行內元素在同一行從左到右依次排列,先寫的先排,後寫的後排,每個盒子有自己的位置

浮動: 指的是標籤浮動到指定的位置上,浮動之後不會和之前的元素保持同一層

要想阻止浮動框,需要對該框使用clear屬性

clear 屬性的值可以是 left,right,both 或 none,它表示框的哪些邊不應該挨著浮動框!

因為浮動元素脫離了文件流,所以包圍的和文字的 div 不佔據空間

此時,當元素浮動起來後,無法撐開父元素的高度,就會出現如下場景:

此時,為父元素設定如下屬性即可:

父元素:after

position 屬性用來指定乙個元素在網頁上的位置,一共有 5 種定位方式,即 position 屬性主要有 5 個值

static是 position 屬性的預設值,表示沒有定位,或者說不算具有定位屬性。如果省略 position 屬性,瀏覽器就認為該元素是 static 定位

這時,瀏覽器會按照原始碼的順序,決定每個元素的位置。每個塊級元素佔據自己的區塊,元素與元素之間不產生重疊,這個位置就是元素的預設位置

static 定位所導致的元素位置,是瀏覽器自主決定的,所以這時topbottomleftright這四個屬性無效

relative , absolute , fixed 這三個屬性值有乙個共同點,都是相對於某個基點的的定位,不同之處僅僅在於基點不同。

這三種定位都不會對其它元素的位置產生影響,因此元素之間可能產生重疊

相對定位,相對於元素的預設位置進行偏移,定位基點是元素的預設位置

首先按預設方式 (static) 生成乙個元素,

然後相對於預設的位置進行偏移,移動的方向和幅度由topbottomleftright屬性確定,偏移之後原來位置還在占用,新的位置不占用空間

div

絕對定位,相對於最接近的乙個具有定位屬性的父元素進行定位

如果父類元素有定位屬性,那麼則以父類元素為參照物進行定位

如果父類元素沒有定位屬性,那麼依次向上找,直到 body元素,即相對於瀏覽器視窗進行定位

"outter"

>

"inner"

>

div>

div>

#inner

上面的**中,父元素是relative定位,子元素是absolute定位,所以子元素的定位基點是父元素,相對于父元素的頂部向下偏移 50px,如果父元素是static定位,上面的例子就是相對於網頁的頂部向下偏移 20 px

注意,absolute 定位的元素是不佔空間的,會脫離文件流

固定定位,相對於瀏覽器視窗進行偏移,即定位基點是瀏覽器視窗。這會導致元素的位置不隨頁面的滾動而變化,好像固定在網頁上一樣

例如: 網頁回到頂部按鈕

div

粘性定位,跟前面的四個屬性值都不一樣,它會產生動態效果,很像relativefixed的結合:一些時候是relative定位(定位基點是自身預設位置),另一些時候自動變成fixed定位(定位基點是瀏覽器視窗)

因此,它能夠形成 「動態固定」 的效果。比如,網頁的搜尋工具欄,初始載入時在自己的預設位置 (relative定位)

頁面向下滾動時,搜尋欄變成固定位置,始終停留在頁面頭部(fixed定位)

等到頁面重新向上滾動回到原位,工具欄也會回到預設位置

必須指定topbottomleftright其中之一,瀏覽器把它當作sticky的生效門檻,否則就等同於relative定位,不產生 動態固定 的效果。

#item

在瀏覽器頂部與 元素 item 的距離大於 50 px 時,元素為相對定位。之後,元素將固定在與頂部距離 50 px 的位置,直到瀏覽器視窗回滾到超過閾值

你真的了解Java嗎?

三目運算子規則 如果第二個和第三個運算元具有相同的型別,那麼它就是條件表示式的類 型。換句話說,你可以通過繞過混合型別的計算來避免 煩。如果乙個運算元的型別是 t,t 表示 byte short 或 char,而另乙個運算元是乙個 int 型別的常量表示式,它的值是可以用型別 t 表示的,那麼條件表...

你真的了解restful api嗎?

在以前,乙個 的完成總是 all in one 頁面,資料,渲染全部在服務端完成,這樣做的最大的弊端是後期維護,擴充套件極其痛苦,開發人員必須同時具備前後端知識。於是慢慢的後來興起了前後端分離的思想 後端負責資料編造,而前端則負責資料渲染,前端靜態頁面呼叫指定api獲取到有固定格式的資料,再將資料展...

你真的了解git嗎?

看了幾遍廖雪峰的git教程和阮一峰的git教程之後,覺得自己使用git已經是得心應手了,腦中也構建出了一副關於git操作的影象。學習乙個新東西的時候我總是喜歡把知識形象化出乙個圖譜在腦中,這樣記憶的更加深刻。但是隨著使用的深入,我發現我腦中的影象與git的實際行為存在出入。稍微進入一下正題。假如你的...