關於html CSS 絕對相對布局問題

2022-09-08 21:15:24 字數 2424 閱讀 9380

css定位屬性

position:把元素放置到乙個靜態的、相對的、絕對的、或固定的位置中。

top:定義了乙個定位元素的上外邊距邊界與其包含塊上邊界之間的偏移。

right:定義了定位元素右外邊距邊界與其包含塊右邊界之間的偏移。

bottom:定義了定位元素下外邊距邊界與其包含塊下邊界之間的偏移。

left:定義了定位元素左外邊距邊界與其包含塊左邊界之間的偏移。

overflow:設定當元素的內容溢位其區域時發生的事情。

clip:設定元素的形狀。元素被剪入這個形狀之中,然後顯示出來。

vertical-align:設定元素的垂直對齊方式。

z-index:設定元素的堆疊順序。

css布局中的 position:static|absolute|fixed|relative 的4中屬性

從上面語法可以看出,定位的方法有很多種,它們分別是靜態(static),絕對定位(absolute),固定(fixed),相對定位(relative)。在這個教程裡,我不逐一講,只講最常用也是最實用的兩個定位方法:絕對定位(absolute)、相對定位(relative)。

絕對定位(absolute):將被賦予此定位方法的物件從文件流中拖出,使用left,right,top,bottom等屬性相對於其最接近的乙個 最有定位設定的父級物件進行絕對定位,如果物件的父級沒有設定定位屬性,即還是遵循html定位規則的,則依據body物件左上角作為參考進行定位。絕對 定位物件可層疊,層疊順序可通過z-index屬性控制,z-index值為無單位的整數,大的在最上面,可以有負值(目前負值ff不支援)。

相對定位(relative):物件不可層疊,依據left,right,top,bottom等屬性在正常文件流中偏移自身位置。同樣可以用z-index分層設計。

static:是預設屬性,元素框正常生成。塊級元素生成乙個矩形框,作為文件流的一部分,行內元素則會建立乙個或多個行框,置於其父元素中。

relative:元素框偏移某個距離。元素仍保持其未定位前的形狀,它原本所佔的空間仍保留。

相對定位實際上被看作普通流定位模型的一部分,因為元素的位置相對於它在普通流中的位置。

注意,在使用相對定位時,無論是否進行移動,元素仍然佔據原來的空間。因此,移動元素會導致它覆蓋其它框。

absolute:元素框從文件流完全刪除,並相對於其包含塊定位。包含塊可能是文件中的另乙個元素或者是初始包含塊。元素原先在正常文件流中所佔的空間會關閉,就好像元素原來不存在一樣。元素定位後生成乙個塊級框,而不論原來它在正常流中生成何種型別的框。盡量不要使用left:px.right:px等屬性。盡量使用margin-left:多少px;這樣不容易錯位。

fixed:元素框的表現類似於將 position 設定為 absolute,不過其包含塊是視窗本身。是固定死的。無論你瀏覽器上下如何滾動,距離瀏覽器的具體都不會改變的

浮動不完全是定位,不過,它當然也不是正常流布局。

塊框和行內元素

使用 display 屬性改變生成的框的型別

這意味著,通過將 display 屬性設定為 block,可以讓行內元素(比如 元素)表現得像塊級元素一樣。還可以通過把 display 設定為 none,讓生成的元素根本沒有框。這樣的話,該框及其所有內容就不再顯示,不占用文件中的空間。

但是在一種情況下,即使沒有進行顯式定義,也會建立塊級元素。這種情況發生在把一些文字新增到乙個塊級元素(比如 div)的開頭。即使沒有把這些文字定義為段落,它也會被當作段落對待:

<

div>

some text

<

p>some more text.

p>

div>

在這種情況下,這個框稱為無名塊框,因為它不與專門定義的元素相關聯。

塊級元素的文字行也會發生類似的情況。假設有乙個包含三行文字的段落。每行文字形成乙個無名框。無法直接對無名塊或行框應用樣式,因為沒有可以應用樣式的地方(注意,行框和行內框是兩個概念)。但是,這有助於理解在螢幕上看到的所有東西都形成某種框。

css 有三種基本的定位機制:普通流、浮動和絕對定位。

除非專門指定,否則所有框都在普通流中定位。也就是說,普通流中的元素的位置由元素在 (x)html 中的位置決定。

塊級框從上到下乙個接乙個地排列,框之間的垂直距離是由框的垂直外邊距計算出來。

行內框在一行中水平布置。可以使用水平內邊距、邊框和外邊距調整它們的間距。但是,垂直內邊距、邊框和外邊距不影響行內框的高度。由一行形成的水平框稱為行框(line box),行框的高度總是足以容納它包含的所有行內框。不過,設定行高可以增加這個框的高度。

相對布局和絕對布局

position屬性有四個值,static 預設值 fixed,relative 相對 和absolute 絕對 relative是相對於當前位置進行定位,如果將top和left設為0,那麼就是當前的位置,並且relative不脫離文件流佔據位置 啥都不影響 如圖中這兩個盒子一開始設定為相對布局to...

div 相對布局,絕對布局

引用 position relative 相對定位 使用position relative,就需要top,bottom,left,right4個屬性來配合,確定元素的位置。如果要讓div 1層向下移動20px,左移40px example div 1 如果用到相對定位,緊隨他的層divafter是不...

DIV的相對布局和絕對布局

position relative 相對定位 使用position relative,就需要top,bottom,left,right4個屬性來配合,確定元素的位置。如果要讓div 1層向下移動20px,左移40px example div 1 如果用到相對定位,緊隨他的層divafter是不會出現...