css初學者第五天

<1>css的三大特性

1.1 層疊性

相同選擇器給設置相同的樣式,此時一個樣式就會覆蓋(層疊)另一份沖突的樣式。層疊式主要解決樣式沖突的問題。

層疊性原則:

-樣式沖突,遵循的原則是就近原則,哪個樣式離結構近,就執行哪個樣式

-樣式不沖突,不會層疊

?1.2 繼承性

css中的繼承:子標簽會繼承父標簽的某些樣式,如文本顏色和字號。

-恰當的使用繼承可以簡化代碼,降低css樣式的復雜性

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

&行高的繼承性

font: 12px/1.5 'Microsoft YaHei'

這個1.5是指行高是當前元素文字大小font-size的1.5倍

1.3 優先級

當一個元素指定多個選擇器,就會有優先級產生

-選擇器相同,則執行層疊性(就近原則)

-選擇器不同,則根據選擇器權重執行(誰權重大則選誰)

選擇器選擇器權重
繼承 或者 *0,0,0,0
標簽選擇器0,0,0,1
類選擇器,偽類選擇器0,0,1,0
ID選擇器0,1,0,0
行內樣式style=" "1,0,0,0
!important 重要的無窮大

注意:

-權重是由4組數字組成,但是不會有進位

-登記判斷從左到右,如果某一位數值相同,則判斷下一位數值

-繼承的權重是0,如果該元素沒有直接選中,不管父元素權重多高,子元素得到的權重都是0

-繼承的是樣式,不會繼承權重

1.3.1 權重的疊加

若是復合選擇器,則會有權重疊加,需要計算權重

注意:權重雖然可以會疊加,但是不會進位

如:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>/* 權重為 0,0,0,1 + 0,0,0,1 = 0,0,0,2           2*/ul li{color: yellow;}/* 權重為 0,0,0,1               1 */li {color: red;}/* .nav li 權重為 0,0,1,0 + 0,0,0,1 = 0,0,1,1       11 */.nav {color: green;}</style>
</head>
<body><ul class="nav"><li>lalala</li><li>heihei</li><li>haha</li></ul>
</body>
</html>

div ul li ——> 0,0,0,3

.nav ul li ——> 0,0,1,2

a:hover ——> 0,0,1,1

.nav a ——> 0,0,1,1

.nav .a ——> 0,0,10,0

<2>css盒子模型

頁面布局要學習的三大核心:盒子模型,浮動和定位,學習好盒子模型能非常好地幫助我們布局頁面。

頁面布局過程:

1.先準備好相關的網頁元素,網頁元素基本都是盒子Box。

2.利用css設置好盒子樣式,然后擺放到相應位置。

3.往盒子里面裝內容。

2.1?盒子模型組成

所謂盒子模型:就是把html頁面中的布局元素看作是一個矩形的盒子,也就是一個盛裝內容的容器。

css本質上就是盒子,封裝周圍的html元素,它包括:邊框。外邊距、內邊距、和實際內容

??

2.2 邊框(border)

border可以設置元素的邊框。邊框有三部分組成:邊框寬度(粗細) 邊框樣式 邊框顏色

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

邊框樣式的參數:

none無邊框
hidden隱藏邊框
dotted點線
dashed虛線
solid實線邊框
double雙線邊框
groove根據border-color的值畫3D凹槽
ridge根據border-color的值畫菱形邊框
inset根據border-color的值畫3D凹邊
outset根據border-color的值畫3D凸邊

注意:

-若提供四個參數值,按上右下左順序作用于四個邊框

-若只提供一個,將用于全部的四條邊

-若提供兩個,第一個用于上-下,第二個用于左-右

-若提供三個,第一個用于上,第二個用于左-右,第三個用于下

&要使用該屬性,必須設定對象的height或width屬性,或者設定position屬性為absolute

如果border-width不大于0,本屬性將失去作用

2.2.1?邊框的復合寫法

邊框簡寫:

border: 1px solid red;沒有順序

邊框分開寫法:

border-top: 1px solid red;
border-bottom: 1px solid blue;
border-left: 1px solid green;
border-right: 1px solid yellow;

2.2.2?表格的細線邊框

border-collapse屬性控制瀏覽器繪制表格邊框的方式,它控制相鄰單元格的邊框。

語法:

border-collapse: collapse;

-collapse單詞是合并的意思

-border-collapse: collapse;表示相鄰邊框合并在一起

2.3 盒子內邊距padding

padding屬性用于設置內邊距,即邊框與內容之間的距離。

屬性作用
padding-left左內邊距
padding-right右內邊距
padding-top上內邊距
padding-bottom下內邊距

2.3.1 內邊距的復合寫法

值的個數表達意思
padding:5px1個值,代表上下左右都有5像素內邊距
padding:5px? 10px;2個值,代表上下內邊距都是5像素,左右內邊距是10像素
padding:5px? 10px? 20px;3個值,代表上內邊距是5像素,左右內邊距是10像素,下內邊距是20像素
padding:5px? 10px? 20px? 30px??4個值,上是5像素,右是10像素,下是20像素,左是10像素

注意:

-內容好熱邊框有了距離,添加了內邊距

-padding影響了盒子實際大小

也就是說,如果盒子已經有了寬度和高度,此時再指定內邊框,會撐大盒子

解決方案:

若要保證盒子跟效果圖大小保持一致,則讓width/height減去多出來的內邊距大小即可。

2.3.2 padding不會撐開盒子的情況

如果盒子本身沒有指定width/height屬性,則此時padding不會撐開盒子大小

2.4 盒子模型外邊距margin

margin屬性用于設置外邊距,即控制盒子和盒子之間的距離

屬性作用
margin-left左外邊距
margin-right右外邊距
margin-top上外邊距
margin-bottom下外邊距

margin簡寫和padding完全相同

2.4.1 外邊距的典型應用

外邊距可以讓塊級盒子水平居中,但必須滿足兩個條件:

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

-盒子左右的外邊距都設置為auto

&這對行內元素和行內塊元素無效。

那么如何讓行內元素和行內塊元素水平居中呢?

ans:給父元素添加text-align:center即可

2.4.2 外邊距合并

使用margin定義塊元素的垂直外邊距時,可能出現外邊距的合并

2.4.2.1 相鄰塊元素垂直外邊距的合并

當上下相鄰的兩個塊元素(兄弟關系)相遇時,如果上面的元素有下外邊距margin-bottom,下面的元素有上外邊距margin-top,則他們之間的垂直間距不是margin-bottom與margin-top之和。取兩個值中的較大者這種現象被稱為相鄰塊元素垂直外邊距的合并。

解決方案:

盡量只給一個盒子添加margin的值。? ? ??

2.4.2.2 嵌套塊元素垂直外邊距的塌陷

對于兩個嵌套關系(父子關系)的塊元素,父元素有上外邊距同時子元素也有上外邊距,此時父元素會塌陷較大的外邊距值。

解決方案:

1.可以為父元素定義上邊框

2.可以為父元素定義上內邊框

3.可以為父元素添加overflow: hidden;

還有其他方法,如浮動,固定,絕對定位的盒子不會有塌陷問題

2.5 清除內外邊距

網頁元素很多都帶有默認的內外邊距,而且不同瀏覽器默認的也不一致,因此我們在布局前,首先要清除下網頁元素的內外邊距。

* {padding: 0;/*清除內邊距*/margin: 0;/*清除外邊距*/
}

注意:

行內元素為了照顧兼容性,盡量只設置左右內外邊距,不要設置上下內外邊距,但是轉換為塊級和行內塊元素就可以了。

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

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

相關文章

從神經網絡語言模型(NNLM)到Word2Vec:自然語言處理中的詞向量學習

語言模型 語言(人說的話)模型(完成某個任務) 任務: 概率評估任務:在兩句話中&#xff0c;判斷哪句話出現的概率大(哪句話在自然語言中更合理)生成任務:預測詞語,我明天要____ 統計語言模型 用統計的方法解決上述的兩個任務 核心思想 給定一個詞序列&#xff0c;計算該序列出現的…

PID學習筆記5-雙環PID

在學習江協科技PID課程時&#xff0c;做一些筆記&#xff0c;對應視頻3-1&#xff0c;對應代碼&#xff1a;1313-雙環PID定速定位置控制-代碼封裝main.c:#include "stm32f10x.h" // Device header #include "Delay.h" #include "OLE…

C#vb.net中Interlocked類實現原子操作加減計算,涵蓋狀態切換、計數控制等常見場景

以下是 C# 中使用 int 類型結合 Interlocked 類實現原子操作的完整示例&#xff0c;涵蓋狀態切換、計數控制等常見場景&#xff1a; 完整代碼示例csharp using System; using System.Threading;/// <summary> /// 基于整數類型的原子操作工具類&#xff08;線程安全&am…

RCL 2025 | LLM采樣機制的新視角:來自處方性偏移的解釋

1. 導讀 大型語言模型&#xff08;Large Language Models, LLMs&#xff09;在自主決策場景中的應用日益廣泛&#xff0c;它們需要在龐大的行動空間中進行響應采樣&#xff08;response sampling&#xff09;。然而&#xff0c;驅動這一采樣過程的啟發式機制仍缺乏深入研究。本…

08 ABP Framework Blazor UI

ABP Framework Blazor UI 架構 overview ABP Blazor UI 系統構建在 Blazorise 組件庫之上&#xff0c;為構建數據驅動應用提供結構化方法&#xff0c;包含 CRUD 操作、主題和本地化的一致模式。 #mermaid-svg-QAvWlELsLhZgYXHu {font-family:"trebuchet ms",verdana,…

JUC學習筆記-----LinkedBlockingQueueConcurrentLinkedQueueCopyOnWriteArrayList

LinkedBlockingQueue基本的入隊出隊初始化public class LinkedBlockingQueue<E> extends AbstractQueue<E>implements BlockingQueue<E>, java.io.Serializable {// 靜態內部類 Node&#xff0c;用于存儲隊列元素及維護節點間關系static class Node<E>…

小杰python高級(six day)——pandas庫

1.數據可視化用于繪制 DataFrame 數據圖形&#xff0c;它允許用戶直接從 DataFrame 創建各種類型的圖表&#xff0c;而不需要使用其他繪圖庫&#xff08;底層實際上使用了 Matplotlib&#xff09;。&#xff08;1&#xff09;plotDataFrame.plot(*args, **kwargs)功能&#xff…

第十六屆藍橋杯青少組C++省賽[2025.8.9]第二部分編程題(1 、慶典隊列)

參考程序&#xff1a;#include <iostream> using namespace std;int main() {int n, A;cin >> n >> A; // 輸入&#xff1a;n 和 A&#xff0c;用空格隔開cout << n / A; // 整數相除&#xff0c;自動向下取整return 0; }

C++進階:智能指針

目錄1. RAII與智能指針2. C庫中的智能指針2.1 智能指針auto_ptr2.2 智能指針unique_ptr2.3 智能指針shared_ptr3. shared_ptr的循環引用4. 智能指針的定值刪除器1. RAII與智能指針 上一篇文章學習了異常相關的知識&#xff0c;其中遺留了一個異常安全相關的問題。那就是異常的拋…

Tkinter 實現按鈕鼠標懸浮提示:兩種方案(繼承Frame與不繼承)

在 Tkinter 桌面應用開發中&#xff0c;為按鈕添加“鼠標懸浮提示”是提升用戶體驗的常用功能——無需點擊&#xff0c;只需將鼠標挪到按鈕上方&#xff0c;就能自動顯示按鈕功能說明。本文將詳細介紹兩種實現方案&#xff1a;不繼承 Frame 類&#xff08;快速簡潔版&#xff0…

20250814 最小生成樹總結

引子 啊啊額&#xff0c;從一張圖里抽出幾條邊&#xff0c;組成一棵樹&#xff0c;無環n?1n-1n?1條邊&#xff0c;就是生成樹。那么邊權和最小的生成樹就叫最小生成樹&#xff0c;最大生成樹同理。 kruskal最小生成樹 要求kruskal最小生成樹&#xff0c;我們首先用結構體數組…

數據大集網:實體店獲客引流的數字化引擎,解鎖精準拓客新密碼?

?在實體店面臨流量焦慮、獲客成本攀升的當下&#xff0c;實體店獲客引流工具的重要性愈發凸顯。如何在激烈的市場競爭中精準觸達目標客戶、構建可持續的客流增長模式&#xff1f;數據大集網憑借其創新的智能獲客體系與全鏈路服務能力&#xff0c;正成為萬千實體店突破增長瓶頸…

nginx --ssl證書生成mkcert

github https://github.com/FiloSottile/mkcert/releases網盤下載地址 https://pan.baidu.com/s/1XI0879pqu7HXZMnmQ9ztaw 提取碼: 1111windows使用示例

守拙以致遠:個人IP的長青之道|創客匠人

2025年被認為是AI應用全面爆發的一年。各種人工智能工具在寫作、制圖、剪輯等領域廣泛使用&#xff0c;大大提升了個人和團隊的工作效率。對于個人IP而言&#xff0c;這類工具的出現確實帶來了新的機會&#xff0c;但也伴隨著一種現象——一些人開始過度依賴甚至神化AI&#xf…

USB 3.0 LTSSM 狀態機

USB2.0在電源供應后&#xff0c;通過Pull Up D-來決定枚舉LS&#xff0c;Pull Up D有一個USB高速握手過程&#xff0c;來決定HS FS。USB3.0則會通過鏈路訓練&#xff08;Link Training&#xff09;&#xff0c;來準備USB3.0通信。每當我們插上USB線的時候&#xff0c;對于3.0的…

MySQL窗口函數與PyMySQL以及SQL注入

MySQL窗口函數與PyMySQL實戰指南&#xff1a;從基礎到安全編程 引言 在數據處理和分析領域&#xff0c;MySQL作為最流行的關系型數據庫之一&#xff0c;其窗口函數功能為數據分析提供了強大的支持。同時&#xff0c;Python作為數據分析的主要語言&#xff0c;通過PyMySQL庫與My…

高級項目——基于FPGA的串行FIR濾波器

給大家安利一個 AI 學習神站&#xff01;在這個 AI 卷成紅海的時代&#xff0c;甭管你是硬核開發者還是代碼小白&#xff0c;啃透 AI 技能樹都是剛需。這站牛逼之處在于&#xff1a;全程用 "變量名式" 幽默 生活化類比拆解 AI&#xff0c;從入門到入土&#xff08;啊…

JPrint免費的Web靜默打印控件:PDF打印中文亂碼異常解決方案

文章目錄JPrint是什么&#xff1f;中文亂碼&#xff08;Using fallback font xxx for xxxx&#xff09;1.字體嵌入2.客戶機字體安裝開源地址相關目錄導航使用文檔端口號修改代理使用場景打印服務切換中文亂碼解決方案 JPrint是什么&#xff1f; JPrint是一個免費開源的可視化靜…

MFT 在零售行業的實踐案例與場景:加速文件集成與業務協作的高效方案

零售行業競爭激烈、數字化轉型迭代迅速&#xff0c;業務對數據與檔案的傳輸、處理和整合要求極高。無論是新品上市市場數據&#xff0c;還是供應鏈物流單據&#xff0c;集成方式不論是通過API或是檔案傳輸, 對于傳輸的穩定性,安全性與性能, 都會直接影響決策效率與顧客體驗。MF…

OSG+Qt —— 筆記1 - Qt窗口加載模型(附源碼)

?? OSG/OsgEarth 相關技術、疑難雜癥文章合集(掌握后可自封大俠 ?_?)(記得收藏,持續更新中…) OSG+Qt所用版本皆為: Vs2017+Qt5.12.4+Osg3.6.5+OsgQt(master) 效果 代碼(需將cow.osg、reflect.rgb拷貝至工程目錄下) OsgForQt.ui main.cpp