5_CSS三大特性盒子模型

第5章-盒子模型【比屋教育】

本課目標(Objective)

  • 掌握CSS三大特性
  • 理解什么是盒子模型
  • 掌握內邊距padding的用法
  • 掌握外邊距margin的用法

1. CSS的層疊,繼承,優先級

1.1 CSS層疊
  • 層疊:是指多個CSS樣式疊加到同一個元素,遵循從上到下的原則,會應用最后加載的樣式。

  • 案例:1.樣式的重疊性.html

1.2 CSS繼承
  • 繼承:子元素會繼承父元素的樣式,繼承的好處就是可以代碼復用。

  • 子元素可以繼承父元素的樣式(text-,font-,line-這些元素開頭的可以繼承,以及color屬性

  • 案例:2.樣式的繼承性.html

1.3 CSS優先級(重點)
  • 當出現多個規則應用在同一元素上時,選擇器屬性不同,就會出現優先級的問題。

1 權重計算公式

關于CSS權重,我們需要一套計算公式來去計算,這個就是 CSS Specificity(特殊性)

標簽選擇器計算權重公式
繼承的權重最低0,0,0,0
標簽選擇器0,0,0,1
類,偽類0,0,1,0
唯一ID0,1,0,0
行內聯樣式 style=""1,0,0,0
!important最高權重
!important用法:
div {color: red!important;
}
  • 案例:3.樣式的優先級.html

2 權重疊加
  • 多個基礎選擇器組合時就會出現權重疊加的情況

  • 案例:4.權重疊加.html

3. 繼承的權重
  • 繼承的權重是最低的。

  • 案例:5.繼承的權重.html

2.網頁如何布局

  • 網頁布局的本質:

    • 首先用CSS設置好盒子(DIV)的大小,然后擺放盒子的位置。

    • 最后把網頁元素比如文字圖片等等,放入盒子里面。

3. 什么是盒子模型

  • 瀏覽器中的盒子模型(DIV)

  • 案例:06-盒子邊框設置1.html

  • 盒子模型案例:

4. 盒子邊框設置?

  • 語法:

border : border-width || border-style || border-color
屬性作用
border-width定義邊框粗細,單位是px
border-style邊框的樣式
border-color邊框顏色
  • 邊框的樣式:

    • none:沒有邊框即忽略所有邊框的寬度(默認值)

    • solid:邊框為單實線(最為常用的)

    • dashed:邊框為虛線

    • dotted:邊框為點線

4.1 邊框綜合設置
border-bottom: 2px solid yewllo;
4.2 盒子邊框寫法總結表
  • 可以單獨給4個邊框分別指定的。

  • 案例:07-盒子邊框設置2.html

上邊框下邊框左邊框右邊框
border-top-style:樣式;border-bottom-style:樣式;border-left-style:樣式;border-right-style:樣式;
border-top-width:寬度;border- bottom-width:寬度;border-left-width:寬度;border-right-width:寬度;
border-top-color:顏色;border- bottom-color:顏色;border-left-color:顏色;border-right-color:顏色;
border-top:寬度 樣式 顏色;border-bottom:寬度 樣式 顏色;border-left:寬度 樣式 顏色;border-right:寬度 樣式 顏色;

5. 內邊距(padding)

4.1 內邊距:
  • padding屬性用于設置內邊距。 表示邊框與內容之間的距離。

  • 指定padding值之后

    • 內容和邊框有了距離,添加了內邊距。

    • 盒子會被撐大

4.2 內邊距屬性設置
屬性作用
padding-left左內邊距
padding-right右內邊距
padding-top上內邊距
padding-bottom下內邊距
  • 簡寫表達方式:

值的個數表達意思
1個值padding:上下左右內邊距;
2個值padding: 上下內邊距 左右內邊距 ;
3個值padding:上內邊距 左右內邊距 下內邊距;
4個值padding: 上內邊距 右內邊距 下內邊距 左內邊距 ;

  • 案例:08.內邊距設置.html

4.3 課堂案例: 網頁導航制作
  • 案例:09.網頁導航案例.html

4.4 盒子實際的大小計算

  • 寬度:content width + padding + border

  • 高度:content height + padding + border

  • 盒子的實際的大小 = 內容的寬度和高度 + 內邊距 + 邊框

  • 案例:10.盒子實際大小計算方式.html

4.5 內邊距為什么會撐開盒子
  • 如果設置內邊距就會撐大原來的盒子

  • 一個盒子寬度為50, padding為 20, 邊框為15像素,問這個盒子實際的寬度的是()

6. 外邊距(margin)

6.1 外邊距設置:
屬性作用
margin-left左外邊距
margin-right右外邊距
margin-top上外邊距
margin-bottom下外邊距
  • 案例:11.外邊距設置.html

6.2 盒子水平居中
  • 可以讓一個塊級盒子實現水平居中必須:

    • 盒子必須指定了寬度(width)

    • 然后就給左右的外邊距都設置為auto

      • 常見的寫法:

        • margin-left: auto; margin-right: auto;

        • margin: auto;

        • margin: 0 auto;

  • 案例:12.盒子居中對齊.html

6.3 文字居中和盒子居中區別
  • 盒子內的文字水平居中是 text-align: center, 而且還可以讓行內元素和行內塊居中對齊

  • 塊級盒子水平居中 左右margin 改為 auto

  • 案例:13.文字居中和盒子居中.html

text-align: center; /*  文字 行內元素 行內塊元素水平居中 */
margin: 10px auto;  /* 塊級盒子水平居中  左右margin 改為 auto 就闊以了 上下margin都可以 */
6.4 插入圖片和背景圖片區別
  • 插入圖片的控制:只能靠盒模型 padding與margin來控制

  • 背景圖片的控制:只能通過 background-position來控制

  • 案例:14.插入圖片和背景圖片的區別.html

6.6 清除元素的默認內外邊距(重要)

  • 為了更靈活方便地控制網頁中的元素,制作網頁時,我們需要將元素的默認內外邊距清除

  • 案例:15.清除元素默認的內外邊距.html

* {padding:0; ? ? ? ? /* 清除內邊距 */ ?margin:0; ? ? ? ? ?/* 清除外邊距 */
}
6.7 外邊距合并
  • 使用margin定義塊元素的垂直外邊距時,可能會出現相鄰塊元素垂直外邊距的合并。

    • 當上下相鄰的兩個塊元素相遇時,如果上面的元素有margin-bottom,下面的元素有margin-top,則他們之間的垂直間距不是margin-bottom與margin-top之和。

    • 會取兩個值中的較大者:這種現象被稱為相鄰塊元素垂直外邊距的合并(也稱外邊距塌陷)

    • 解決方案:盡量給只給一個盒子添加margin值

    • 案例:16.外邊距合并之上下外邊距.html

  • 嵌套塊元素垂直外邊距的合并(塌陷)

    • 對于兩個嵌套關系的塊元素,如果父元素沒有上內邊距及邊框,父元素的上外邊距會與子元素的上外邊距發生合并。合并后的外邊距為兩者中的較大者。

    • 解決方案:

      • 可以為父元素定義上邊框。

      • 可以為父元素定義上內邊距

      • 可以為父元素添加overflow:hidden。

    • 案例:17.嵌套關系外邊距合并.html

7. 盒子模型布局總結

  • margin:會有外邊距合并的問題。

  • padding:會影響盒子大小。

8. 綜合案例訓練

  • 無序和有序列表前面默認的列表樣式,在不同瀏覽器顯示效果不一樣,去掉這些列表樣式代碼如下。

li { list-style: none; 
}

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

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

相關文章

Web(8)SQL注入

Web網站(對外門戶) 原理:not>and>or(優先級) 一.低級注入 order by的作用是對字段進行排序,如order by 5,根據第五個字段 進行排序,如果一共有4個字段,輸入order by 5系統就會報錯不 …

詳細介紹開源固件-TF-A

什么是TF-A? TF-A(Trusted Firmware-A)是一種用于嵌入式系統的開源固件,而不是Linux的一部分。TF-A主要用于ARM架構的處理器和設備,它提供了一組安全和可信任的軟件組件,用于引導和初始化系統。 如下是其…

GD32F30X-RT-Thread學習-線程管理

1. 軟硬件平臺 GD32F307E-START Board開發板MDK-ARM Keil 2.RT-Thread Nano 3.RT-Thread 內核學習-線程管理 ? 在多線程操作系統中,可以把一個復雜的應用分解成多個小的、可調度的、序列化的程序單元,當合理地劃分任務并正確地執行時,這…

qt可以詳細寫的項目或技術

1.QT 圖形視圖框架 2.QT 模型視圖結構 3.QT列表顯示大量信息 4.QT播放器 5.QT 編解碼 6.QT opencv

Linux--RedHat--安裝和配置C++環境

百度下載,安裝包: 鏈接:https://pan.baidu.com/s/1IgBfCCRxGYZ_PPiedad0xQ 提取碼:ffff 下載后,建個目錄,先解壓好安裝包! (兩種方法)執行如下命令: 參考…

Bypass open_basedir

講解 open_basedir是php.ini中的一個配置選項,可用于將用戶訪問文件的活動范圍限制在指定的區域。 假設open_basedir/var/www/html/web1/:/tmp/,那么通過web1訪問服務器的用戶就無法獲取服務器上除了/var/www/html/web1/和/tmp/這兩個目錄以外的文件。…

Java——面試:String 和 StringBuffer 的區別?

相同點: String 和 StringBuffer,它們可以儲存和操作字符串, 即包含多個字符的字符數據。 String 和 StringBuffer 的區別有以下幾點: 1.String 類提供了數值不可改變的字符串。而 StringBuffer 類提供的字符串進行修改。 當你知…

洛谷 P8674 [藍橋杯 2018 國 B] 調手表

文章目錄 [藍橋杯 2018 國 B] 調手表題目描述輸入格式輸出格式樣例 #1樣例輸入 #1樣例輸出 #1 提示 題意解析CODE分析一下復雜度 [藍橋杯 2018 國 B] 調手表 題目描述 小明買了塊高端大氣上檔次的電子手表,他正準備調時間呢。 在 M78 星云,時間的計量…

JVM虛擬機:命令行查看JVM垃圾回收器的執行信息

在eclipse中打開命令行窗口 window->show view->Terminal 這樣就打開了Terminal窗口,效果如下所示: java -XX:PrintCommandLineFlags -version 這個命令可以查看一些配置信息,其中最重要的配置信息就是,當前使用的G1回收器…

什么是漏洞掃描

漏洞掃描是指基于漏洞數據庫,通過掃描等手段對指定的遠程或者本地計算機系統的安全脆弱性進行檢測,發現可利用漏洞的一種安全檢測的 行為,也是一類重要的網絡安全技術。它和防火墻、入侵檢測系統互相配合,能夠有效提高網絡的安全性…

鍵盤打字盲打練習系列之成為大師——5

一.歡迎來到我的酒館 盲打,成為大師! 目錄 一.歡迎來到我的酒館二.關于盲打你需要知道三.值得收藏的練習打字網站 二.關于盲打你需要知道 盲打系列教程,終于寫到終章了。。。一開始在看網上視頻,看到up主熟練的打字技巧&#xff…

LabVIEW與Tektronix示波器實現電源測試自動化

LabVIEW與Tektronix示波器實現電源測試自動化 在現代電子測試與測量領域,自動化測試系統的構建是提高效率和精確度的關鍵。本案例介紹了如何利用LabVIEW軟件結合Tektronix MDO MSO DPO2000/3000/4000系列示波器,開發一個自動化測試項目。該項目旨在自動…

javascript中Reflect是什么?三分鐘初識

目錄 1. Reflect是什么?2. 為什么會出現Reflect?3. 需要怎么去使用Reflect?4. 最終的結果解決什么?5. 使用的注意點6. 常用的技巧 Reflect是Javascript中的一個內置對象,它提供了一組用于操作對象的方法,可…

Spring - BeanFactory和FactoryBean的理解

BeanFactory是什么? BeanFactory是Spring 容器的根接口,它是IOC的基本容器,負責管理和加載Bean,它為具體的IOC容器提供了最基本的規范,比如DefaultListableBeanFactory和ConfigurableBeanFactory,BeanFact…

《C++新經典設計模式》之第17章 中介者模式

《C新經典設計模式》之第17章 中介者模式 中介者模式.cpp 中介者模式.cpp #include <iostream> #include <map> #include <memory> using namespace std;// 中介者封裝一系列的對象交互 // 4種角色 // Mediator&#xff08;抽象中介者類&#xff09;&#x…

MYSQL練題筆記-高級查詢和連接-指定日期的產品價格

這依舊是中等題&#xff0c;想了好久&#xff0c;終于理解了很開心&#xff01; 一、題目相關內容 1&#xff09;相關的表和題目 2&#xff09;幫助理解題目的示例&#xff0c;提供返回結果的格式 二、自己初步的理解 題目是找出2019-08-16 時全部產品的價格&#xff0c;所以…

數字化時代的到來,IT運維產業正在發生深刻的變革

IT運維產業是隨著信息技術的發展而產生的&#xff0c;它涵蓋了從硬件到軟件、從應用到數據、從終端到云端等各個方面的維護和管理。隨著數字化時代的到來&#xff0c;IT運維產業正在發生深刻的變革。其中&#xff0c;大數據技術的廣泛應用和數據資源的日益豐富&#xff0c;正在…

使用最小花費爬樓梯

1.狀態表示 2.狀態轉移方程 3.初始化 保證填表時&#xff0c; 不越界 4.填表順序 從左往右 5.返回值 解法2&#xff1a; 1.狀態表示 2.狀態轉移方程 3.初始化 4.填表 從右往左 5.返回值 min( dp[0] , dp[1] ) ----------------------------------------------------…

java+springboot+ssm學生社團管理系統76c2e

本系統包括前臺和后臺兩個部分。前臺主要是展示社團列表、社團風采、社團活動、新聞列表等&#xff0c;前臺登錄后進入個人中心&#xff0c;在個人中心能申請加入社團、查看參加的社團活動等&#xff1b;后臺為管理員與社團負責人使用&#xff0c;應用于對社團的管理及內容發布…

Vue3源碼梳理:源碼目錄結構及源碼閱讀方法

VUE3 源碼目錄結構 1 ) 下載源碼三種方式 方式1&#xff0c;Download ZIP&#xff0c;不推薦方式2&#xff0c;通過https,或ssh或github cli來克隆項目 $ git clone https://github.com/vuejs/core.git$ git clone gitgithub.com:vuejs/core.git 方式3&#xff0c;點擊Fork, …