Web學習筆記4

CSS概述

1、CSS簡介

CSS,層疊樣式表,是一種樣式表語言,用以描述HTML的呈現內容的方式(美化網頁)。CSS書寫規則是:

選擇器{屬性名:屬性值}的鍵值對

CSS有三種引入方式,分別為:

內部樣式表:CSS書寫在HTML文件里<head>中<title>下方,使用<style>標簽包裹CSS代碼

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>你好</title><style>p {color: blue;font-size: 300px;}</style>
</head>
<body><p>你好</p>
</body>
</html>

外部樣式表(最常用):CSS書寫在外部的.css文件中,在HTML里使用link標簽引入在<title>下方

????????????????????????<link rel="引入方式" herf="文件路徑">

    p{color: blueviolet;font-size: 200px;}
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>你好</title><link rel="stylesheet" href="./testcss.css">
</head>
<body><p>你好</p>
</body>
</html>

行內樣式:配合JS使用,CSS寫在標簽的屬性值里

    <div style="color: aqua;font-size: 100px;">你好</div>

2、基礎選擇器?

標簽選擇器

使用標簽名作為選擇器,將同名的標簽設置為一個樣式

標簽名{屬性名:屬性值}

類選擇器

在查找標簽的同時差異化設置標簽內容的樣式。步驟:首先定義類選擇器:.類名,后在標簽里添加類名class=" " 一個標簽可以添加很多類,一個類也可以給多種標簽使用

    <p class="til">你好</p><p class="cont">你好</p>
/* 寫CSS */
.til{
color:red;
font-size: 50px;
}
.cont{
color: blue;
font-size: 30px;
}

id選擇器

功能與類選擇器類似,但一般與JS配合使用,在CSS中一般不使用。步驟:首先定義ID選擇器:#id名,然后在標簽里添加id="id名"。ID選擇器具有唯一性,同一個ID選擇器在一個頁面只能使用一次

通配符選擇器

查找頁面所有的標簽,并設置相同的樣式。通配符選擇器不需要調用,瀏覽器自動查找并設置

* {

}

3、CSS盒子

利用無語義標簽加上CSS可以在Web中畫盒子做頁面的整體規劃,規定盒子樣式的屬性有:

width:規定盒子寬度

height:規定盒子高度

background-color:盒子背景色

.red-box{width: 100px;height: 100px;background-color: red;
}
.blue-box{width: 200px;height: 200px;background-color: blue;
}
    <div class="red-box">小紅盒子</div><div class="blue-box">大藍盒子</div>

4、文字控制屬性

CSS的文字控制屬性用于調整web頁面的文字風格,常用的文字屬性有:

font-size:調整文字大小

font-weight:調整字體粗細,400表示不加粗,700表示加粗

line-height:調整行高,數字+px代表間隔像素值,僅數字代表當前字體大小的倍數,若行高屬性值等于盒子高度屬性值,可以實現單行文字的垂直居中

font-family:字體族,調整字體格式,使用font-family:字體名,字體名可以設置多個,之間用逗號隔開,這樣瀏覽器可以從做到右查找電腦有的字體。在設置字體時的最后一個設置字體族名,一般設置無襯線字體sans-serif?

font:字體的復合屬性,將多個字體屬性簡寫為一條,必須按這個順序書寫:font:是否傾斜 是否加粗 字號/行高 字體,其中字號和字體值必須書寫

text-indet:調整文本縮進,屬性值有兩種設置方法:數字+px代表縮進的像素值,數字+em代表縮進的字符數(一般用這個)

text-aligh:調整文本對齊方式,屬性值有三種:left(默認)左對齊;center:居中;right:右對齊,text-aligh調整的是標簽內容的對齊方式,不影響標簽位置

text-decoration:調整文本修飾線,有四個屬性值:none:無標簽;underline:下劃線;line-through:刪除線;overline:上劃線

color:調整文本顏色,屬性值四種表示方法:顏色關鍵字、rgb表示法、rgba表示法(開發用,實現透明色,a表示透明度,從0到1取值),十六進制表示法(開發用)

.red-box-char{font-size: 30px;font-weight: 700;line-height: 200px;font-family:sans-serif;text-align: center;color: #fc0;;
}
.blue-box-char{font: italic,20px/40px,楷體;text-indent: 2em;text-decoration: underline;color: rgba(255,0,0,0.5);
}
<div class="red-box"><p class="red-box-char">標題</p></div><div class="blue-box"><p class="blue-box-char">你好你好你好你好你好你好你好你好你好你好你好你好你好你好你好你好你好你好你好你好你好你好你好你好你好</p></div>

5、復合選擇器

復合選擇器通過兩個或以上的基礎選擇器組合而成,可以更高效的選擇目標元素,復合選擇器有:后代選擇器、子代選擇器、并集選擇器、交集選擇器

后代選擇器:選擇某元素內所有指定的后代元素,選擇器寫法:

父選擇器 子選擇器 {CSS}屬性

em h1{color: #fc0;
}

子代選擇器:選擇某元素內最近的子元素,選擇器寫法:

父選擇器>子選擇器 {CSS}屬性

ul>li{color: blue;
}

并集選擇器:選擇多組標簽設置相同的樣式,選擇器寫法:

選擇器1,選擇器2,……{CSS屬性}

p,div{color: aqua;
}

交集選擇器:選中同時滿足設定條件的元素,選擇器寫法(中間沒有任何符號,包括空格!):

選擇器1選擇器2……{CSS屬性}

li.second{color: blue;
}

6、偽類選擇器

偽類選擇器用于設置元素中在某些情況下的狀態,主要是設置帶有超鏈接的元素,例如鼠標懸停、鼠標點擊等例如,設置鼠標懸停狀態的選擇器寫法為:選擇器:hover{CSS屬性}

偽類-超鏈接:

超鏈接一共有四種狀態,書寫狀態時一定要按照下列的順序寫:

:link:訪問前

:visited:訪問后

:hover:鼠標懸停

:active:鼠標點擊(激活)

a:link {color: #000;
}
a:visited{color: #0ff;
}
a:hover{color: #f66;
}
a:active{color: #ff0;font-size: 40px;
}
button{background-color: aqua;
}
button:active{color: #f66;background-color: #ff0;
}

7、CSS特性

CSS有三大特性:繼承性、層疊性、優先級,利用這些特性可以化簡CSS代碼,定位解決問題

繼承性:

子級標簽默認繼承父級的文字控制屬性

層疊性:

不同的CSS在同一個標簽下設置了相同的屬性,后面的CSS會覆蓋前面的CSS;不同的CSS在同一個標簽下設置不同的屬性,幾個屬性會疊加

優先級:

不同的選擇器設置同一個標簽,優先級高的選擇器生效,選擇器的優先級為:

通配符選擇集<標簽選擇器<類選擇器<id選擇器<行內樣式<!important(選中標簽的范圍越大,優先級越低)

如果是復合選擇器,則需要權重計算:權重從左往右計算:行內樣式,id選擇器個數,類選擇器個數,標簽選擇器個數

!improtan權重最高,子級繼承的屬性權重最低

8、背景屬性

背景圖實現網頁裝飾性圖片,添加方法為:

background-image:url.(圖片路徑),背景圖片默認是平鋪的

背景圖的其他屬性還有:

設置平鋪方式:

background-repeat:屬性值,有:

no-repeat:不平鋪

repeat:平鋪(默認)

repeat-x:水平方向平鋪

repeat-y:垂直方向平鋪

設置背景圖位置:

background-position:屬性值,屬性值有兩種寫法:

關鍵字:left:左;right:右;center:居中;top:頂部;bottom:底端

坐標:水平坐標 垂直坐標 (默認0 0,即左上角)若關鍵字只寫一個值,另外一個值默認居中

坐標只寫一個值,代表水平方向,垂直方向默認居中

設置背景圖比例:

background-size:屬性值,有三種寫法:

關鍵字:cover,等比例完全覆蓋背景區,可能剪切掉部分背景圖;contain:等比例完全裝入背景區,可能導致背景留白

百分比:根據盒子尺寸計算大小,100%代表圖片寬度與盒子寬度一致

數字+單位

固定背景圖:

background-attachment:fixed:這樣背景圖不會隨著頁面滾動而滾動

div{width: 2000px;height: 1000px;background-image: url(./dd.jpeg);background-repeat: no-repeat;background-position: 0 0;background-size: 50%;background-attachment: fixed;
}

背景屬性也可以用復合寫法

background:屬性值1 屬性值2 背景圖位置/縮放……不同的屬性值用空格分開,不區分順序

div{width: 2000px;height: 1000px;background: #ff0 url(./dd.jpeg) no-repeat center/50% fixed;
}

9、盒子顯示模式

CSS的盒子顯示模式有三種:

塊狀顯示(div默認):

獨占一行,字級寬度默認是父級的100%,可以添加寬高

行內顯示(span默認):

一行可以放多個,寬高不生效,寬高由內容展開

行內塊顯示(圖片標簽默認):

一行可以存多個,寬高生效,寬高默認由內容展開

CSS可以轉換標簽的顯示模式,寫法為:display:屬性值,屬性值有:

block:塊狀顯示

inline-block:行內塊顯示

inline:行內顯示

10、結構偽類選擇器

結構偽類選擇器可以根據元素之間的結構關系查找標簽,寫法為:

選擇器:結構關系{CSS屬性}

結構關系有:

first-child:查找第一個選擇器

last-child:查找最后一個選擇器

nth-chlid(N):查找第n個選擇器

nth-child(公式):根據公式找選擇器,如:2n,第(所有的偶數)選擇器;2n+1,第(所有的奇數)選擇器;Xn,第(所有X的倍數)選擇器;n+x:第(x之后)所有選擇器;-n+x:第(x之前)所有選擇器

li:first-child{
color: #be2;
}
li:last-child{
color: #a52;
}
li:nth-child(5){
color: rgba(100, 200,100,0.5);
}
li:nth-child(2n){
font-size: 30px;
}
li:nth-child(n+5){
font-weight: 700;
}

11、偽元素選擇器

偽元素選擇器用于創建虛擬元素,用于裝飾標簽內容,寫法為:

在元素前加偽元素:選擇器::before{CSS屬性}

在元素后加選擇器:選擇器::after{CSS屬性}

偽元素默認是行內顯示,權重與選擇的標簽相同,CSS屬性中必須有content,但content可以為" "

div::before{
content: ">";
width: 100px;
height: 100px;
background-color: brown;
display: inline-block;
}
div::after{
content:"<"
}

12、flex布局

Flex布局也叫做彈性布局,布局網頁靈活簡單,是瀏覽器推薦的布局方式。設置方式為給父級元素設置display:flex,子元素可以自動擠壓拉伸。flex的組成有:

彈性容器:父級盒子

彈性盒子:子級盒子

主軸:默認水平

側軸:默認垂直

彈性盒子沿主軸方向排列,沿側軸方向拉伸,flex的方法有:

創建flex容器:display:flex

.fath{display: flex;width: 1000px;height: 300px;background-color: blue;
}
.fath div{width: 100px;height: 100px;background-color: red;
}

主軸對齊:

justify-content:屬性值,屬性值有:

flex-start:默認值,盒子從起點開始依次排序

flex-end:盒子從終點開始默認排序

center:盒子沿主軸居中排列

space-between:沿主軸均勻排列,空白區域在兩個盒子之間,彈性盒子之間間距相等

space-around:沿主軸均勻排列,空白區域在盒子兩側

space-evenly:沿主軸均勻排列,彈性盒子與容器之間間距相等

.fath{display: flex;width: 1000px;height: 300px;background-color: blue;justify-content: space-between;
}
.fath div{width: 100px;height: 100px; background-color: red;border: 1px solid #000;
}

側軸對齊,用于設置彈性容器:

設置所有彈性盒子:align-items:屬性值;設置單個彈性盒子:align-self:屬性值;屬性值有:

stretch:彈性盒子沿側軸拉伸,兩端對齊容器(彈性盒子沒有設置側軸方向尺寸時默認)

center:彈性盒子居中排列

flex-start:沿起點開始排列

flex-end:沿終點開始排列

.fath{display: flex;width: 1000px;height: 300px;background-color: blue;justify-content: space-between;align-items: center;
}.fath div:nth-child(3) {align-self: flex-start;
}

修改主軸方向:

flex-direction:屬性值,屬性值有:

row:水平方向,從左到右(默認)

column:垂直方向,從上到下

row-reverse:水平方向,從右到左

colunmn:垂直方向,從上到下

.fath {display: flex;width: 1000px;height: 300px;background-color: blue;justify-content: space-between;align-items: center;flex-direction: column;
}

彈性伸縮比,用于控制彈性盒子在主軸方向的尺寸:

flex:整數數字,用于表示占用父級剩余尺寸的份數

.fath div:nth-child(3) {align-self: flex-start;flex: 1;
}

彈性盒子默認在一行,若彈性容器撐不下時彈性盒子自動擠壓,彈性盒子換行:

flex-warp:wrap(換行)/nowrap(不換行,默認)

行對齊方式:

align-content:屬性值,屬性值與主軸對齊方式一致,對單行盒子不生效

.fath {display: flex;width: 1000px;height: 300px;background-color: blue;justify-content: space-between;align-items: center;flex-direction: row;flex-wrap: wrap;align-content: space-around;
}

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

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

相關文章

Spring AI 初學者指南:從入門到實踐與常用大模型介紹

作為 Java 開發者&#xff0c;當 AI 浪潮席卷而來時&#xff0c;如何在熟悉的 Spring 生態中快速擁抱大模型開發&#xff1f;Spring AI 的出現給出了答案。本文將從初學者視角出發&#xff0c;帶你了解 Spring AI 的核心概念、使用方法&#xff0c;并介紹與之搭配的常用大模型&…

C#自定義控件

1。C#中控件和組件的區別&#xff1a; 一般組件派生于&#xff1a;Component類&#xff0c;所以從此類派生出的稱之為組件。 一般用戶控件派生于:Control類或UserControl類&#xff0c;所以從該類派生出的稱之為用戶控件。 他們之間的關系主要是&#xff1a;UserControl繼承Con…

網絡資產測繪工具全景解析:七大平臺深度洞察

?一、資產測繪工具的核心價值?網絡資產測繪&#xff08;Cyber Asset Intelligence&#xff09;技術通過主動掃描與被動分析&#xff1a;實時發現全球暴露的網絡設備&#xff08;服務器、攝像頭、IoT設備&#xff09;自動化構建資產指紋庫&#xff08;操作系統/服務/框架版本&…

編程語言設計目的與側重點全解析(主流語言深度總結)

編程語言的設計本質上是對計算邏輯的形式化表達與工程約束的平衡&#xff0c;不同語言因目標場景、時代需求和技術哲學的差異&#xff0c;形成了獨特的設計范式。以下從系統級、應用級、腳本/動態、函數式、并發/安全等維度&#xff0c;選取10種最具代表性的編程語言&#xff0…

重學前端003 --- 響應式網頁設計 CSS 顏色

文章目錄文檔聲明head顏色模型div根據在這里 Freecodecamp 實踐&#xff0c;記錄筆記總結。 文檔聲明 在文檔頂部添加 DOCTYPE html 聲明 <!DOCTYPE html>head title 元素為搜索引擎提供了有關頁面的額外信息。 它還通過以下兩種方式顯示 title 元素的內容&#xff1a…

這個Pandas函數可以自動爬取Web圖表

Pandas作為數據科學領域鰲頭獨占的利器&#xff0c;有著豐富多樣的函數&#xff0c;能實現各種意想不到的功能。 作為學習者沒辦法一次性掌握Pandas所有的方法&#xff0c;需要慢慢積累&#xff0c;多看多練。 這次為大家介紹一個非常實用且神奇的函數-read_html()&#xff0…

vLLM與SGLang在自然語言處理領域的技術架構與性能對比研究

隨著大語言模型在工業界和學術界的廣泛應用&#xff0c;高效推理框架的選擇成為自然語言處理領域的關鍵挑戰。vLLM與SGLang作為當前最前沿的推理優化框架&#xff0c;分別通過創新的PagedAttention和RadixAttention機制展現了獨特的技術優勢。本文將系統對比兩大框架的核心架構…

樓宇自動化:Modbus 在暖通空調(HVAC)中的節能控制(二)

Modbus 在 HVAC 節能控制中的應用案例案例一&#xff1a;某商業建筑 HVAC 系統節能改造某大型商業建筑&#xff0c;總建筑面積達 5 萬平方米&#xff0c;涵蓋了購物中心、餐飲區和娛樂場所等多種功能區域 。改造前&#xff0c;其 HVAC 系統采用傳統的控制方式&#xff0c;設備之…

win10安裝Elasticsearch

1 啟動elasticsearch 下載地址&#xff1a;Download Elasticsearch | Elastic 雙擊elasticsearch.bat elasticsearch黑窗口啟動亂碼問題解決方案 到 config 文件下找到 jvm.options 文件 打開后 在文件末尾空白處 添加 -Dfile.encodingGBK 保存后重啟即可。 啟動后輸入&am…

[Meetily后端框架] Whisper轉錄服務器 | 后端服務管理腳本

第七章&#xff1a;Whisper轉錄服務器 歡迎回來&#xff01; 到目前為止&#xff0c;我們已經深入探索了"meeting-minutes"項目的"大腦"——Python后端。 我們已經了解了它如何通過后端API網關接收文本轉錄&#xff0c;使用摘要數據結構&#xff08;Pyd…

Azure-ADF 抽取數據

1,Azure 訪問地址 1,國際版 https://portal.azure.com/#homehttps://portal.azure.com/#home2,世紀互聯中國版 Microsoft Azure 由世紀互聯運營https://portal.azure.cn/2,創建資源組并且所有的后續組件都是再此資源下面創建。 3,創建Data Factory 工具 4,核心組件 1. 管…

django queryset 去重

在Django中&#xff0c;使用QuerySet時&#xff0c;如果你想要對查詢結果進行去重&#xff08;即去除重復的記錄&#xff09;&#xff0c;你可以使用幾種不同的方法。這里列出了一些常見的方法&#xff1a; 使用distinct() distinct()方法用于返回QuerySet中不重復的唯一對象。…

WIFI MTU含義 ,協商修改的過程案例分析

WIFI MTU含義 ,協商修改的過程案例分析 文章目錄 **WIFI MTU含義 ,協商修改的過程案例分析****一、WIFI MTU的含義****二、MTU協商修改的過程案例分析****1. TCP/IP協議中的MTU協商****2. 藍牙(BLE)中的MTU協商****3. 網絡設備配置中的MTU調整****三、協商修改的注意事項**…

記一次Android Studio編譯報錯:Execution failed for task ‘:app:compileDebugAidl‘

問題背景: android studio導入AIDL文件的時候編譯提示: Execution failed for task :app:compileDebugAidl. > A failure occurred while executing com.android.build.gradle.tasks.AidlCompile$AidlCompileRunnable > com.android.ide.common.process.ProcessEx…

selenium跳轉到新頁面時如何進行定位

在 Selenium 中&#xff0c;當你跳轉到新頁面&#xff08;例如通過點擊鏈接、提交表單或 JavaScript 重定向&#xff09;時&#xff0c;通常會遇到頁面加載或窗口切換的問題。為了在新頁面上繼續進行頁面定位操作&#xff0c;你需要確保以下幾點&#xff1a;? 1. 等待頁面加載…

QT——QComboBox組合框控件

QComboBox概述QComboBox是Qt框架中提供的組合框控件&#xff0c;它結合了按鈕和下拉列表的功能&#xff0c;允許用戶從預定義的選項列表中選擇一個或多個項目。基本特性特性描述顯示方式顯示當前選中項&#xff0c;點擊后展開下拉列表編輯能力可設置為可編輯或不可編輯項目類型…

CentOS 安裝jenkins筆記

1. 安裝 Java。目前一般jdk要求11以上&#xff0c;否則會報錯2. 手動添加 Jenkins 倉庫先創建一個專門的Jenkins文件夾&#xff1a;mkdir jenkins然后 執行 sudo curl -fsSL https://pkg.jenkins.io/redhat/jenkins.io.key -o /etc/pki/rpm-gpg/jenkins.io.key 然后&#xff0…

C#枚舉:從基礎到高級的全方位解析

C#枚舉&#xff1a;從基礎到高級的全方位解析 在 C# 編程中&#xff0c;枚舉&#xff08;Enum&#xff09;是一種特殊的值類型&#xff0c;用于定義命名的常量集合&#xff0c;它為代碼提供了更強的類型安全、可讀性和可維護性。從簡單的狀態標識到復雜的位運算組合&#xff0c…

[spring6: Resource ResourceLoader ResourceEditor]-加載資源

Resource Resource 接口為處理和訪問不同類型資源&#xff08;如文件、URL、輸入流等&#xff09;提供了統一的 API&#xff0c;支持資源的存在性檢查、讀取、轉換等操作。 public interface Resource extends InputStreamSource {boolean exists();default boolean isReadable…

Spring Boot - Spring Boot 集成 MyBatis 分頁實現 PageHelper

一、PageHelper 概述 PageHelper 是一個優秀的 MyBatis 分頁插件&#xff0c;可以方便地在 Spring Boot 項目中使用 MyBatis 結合 PageHelper 實現分頁功能二、PageHelper 引入 1、依賴引入 pom.xml <properties>...<postgresql.verison>42.5.6</postgresql.ver…