【css筆記】css中的盒模型和三種定位機制(固定定位,絕對定位,浮動)

来源:http://www.cnblogs.com/libra-yong/archive/2017/05/06/6816393.html
-Advertisement-
Play Games

html頁面上的元素都可以看成是框組成的,框通過三種定位機制排列在一起就過程了我們看到的頁面.而框就是盒模型. 盒模型 1.頁面上的每個元素可以看成一個矩形框,每個框由元素的內容,內邊距,邊框和外邊距組成。 2.如果在元素上添加背景,則背景是邊框, 內邊距和內容組成的區域. 3.在css中width ...


html頁面上的元素都可以看成是框組成的,框通過三種定位機制排列在一起就過程了我們看到的頁面.而框就是盒模型.

盒模型

 

 

1.頁面上的每個元素可以看成一個矩形框,每個框由元素的內容,內邊距,邊框和外邊距組成。

2.如果在元素上添加背景,則背景是邊框, 內邊距和內容組成的區域.

3.csswidthheight指的是內容區域的寬度和高度。增加內邊距,邊框和外邊距不會影響內容區域的尺寸,但會增加元素框的總尺寸。即width=element

註意ie的盒模型中,width指的是內容,內邊距,和邊框的寬度總和(沒有外邊距)。即:width=element+padding+border

 

外邊距疊加:當兩個或更多的垂直外邊距相遇時,它們將形成一個新外邊距。這個新外邊距的高度等於兩個發生疊加的外邊距的高度中的較大者。

註意:只有普通文檔流中的塊框的垂直外邊距才會發生外邊距疊加。行內框,浮動框或絕對定位框之間的外邊距不會疊加.

會有以下四種情況:

 

 

 

html中的元素分為塊級元素和行內元素,對應的生成的框即為塊框和行內框.

塊框從上到下一個接著一個排列,塊框之間的距離由垂直外邊距決定.

行內框在一行中水平排列.

註意:可通過設置display屬性改變框的類型.

 

css的三種定位機制

css3中基本的定位機制:普通流,浮動和絕對定位.

若非通過css樣式指定,所有的框都在普桶流中,普通流中的元素框位置由元素在html中的位置決定.

相對定位(視為普通流定位):因為是相對定位元素的位置是”相對於”元素在普通流中的初始位置而定,所以視為普通流定位的一種.相對定位的元素任占據原來的空間,並且可以覆蓋其他框.

將屬性position設置為relative.通過設置topleft使框相對於原來元素的起點移動

 

絕對定位:絕對定位的元素的位置是相對於距離它最近的那個已定位的祖先元素確定的.絕對定位的元素位置與文檔流無關,因此不占據空間.

註意:

相對定位元素的位置是”相對於”元素在普通流中的初始位置而定.

絕對定位是”相對於”距離它最近的已定位祖先元素,如不存在,則相對於初始包含塊.

註意:絕對定位因為與文檔流無關,因此也會覆蓋頁面上的其他元素.p47

當絕對定位的元素由重合時刻通過z-index設置疊放次序.

將屏幕看成湖面,z-index設置的值越高,離湖面越近,則顯示的優先順序就越高.z-index值高的元素顯示優先順序高於z-index值低的元素.

固定定位:視為絕對定位的一種. 固定元素的包含塊為瀏覽器視窗.

 

浮動:浮動會讓元素脫離文檔流.浮動框可以左右移動知道它的外邊距碰到包含框或者另一個浮動框的邊緣.

若浮動的元素後面有一個文檔流中的元素,那麼浮動元素旁邊的行框將被縮短.文檔流中的元素會緊跟浮動框之後(例如文本圍繞圖像).

解決方法:對行框應用clear屬性,屬性值為left,right,both,none.而在具體實現時,瀏覽器會在元素頂上添加足夠的外邊距,是元素的頂邊緣垂直下降到浮動框下麵.

css定位有關的屬性(第一個屬性值為預設屬性):

position

規定元素的定位類型

static, absolute, fixed, relative

top

設置定位元素的上外邊距邊界與其包含塊上邊界之間的偏移

auto, 百分數, 數值

right

設置定位元素右外邊距邊界與其包含塊右邊界之間的偏移

auto, 百分數, 數值

bottom

設置定位元素下外邊距邊界與其包含塊下邊界之間的偏移

auto, 百分數, 數值

left

設置定位元素左外邊距邊界與其包含塊左邊界之間的偏移

auto, 百分數, 數值

float

規定框的浮動

none, left, right

clear

規定元素的哪一側不允許其他浮動元素

none, left, right, both

display

規定元素應生成框的類型

inline, none, block, inline-block

clip

剪裁絕對定位元素

auto, 形狀rect (top, right, bottom, left)

overflow

規定當內容溢出元素框時發生的事情

visible, hidden, scroll, auto

vertical-align

設置元素的垂直對齊方式

baseline, sub, super, top, bottom, 數值,百分數

visibility

規定元素是否可見

visible, hidden, collapse

Z-index

設置元素的堆疊順序

auto, 數值

cursor

規定要顯示的游標的類型

Auto, text, help,pointer, move


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一、認識CSS樣式 1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 5 <title>認識CSS樣式</title> 6 <style ...
  • 我們這裡所說的devicePixelRatio其實指的是window.devicePixelRatio, 被所有WebKit瀏覽器以及Opera所支持。 概念 devicePixelRatio ,它是設備上物理像素和設備獨立像素( device-independent pixels (dips) ) ...
  • 不管是左是右,反正就是一邊寬度固定,一邊寬度自適應。 博客園的很多主題也是這樣設計的,我的博客也是右側固定寬度,左側自適應屏幕的佈局方式。 html代碼: 實現方式方式有如下幾種: 1.固定寬度區浮動,自適應區不設寬度而設置 margin 我們以右側寬度固定,左側寬度自適應為例: css代碼: 實現 ...
  • window.onload事件處理函數在頁面載入完畢後調用。 問題是有時我們給window.onload事件處理函數綁定不止一個函數,並且有一些函數函數帶有參數的。 下麵是兩個參數函數,其中一個有參數,另一個沒有參數。 一、以前的做法是直接綁定。 二、addLoadEvent()函數 綁定不帶參數的 ...
  • wx.getUserInfo(OBJECT) 微信官方的這個獲取用戶信息的方法,需要對介面返回的加密數據( encryptedData )進行對稱解密。 ...
  • 六、使用下拉列表框進行多選 1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 5 <title>使用下拉列表框進行多選</title> 6 ...
  • 例題一枚:在input框中輸入內容,會相應的顯示在下麵的div中的不同做法: js:原生DOM操作 指點迷津:getElementById獲取DOM節點,innerHTML:設置或者獲取節點內部的所有HTML代碼; 這裡需要註意獲取到input裡面的節點內容需要獲取value值。 這裡使用的是inn ...
  • ECMAScript語言類型對應於使用ECMAScript語言的ECMAScript程式員直接操作的值。ECMAScript語言類型有以下幾種Undefined,Null,Boolean,String,Symbol,Number和Object。ECMAScript語言值是以ECMAScript語言類 ...
一周排行
    -Advertisement-
    Play Games
  • 前言 本文介紹一款使用 C# 與 WPF 開發的音頻播放器,其界面簡潔大方,操作體驗流暢。該播放器支持多種音頻格式(如 MP4、WMA、OGG、FLAC 等),並具備標記、實時歌詞顯示等功能。 另外,還支持換膚及多語言(中英文)切換。核心音頻處理採用 FFmpeg 組件,獲得了廣泛認可,目前 Git ...
  • OAuth2.0授權驗證-gitee授權碼模式 本文主要介紹如何筆者自己是如何使用gitee提供的OAuth2.0協議完成授權驗證並登錄到自己的系統,完整模式如圖 1、創建應用 打開gitee個人中心->第三方應用->創建應用 創建應用後在我的應用界面,查看已創建應用的Client ID和Clien ...
  • 解決了這個問題:《winForm下,fastReport.net 從.net framework 升級到.net5遇到的錯誤“Operation is not supported on this platform.”》 本文內容轉載自:https://www.fcnsoft.com/Home/Sho ...
  • 國內文章 WPF 從裸 Win 32 的 WM_Pointer 消息獲取觸摸點繪製筆跡 https://www.cnblogs.com/lindexi/p/18390983 本文將告訴大家如何在 WPF 裡面,接收裸 Win 32 的 WM_Pointer 消息,從消息裡面獲取觸摸點信息,使用觸摸點 ...
  • 前言 給大家推薦一個專為新零售快消行業打造了一套高效的進銷存管理系統。 系統不僅具備強大的庫存管理功能,還集成了高性能的輕量級 POS 解決方案,確保頁面載入速度極快,提供良好的用戶體驗。 項目介紹 Dorisoy.POS 是一款基於 .NET 7 和 Angular 4 開發的新零售快消進銷存管理 ...
  • ABP CLI常用的代碼分享 一、確保環境配置正確 安裝.NET CLI: ABP CLI是基於.NET Core或.NET 5/6/7等更高版本構建的,因此首先需要在你的開發環境中安裝.NET CLI。這可以通過訪問Microsoft官網下載並安裝相應版本的.NET SDK來實現。 安裝ABP ...
  • 問題 問題是這樣的:第三方的webapi,需要先調用登陸介面獲取Cookie,訪問其它介面時攜帶Cookie信息。 但使用HttpClient類調用登陸介面,返回的Headers中沒有找到Cookie信息。 分析 首先,使用Postman測試該登陸介面,正常返回Cookie信息,說明是HttpCli ...
  • 國內文章 關於.NET在中國為什麼工資低的分析 https://www.cnblogs.com/thinkingmore/p/18406244 .NET在中國開發者的薪資偏低,主要因市場需求、技術棧選擇和企業文化等因素所致。歷史上,.NET曾因微軟的閉源策略發展受限,儘管後來推出了跨平臺的.NET ...
  • 在WPF開發應用中,動畫不僅可以引起用戶的註意與興趣,而且還使軟體更加便於使用。前面幾篇文章講解了畫筆(Brush),形狀(Shape),幾何圖形(Geometry),變換(Transform)等相關內容,今天繼續講解動畫相關內容和知識點,僅供學習分享使用,如有不足之處,還請指正。 ...
  • 什麼是委托? 委托可以說是把一個方法代入另一個方法執行,相當於指向函數的指針;事件就相當於保存委托的數組; 1.實例化委托的方式: 方式1:通過new創建實例: public delegate void ShowDelegate(); 或者 public delegate string ShowDe ...