1. 程式人生 > >【修真院web小課堂】padding和margin的區別。

【修真院web小課堂】padding和margin的區別。

大家好,我是IT修真院西安分院第二期學員,一枚正直善良的web程式設計師。

今天給大家分享一下,修真院官網CSS-1任務中可能會使用到的知識點:

1.背景介紹

什麼是MARGIN 什麼是PADDING
我們在進行網頁製作時都會遇到為元素設定邊距的情況,邊距又分為內邊距和外邊距,即margin和padding.
margin和padding是在html中的盒模型的基礎上出現的,

margin是盒子的外邊距,即盒子與盒子之間的距離,而padding是內邊距,是盒子的邊與盒子內部元素的距離。

2.知識剖析

MARGIN是什麼?
CSS 邊距屬性定義元素周圍的空間。通過使用單獨的屬性,可以對上、右、下、左的外邊距進行設定

。也可以使用簡寫的外邊距屬性同時改變所有的外邊距。——W3School

邊界,元素周圍生成額外的空白區。“空白區”

通常是指其他元素不能出現且父元素背景可見的區域。——CSS權威指南

PADDING是什麼?
padding 屬性設定元素的內邊距,屬性定義元素邊框與元素內容之間的空間。

同理padding可以稱之為“內邊距”,但是我又恰恰喜歡稱呼padding為“補白”或者“留白”

MARGIN的特性
margin始終是透明的。margin通過使用單獨的屬性,可以對上、右、下、左的外邊距進行設定。即:margin-top、margin-right、margin-bottom、margin-left。
margin只有一個值表示上右下左,如果 margin 只有兩個值第一個值表示上下,第二個值為左右。
margin有三個值 表示上左右下,margin有四個值表示上下左右四個方向。

PADDING的特性

PADDING的特性

padding屬性設定元素所有內邊距的寬度,或者設定各邊上內邊距的寬度。

行內非替換元素上設定的內邊距不會影響行高計算;因此,如果一個元素既有內邊距又有背景,

從視覺上看可能會延伸到其他行,有可能還會與其他內容重疊。元素的背景會延伸穿過內邊距。

不允許指定負邊距值。

3.常見問題

1.什麼是盒子模型。
2.margin和padding的區別。

3.用margin好還是用padding好。

4.解決方案

什麼是盒子模型。

具備內容、填充、邊框、邊界這些屬性,能包含其他元素的容器都是盒子。

MARGIN和PADDING的區別。
我們以DIV為一個盒子為例,既然和現實生活中的盒子一樣,
那我們想一下,生活中的盒子內部是不是空的好用來存放東西,
而裡面存放東西的區域我們給他起個名字叫“content(內容)”,
而盒子的紙壁給他起個名字叫“border(邊框)”,如果盒子內部的東西比如是一塊硬碟
,但是硬碟怕震動,所以我們需要在硬碟的四周盒子的內部均勻填充一些防震材料,
這時硬碟和盒子的邊框就有了一定的距離了,我們稱這部分距離叫“padding(內邊距)”,
如果我們需要購買許多塊硬碟,還是因為硬碟怕震動所以需要在盒子和盒子之間也需要一些

防震材料來填充,那麼盒子和盒子之間的距離我們稱之為"margin(外邊距)"

用MARGIN好還是用PADDING好
何時應當使用margin:

需要在border外側新增空白時。 空白處不需要背景(色)時。 
上下相連的兩個盒子之間的空白,需要相互抵消時。如15px + 20px的margin,

將得到20px的空白。

何時應當時用padding:

需要在border內測新增空白時。 空白處需要背景(色)時。 
上下相連的兩個盒子之間的空白,希望等於兩者之和時。如15px + 20px的padding

,將得到35px的空白。

MARGIN在塊級元素
margin在塊級元素下,他的效能可以完全體現,上下左右任你設定.


MARGIN在行級元素
margin也能用於內聯元素,這是規範所允許的,
但是margin-top和margin-bottom對內聯元素(對行)的高度沒有影響,

並且由於邊界效果(margin效果)是透明的,他也沒有任何的視覺影響。

總結
margin屬性可以應用於幾乎所有的元素,除了表格顯示型別。

padding屬性的使用1.需要在border內測新增空白時。 2.空白處需要背景(色)時。

margin是用來隔開元素與元素的間距;padding是用來隔開元素與內容的間隔。
margin用於佈局分開元素使元素與元素互不相干;padding用於元素與內容之間的間隔,

讓內容(文字)與(包裹)元素之間有一段“呼吸距離”。

5.程式碼實戰

margin水平邊距不合並


垂直margin可合併


6.拓展思考

什麼是MARGIN摺疊?
在CSS中,兩個或以上的塊元素(可能是兄弟,也可能不是)
之間的相鄰外邊距可以被合併成一個單獨的外邊距。通過此方式合併的外邊距被稱為摺疊,
且產生的已合併的外邊距被稱為摺疊外邊距。 處於同一個塊級上下文中的塊元素,沒有行框、

沒有間隙、沒有內邊距和邊框隔開它們,這樣的元素垂直邊緣毗鄰,則稱之為相鄰。

7.參考文獻

參考一: margin的詳細用法
參考二: 怎麼區分margin 和 padding的區別。
參考三 盒子模型知多少

參考四 margin為負值產生的影響和常見佈局應用

8.更多討論

1.如何利用margin達到,垂直居中的效果。

2.如何理解margin的重疊,具體應用。

3.2個垂直的盒子一個外底邊距為15px,一個外頂邊距為20px,合併之後為多少。

相關推薦

web課堂paddingmargin區別

大家好,我是IT修真院西安分院第二期學員,一枚正直善良的web程式設計師。今天給大家分享一下,修真院官網CSS-1任務中可能會使用到的知識點:1.背景介紹什麼是MARGIN 什麼是PADDING我們在進行網頁製作時都會遇到為元素設定邊距的情況,邊距又分為內邊距和外邊距,即ma

WEB課堂自適應最螢幕時,該如何佈局

自適應小螢幕裝置時,該如何佈局?分享人:宜康1.背景介紹隨著科技的發達,使用移動裝置諸如手機平板等獲取資訊,社交的人越來越多。如何在螢幕大小不同的物理裝置上獲得類似的使用體驗呢? 很多網站的做法是為不同大小的物理裝置提供不同的網頁。但是這樣做很麻煩,需要維護多個版本,不夠方便

web課堂原型

1.背景介紹 JavaScript 中,萬物皆物件。 JavaScript根據"原型鏈"(prototype chain)模式,來實現繼承。2.知識剖析2.1 物件JavaScript中,物件是有區別的,分為普通物件和函式物件,Object ,Function 是JS自帶的函

web課堂簡述JS中this的指向

 大家好,我是IT修真院北京總院第33期的學員劉仁瑞,一枚正直、純潔、善良的前端程式設計師今天給大家分享一下,修真院官網JS任務4深度思考中的知識點——JS中this的指向。 1、背景介紹     我們在寫程式碼時候往往希望一個函式在不同環境下行為風格一致但是具體表現不一

java課堂MemCacheRedis的區別

大家好,我是IT修真院西安分院第三期學員,一枚正直純潔善良的JAVA程式設計師。 今天給大家分享一下,修真院官網JAVA任務六,深度思考中的知識點——MemCache和Redis的區別 一、背景介紹 Memcache和Redis Memcache :是 danga.co

JAVA課堂MemcacheRedis的區別是什麼?

大家好,我是IT修真院深圳分院第十二期學員,一枚正直純潔善良的JAVA程式設計師。 今天給大家分享一下,修真院官網JAVA任務六的一個知識點:Memcache和Redis的區別是什麼? 課題:Memcache和Redis的區別是什麼? 1.背景介紹   &nb

java課堂REDIS快取叢集介紹

大家好,我是IT修真院西安分院第三期學員,一枚正直純潔善良的JAVA程式設計師。 今天給大家分享一下,修真院官網JAVA任務六,深度思考中的知識點——REDIS快取叢集介紹 一、背景介紹 Redis: Redis 是一個開源(BSD許可)的,記憶體中的資料結構儲存系統

java課堂什麼是jsp?

大家好,我是IT修真院鄭州分院第11期的JAVA學員周巨集浩,一枚正直純潔善良的java程式設計師。 今天給大家分享一下,什麼是jsp?。 1.背景介紹 JSP全名為Java Server Pages,中文名叫java伺服器頁面,JSP是一種動態頁面技

java課堂shiro 的簡單介紹

大家好,我是IT修真院武漢分院第十五期學員,一枚正直純潔善良的JAVA程式設計師。 今天給大家分享一下,修真院官網JAVA任務十的一個知識點:shiro 1.背景介紹 什麼是Apache Shiro? Apache Shiro(讀作“sheeroh”,即日語“城”

java課堂什麼是RMI,什麼是RPC,兩者之間的區別是什麼?

大家好,我是IT修真院北京分院第34期的學員嶽曉鵬,一枚正直純潔善良的java程式設計師,今天給大家分享一下,修真院官網java任務八,深度思考中的知識點——什麼是RMI,什麼是RPC,兩者之間的區別是什麼? (1)背景介紹: RMI Java遠端方法呼叫,即Java

java課堂什麼是一致性雜湊

大家好,我是IT修真院北京分院JAVA學員,一枚正直純潔善良的java程式設計師。 今天給大家分享一下,什麼是一致性雜湊 1.背景介紹 一致性雜湊概述 一致性雜湊演算法在1997年由麻省理工學院提出(參見擴充套件閱讀[1]),設計目標是為了解決因特網中的熱點(Hot

JAVA課堂什麼是SpringCloudBus?如何使用SpringCloudBus實現自動更新配置?

大家好,我是IT修真院深圳分院第十一期學員,一枚正直純潔善良的JAVA程式設計師。 今天給大家分享一下,修真院官網JAVA任務十的一個知識點:什麼是SpringCloudBus?如何使用SpringCloudBus實現自動更新配置? 1    背景介紹1.1    S

java課堂什麼是序列化反序列化,在RMI中是否要實現 SERIALIZABLE 介面, SERIALVERSIONUID的用處是什麼?

8.更多討論 1、serialVersionUID實際作用 假設本地資料庫中儲存了大量的user物件,後來由於需求,要修改User類中的屬性;如果不設定SerialVersionUID,根據屬性方法等自動生成,就會出現程式碼演示中的錯誤,造

JAVA課堂redis快取叢集簡單介紹

大家好,我是IT修真院鄭州分院第11期的JAVA學員,一枚正直純潔善良的java程式設計師。 今天給大家分享一下,redis快取叢集簡單介紹。 1.背景介紹 redis是一個key-value儲存系統。和Memcached類似,它支援儲存的value型別相對更多,包括s

JAVA課堂如何使用分散式配置中心?

大家好,我是IT修真院深圳分院第十一期學員,一枚正直純潔善良的JAVA程式設計師。 今天給大家分享一下,修真院官網JAVA任務十的一個知識點:如何使用分散式配置中心? 1    背景介紹 1.1    SpringCloud簡介 springCloud是基於SpringB

PM課堂需求分析的幾個來源

大家好,我是IT修真院深圳分院第14期的學員,今天給大家分享一下,需求分析的幾個來源。 一、背景介紹 需求是現實狀況與想象狀況的差距,差距越大,需求越大。 需求的本質是人的慾望。 舉個例子。吃飯,這是一項最基本的生理慾望,不吃就餓屎了。那吃飯,你就得先把飯做出來

JAVA課堂什麼叫明文,什麼叫密文,為什麼不允許在資料庫裡明文儲存密碼

大家好,我是IT修真院深圳分院第十二期學員,一枚正直純潔善良的JAVA程式設計師。 今天給大家分享一下,修真院官網JAVA任務五的一個知識點:什麼叫明文,什麼叫密文,為什麼不允許在資料庫裡明文儲存密碼? 1.背景介紹 2.知識剖析 3.常見問題 4.解決方案

JAVA課堂List集合

大家好,我是IT修真院深圳分院第十二期學員,一枚正直純潔善良的JAVA程式設計師。 今天給大家分享一下,修真院官網JAVA任務十的一個知識點:List集合 深入學習網址:http://www.jnshu.com/login/1/12744596 願不再有程式渣,我們只生產程式碼,而不

JAVA課堂nginx伺服器有什麼作用?什麼叫反向代理?為什麼要使用反向代理?

大家好,我是IT修真院深圳分院第十二期學員,一枚正直純潔善良的JAVA程式設計師。 今天給大家分享一下,修真院官網JAVA任務三的一個知識點: nginx伺服器有什麼作用?什麼叫反向代理?為什麼要使用反向代理? 課題:nginx伺服器有什麼作用?什麼叫反向代理?為什麼要使用反向代理?

JAVA課堂Spring AOP

大家好,我是IT修真院深圳分院第十二期學員,一枚正直純潔善良的JAVA程式設計師。 今天給大家分享一下,修真院官網JAVA任務三的一個知識點:spring AOP 課題:spring AOP 1.背景介紹 2.知識剖析 3.常見問題 4.解決方案 5.編碼實戰 6