CSS 中 的 margin、border、padding 區別 (內邊距、外邊距)

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。

圖解CSS padding、margin、border屬性

W3C組織建議把所有網頁上的對像都放在一個盒(box)中,設計師可以通過創建定義來控制這個盒的屬性,這些對像包括段落、列表、標題、圖片以及層。盒模型主要定義四個區域:內容(content)、內邊距(padding)、邊框(border)和外邊距(margin)。對于初學者,經常會搞不清楚margin,background-color,background-image,padding,content,border之間的層次、關系和相互影響。這里提供一張盒模型的3D示意圖,希望便于你的理解和記憶。

margin:層的邊框以外留的空白
background-color:背景顏色
background-image:背景圖片
padding:層的邊框到層的內容之間的空白 
border:邊框 
content:內容

?

接下來將講述HTML和CSS的關鍵——盒子模型(Box model)。理解Box model的關鍵便是margin和padding屬性,而正確理解這兩個屬性也是學習用css布局的關鍵。

注: 為什么不翻譯margin和padding??
原因一: 在漢語中并沒有與之相對應的詞語;?
原因二: 即使有這樣的詞語, 由于在編寫css代碼時, 必須使用margin和padding, 如果我們總用漢語詞語代替其來解釋的話, 到了實際應用時容易混淆margin和padding的概念。

如果有一點Html基礎的話,就應該了解一些基本元素(Element),如p、h1~h6、br、div、li、ul、img等。如果將這些元素細分,又可以分別為頂級(top-level)元素、塊級(block-level)元素和內聯(inline)元素。

塊級元素是構成一個html的主要和關鍵元素,而任意一個塊級元素均可以用Box model來解釋說明。
Box Model: 任意一個塊級元素均由content(內容)、padding、background(包括背景顏色和圖片)、border(邊框)、margin五個部分組成。
立體圖如下:

平面圖如下:

根據以上兩圖,相信大家對于Box model會有個直觀的認識。

以下說明margin和padding屬性:
1、margin: 包括margin-top、margin-right、margin-bottom、margin-left,控制塊級元素之間的距離,它們是透明不可見的。根據上、 右、下、左的順時針規則,可以寫為 margin: 40px 40px 40px 40px;
為便于記憶,請參考下圖:

當上下、左右margin值分別一致, 可簡寫為:

margin: 40px 40px; 

前一個40px代表上下margin值,后一個40px代表左右margin值。
當上下左右margin值均一致,可簡寫為:

margin: 40px;

2、Padding: 包括padding-top、padding-right、padding-bottom、padding-left,控制塊級元素內部,content與border之間的距離,其代碼,簡寫請參考margin屬性的寫法。

至此,我們已經基本了解margin和padding屬性的基本用法。但是,在實際應用中,卻總是發生一些讓你琢磨不透的事,而它們又或多或少的與margin有關。

注: 當你想讓兩個元素的content在垂直方向(vertically)分隔時,既可以選擇padding-top/bottom,也可以選擇margin-top/bottom,再此Ruthless建議你盡量使用padding-top/bottom來達到你的目的,這是因為css中存在Collapsing margins(折疊的margins)的現象。

Collapsing margins: margins折疊現象只存在于臨近或有從屬關系的元素,垂直方向的margin中。

?

詳細說明如下:?
如果只提供一個,將用于全部的四條邊;
如果提供兩個,第一個用于上-下,第二個用于左-右;?
如果提供三個,第一個用于上,第二個用于左-右,第三個用于下;?
如果提供全部四個參數值,將按上-右-下-左的順序作用于四邊。

body { padding: 36px;} //對象四邊的補丁邊距均為36px 
body { padding: 36px 24px; } //上下兩邊的補丁邊距為36px,左右兩邊的補丁邊距為24px 
body { padding: 36px 24px 18px; } //上、下兩邊的補丁邊距分別為36px、18px,左右兩邊的補丁邊距為24px 
body { padding: 36px 24px 18px 12px; } //上、右、下、左補丁邊距分別為36px、24px、18px、12px

?

轉自:http://www.cnblogs.com/linjiqin/p/3556497.html

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/448117.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/448117.shtml
英文地址,請注明出處:http://en.pswp.cn/news/448117.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

CMake 常用的預定義變量

CMake 常用的預定義變量 PROJECT_NAME : 通過 project() 指定項目名稱 PROJECT_SOURCE_DIR : 工程的根目錄 PROJECT_BINARY_DIR : 執行 cmake 命令的目錄 CMAKE_CURRENT_SOURCE_DIR : 當前 CMakeList.txt 文件所在的目錄 CMAKE_CURRENT_BINARY_DIR : 編譯目錄,…

什么是轉向燈?使用轉向燈有何技巧?

什么是轉向燈?如何使用轉向燈?新手司機對車輛還不是很熟悉,如何正確使用轉向燈,尤其是在不同路段中該怎么正確使用轉向燈,成為了很多新手們的困擾之一,今天我們就來為大家解決這個問題吧! 轉向燈…

基于Flask開發企業級REST API應用(一)

關于我 編程界的一名小小程序猿,目前在一個創業團隊任team lead,技術棧涉及Android、Python、Java和Go,這個也是我們團隊的主要技術棧。 Github:github.com/hylinux1024 微信公眾號:angrycode 前面對Python WEB框架Fla…

解決:Do not use built-in or reserved HTML elements as component id: form

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 1. vue 新寫了個組件,運行工程成功,但界面沒有出效果,F12 提示有一個警告: Do not use …

移動語義,右值引用

移動語義 目錄 右值引用變量是左值move庫函數移動構造函數和移動賦值移動操作庫容器和異常移動賦值操作符移動后的對象必須是可以析構的合成移動操作右值移動左值拷貝右值在無法被移動時進行拷貝拷貝和交換賦值操作與移動移動迭代器右值引用和成員函數右值與左值引用的成員函…

集合練習:登錄注冊功能

需求: 1、登錄賬號唯一,在注冊時驗證輸入的賬號是否可用,若已存在,則不可用,若不存在則可用2、登錄時使用賬號密碼進行驗證1 /**2 * author Administrator3 * 登錄信息 4 */5 public class UserLogin {6 …

vue 通信、傳值的多種方式(超詳細)

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 一、通過路由帶參數進行傳值 ①兩個組件 A和B,A組件通過query把orderId傳遞給B組件(觸發事件可以是點擊事件、鉤子函數等&am…

新手開車 駕駛小秘訣要牢記

有很多人剛買到新車興奮異常,憑著并不熟練的駕駛技術,過了幾天的車癮后發現,剛買的車怎么出現了這樣那樣的問題 有很多人剛買到新車興奮異常,憑著并不熟練的駕駛技術,過了幾天的車癮后發現,剛買的車怎么出現…

chrome中Google插件導出導入

導出插件: 一般電腦默認將你安裝的插件存放的位置在:C:\Users(用戶)\你的電腦名稱\AppData\Local\Google\Chrome\User Data\Default\Extensions 這個文件夾下。這里的 AppData 是個隱藏文件夾,需要顯示隱藏文件夾才行…

科目三電子路考操作流程

如果你已經通過科目二場內五項考試,正準備參加科目三電子路考的話,不妨看看由邕江駕校李師傅操作講解的電子路考考試流程演示視頻,每項都有詳細介紹操作要領及評判標準哦。 科目三考試項目:上車準備、起步、路口左轉彎、通過學校區…

vue Bus 總線 組件間通信

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 有時候兩個組件也需要通信(非父子關系)。當然Vue2.0提供了Vuex,但在簡單的場景下,可以使…

C++沒有調用析構函數

github地址 在項目中遇到一個問題,析構函數沒有調用產生了內存泄露。 具體見valgrind檢測libevent內存泄露 我們看兩個例子 demo1 class Test1; void del(Test1* obj){delete obj; } class Test1{ public:Test1(){printf("Test1\r\n");}~Test1(){pri…

實際操作之路考的這些事

辛苦了這么久練習路考,今天終于實際操作到我路考了。上車以后。關上車門。把考試的單地上給考官。還沒有認真的去看考官一眼。于是就聽到考官用低沉的聲音對我說:你好!當時就感覺有一點意外。沒想到考官你這么有禮貌。然后我就沒那么緊張了&a…

[C# 網絡編程系列]專題十二:實現一個簡單的FTP服務器

引言: 休息一個國慶節后好久沒有更新文章了,主要是剛開始休息完心態還沒有調整過來的, 現在差不多進入狀態了, 所以繼續和大家分享下網絡編程的知識,在本專題中將和大家分享如何自己實現一個簡單的FTP服務器。在我們平…

vue 2 使用 Bus.js 實現兄弟 (非父子) 組件通信 簡單案例

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 vue2中廢棄了$dispatch和$broadcast廣播和分發事件的方法。父子組件中可以用props和$emit()。如何實現非父子組件間的通信,可…

jenkins自動化部署

jenkins自動化部署 github地址 首先設置源碼地址,jenkins會從倉庫中拉取最新代碼 拉取代碼后運行shell腳本自動進行編譯 cd mediaService cmake -S . -B cmake-build-release-hisi3531 -DCMAKE_C_COMPILER/opt/hisi-linux/x86-arm/arm-hisiv500-linux/target/bin…

JS-[IIFE閉包]

JS-IIFE&閉包 IIFE(立即調用函數表達式)示例IIFE實現單例模式閉包計數器例子非閉包實現閉包實現IIFE閉包實現內存泄露解決IIFE(立即調用函數表達式) 示例 (function iife(){ //直接執行,無需調用console.log("hello"); })(); //上面相當于function ii…

學開車不能急于求成,心急上路

我發現很多人開始學開車以后就急著要上路,覺得開車是很簡單的事情,個人覺得開車雖然不難(相對于會開車的人來說),但是,雖然不是很難,也不是一學會開車起步就能上路去瀟灑的。急于求成的人很容易…

vue 組件間傳值、兄弟組件 、bus方式 ( 1 分鐘看懂 )

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 bus方式的組件間傳值其實就是建立一個公共的js文件,專門用來傳遞消息 1.建立公共文件,并引入 新建msgBus.js文件…

valgrind檢測libevent內存泄露

valgrind檢測libevent內存泄露 github地址 在使用封裝好的http庫時,遇到了如下的內存泄露,一開始在definitely處還存在泄露,這里就不貼圖了,已經被淹沒了。 根據提示定位出錯代碼位置,如下圖: 這里提示ev…