3_CSS層疊樣式表基礎

第3章-CSS層疊樣式表基礎

學習目標(Objective)

  • 掌握標簽選擇器的使用
  • 掌握類選擇器的使用
  • 了解id選擇器和通配符選擇器
  • 掌握font屬性和color屬性的應用

1.HTML的局限性

如果要改變下高度或者變一個顏色,就需要大量重復操作

總結:

  • HTML滿足不了設計者的需求

  • 操作html屬性不方便

  • HTML里面添加樣式帶來的是無盡的臃腫和繁瑣

2.CSS 網頁的美容師

  • 讓我們的網頁更加豐富多彩,布局更加靈活自如。

  • CSS的最大貢獻就是: 讓 HTML 從樣式中脫離, 實現了 HTML 專注去做結構呈現,樣式交給css

3.CSS初識

  • 概念:CSS(Cascading Style Sheets) ,通常稱為CSS樣式表或層疊樣式表(級聯樣式表)

  • 作用:

    • 主要用于設置 HTML頁面中的文本內容(字體、大小、對齊方式等)、圖片的外形(寬高、邊框樣式、邊距等)以及布局和外觀顯示樣式。提供了豐富的功能,如字體、顏色、背景的控制及整體排版等,而且還可以針對不同的瀏覽器設置不同的樣式。

4. 引入CSS樣式表

4.1 行內式(內聯樣式)
是通過標簽的style屬性來設置元素的樣式<標簽名 style="屬性1:屬性值1; 屬性2:屬性值2; 屬性3:屬性值3;"> 內容 </標簽名>實際上任何HTML標簽都擁有style屬性,用來設置行內式。
<div style="color: red; font-size: 12px;">比屋出品 必屬精品</div>
  • 缺點:

    • 沒有實現樣式和結構相分離

4.2 內部樣式表(內嵌樣式表)
  • 其基本語法格式如下:

<head>
<style type="text/CSS">選擇器(選擇的標簽) {屬性1: 屬性值1;屬性2: 屬性值2; 屬性3: 屬性值3;}
</style>
</head>案例 type="text/css"  在html5中可以省略。只能控制當前的頁面,沒有徹底分離
<style>div {color: red;font-size: 12px;}
</style>
4.3 綜合案例

思考:
?1. 如何實現結構與樣式完全分離?
?2. 如何實現css樣式共享?

4.4 外部樣式表(外鏈式)
  • 其基本語法格式如下:

將所有的樣式放在一個或多個以**.CSS**為擴展名的外部樣式表文件中,通過link標簽將外部樣式表文件鏈接到HTML文檔中
<head><link rel="stylesheet" type="text/css" href="css文件路徑">
</head>
  • 注意:

    • link 是個單標簽

    • link標簽需要放在head頭部標簽中,并且指定link標簽的三個屬性

屬性作用
rel定義當前文檔與被鏈接文檔之間的關系,在這里需要指定為“stylesheet”,表示被鏈接的文檔是一個樣式表文件。
type定義所鏈接文檔的類型,在這里需要指定為“text/CSS”,表示鏈接的外部文件為CSS樣式表。我們都可以省略
href定義所鏈接外部樣式表文件的URL,可以是相對路徑,也可以是絕對路徑。

4.5 三種樣式表總結(位置)
樣式表優點缺點使用情況控制范圍
行內樣式表書寫方便,權重高沒有實現樣式和結構相分離較少控制一個標簽(少)
內部樣式表部分結構和樣式相分離沒有徹底分離較多控制一個頁面(中)
外部樣式表完全實現結構和樣式相分離需要引入最多,強烈推薦控制整個站點(多)

5. 代碼風格

樣式書寫一般有兩種:

  • 一種是緊湊格式 (Compact)

h3 { color: deeppink;font-size: 20px;}
  • 一種是展開格式(推薦)

h3 {color: deeppink;font-size: 20px;
}

6. 總結CSS樣式規則

使用HTML時,需要遵從一定的規范。CSS亦如此,要想熟練地使用CSS對網頁進行修飾,首先需要了解CSS樣式規則,

具體格式如下:

7 CSS選擇器(重點)

1. CSS選擇器作用(重點)
  • 選擇器的作用:找到滿足條件的HTML頁面元素

div {color: red;
}1. 這段代碼就是2件事, 把div選出來, 然后 把它變成了紅色。 以后我們都這么干。
2. 選擇器分為基礎選擇器和 復合選擇器,我們這里先講解一下 基礎選擇器。
2. CSS基礎選擇器
2.1 標簽選擇器
標簽名{屬性1:屬性值1; 屬性2:屬性值2; 屬性3:屬性值3; } 
  • 作用:標簽選擇器 可以把某一類標簽全部選擇出來

  • 優點:是能快速為頁面中同類型的標簽統一樣式

  • 缺點:不能設計差異化樣式。

2.2 類選擇器
  • 基本語法

.類名  {   屬性1:屬性值1; 屬性2:屬性值2; 屬性3:屬性值3;     
}
  • 優點:

    • 可以為元素對象定義單獨或相同的樣式。 可以選擇一個或者多個標簽

課堂案例:

<span style="background-color:#f8f8f8"><span style="color:#333333"><head><meta charset="utf-8"><style>.blue {color: blue;font-size: 100px;}.red {color: red;font-size: 100px;}.orange {color: orange;font-size: 100px;}.green {color: green;font-size: 100px;}</style></head><body><span class="blue">G</span><span class="red">o</span><span class="orange">o</span><span class="blue">g</span><span class="green">l</span><span class="red">e</span></body></span></span>
2.3 類選擇器特殊用法- 多類名

我們可以給標簽指定多個類名,從而達到更多的選擇目的。

注意:

  • 各個類名中間用空格隔開。

  • 多類名選擇器在后期布局比較復雜的情況下,還是較多使用的。

2.4 id選擇器
  • 其基本語法格式如下:

    <span style="background-color:#f8f8f8"><p id="id名"></p>id選擇器使用`#`進行標識,后面緊跟id名
    #id名 {屬性1:屬性值1; 屬性2:屬性值2; 屬性3:屬性值3; }</span>
  • W3C標準規定,在同一個頁面內,不允許有相同名字的id對象出現,但是允許相同名字的class。

    • 類選擇器:好比人的名字, 是可以多次重復使用的

    • id選擇器:好比人的身份證號碼,具備唯一性

2.5 通配符選擇器
  • 其基本語法格式如下:

通配符選擇器用`*`號表示,  *   就是 選擇所有的標簽* { 屬性1:屬性值1; 屬性2:屬性值2; 屬性3:屬性值3; }

例如下面的代碼,使用通配符選擇器定義CSS樣式,清除所有HTML標記的默認邊距。

* {margin: 0;                    /* 定義外邊距*/padding: 0;                   /* 定義內邊距*/
}
  • 注意:會匹配頁面所有的元素,降低頁面響應速度,不建議隨便使用

2.7 基礎選擇器總結
選擇器作用缺點使用情況用法
標簽選擇器可以選出所有相同的標簽,比如p不能差異化選擇較多p { color:red;}
類選擇器可以選出1個或者多個標簽可以根據需求選擇非常多.nav { color: red; }
id選擇器一次只能選擇器1個標簽只能使用一次不推薦使用#nav {color: red;}
通配符選擇器選擇所有的標簽選擇的太多,有部分不需要不推薦使用* {color: red;}

8. CSS字體樣式屬性調試工具

1.font字體
1.1 font-size:大小
  • 作用:font-size屬性用于設置字號

p {  font-size:20px; 
}
  • 單位:

    • 相對長度單位比較常用,推薦使用像素單位px,絕對長度單位使用較少。

注意:

  • 我們文字大小以后,基本就用px了,其他單位很少使用

  • 谷歌瀏覽器默認的文字大小為16px

  • 但是不同瀏覽器可能默認顯示的字號大小不一致,我們盡量給一個明確值大小,不要默認大小。一般給body指定整個頁面文字的大小

1.2 font-family:字體
  • 作用:font-family屬性用于設置哪一種字體。

p{ font-family:"微軟雅黑";}
  • 網頁中常用的字體有宋體、微軟雅黑、黑體等,例如將網頁中所有段落文本的字體設置為微軟雅黑

  • 可以同時指定多個字體,中間以逗號隔開,表示如果瀏覽器不支持第一個字體,則會嘗試下一個,直到找到合適的字體, 如果都沒有,則以我們電腦默認的字體為準。

p{font-family: Arial,"Microsoft Yahei", "微軟雅黑";}1. 各種字體之間必須使用英文狀態下的逗號隔開。
2. 中文字體需要加英文狀態下的引號,英文字體一般不需要加引號。當需要設置英文字體時,英文字體名必須位于中文字體名之前。
3. 如果字體名中包含空格、#、$等符號,則該字體必須加英文狀態下的單引號或雙引號,例如font-family: "Times New Roman";。
4. 盡量使用系統默認字體,保證在任何用戶的瀏覽器中都能正確顯示。
1.3 font-weight:字體粗細
  • 在html中如何將字體加粗我們可以用標簽來實現

    • 使用 b 和 strong 標簽是文本加粗。

  • 可以使用CSS 來實現,但是CSS 是沒有語義的。

屬性值描述
normal默認值(不加粗的)
bold定義粗體(加粗的)
1.4 font-style:字體風格
  • 在html中如何將字體傾斜我們可以用標簽來實現

    • 字體傾斜除了用 i 和 em 標簽,

  • 可以使用CSS 來實現,但是CSS 是沒有語義的

font-style屬性用于定義字體風格,如設置斜體、傾斜或正常字體,其可用屬性值如下:

屬性作用
normal默認值,瀏覽器會顯示標準的字體樣式 font-style: normal;
italic瀏覽器會顯示斜體的字體樣式。
1.5 font:綜合設置字體樣式 (重點)

font屬性用于對字體樣式進行綜合設置

  • 基本語法格式如下:

選擇器 { font: font-style  font-weight  font-size/line-height  font-family;}
  • 注意:

    • 使用font屬性時,必須按上面語法格式中的順序書寫,不能更換順序,各個屬性以空格隔開。

    • 其中不需要設置的屬性可以省略(取默認值),但必須保留font-size和font-family屬性,否則font屬性將不起作用。

1.6 font總結
屬性表示注意點
font-size字號我們通常用的單位是px 像素,一定要跟上單位
font-family字體實際工作中按照團隊約定來寫字體
font-weight字體粗細記住加粗是 700 或者 bold 不加粗 是 normal 或者 400 記住數字不要跟單位
font-style字體樣式記住傾斜是 italic 不傾斜 是 normal 工作中我們最常用 normal
font字體連寫1. 字體連寫是有順序的 不能隨意換位置 2. 其中字號 和 字體 必須同時出現

9. CSS外觀屬性

9.1 color:文本顏色
  • 作用:color屬性用于定義文本的顏色

  • 其取值方式有如下3種:

表示表示屬性值
預定義的顏色值red,green,blue,還有我們的御用色 pink
十六進制#FF0000,#FF6600,#29D794
RGB代碼rgb(255,0,0)或rgb(100%,0%,0%)
  • 注意:我們實際工作中, 用 16進制的寫法是最多的

9.2 text-align:文本水平對齊方式
  • 作用:text-align屬性用于設置文本內容的水平對齊,相當于html中的align對齊屬性

  • 其可用屬性值如下:

屬性解釋
left左對齊(默認值)
right右對齊
center居中對齊
9.3 line-height:行間距
  • 作用:line-height屬性用于設置行間距,就是行與行之間的距離,即字符的垂直間距,一般稱為行高。

  • 單位:

    • line-height常用的屬性值單位有三種,分別為像素px,相對值em和百分比%,實際工作中使用最多的是像素px

9.4 text-indent:首行縮進
  • 作用:text-indent屬性用于設置首行文本的縮進

  • 屬性值

    • 其屬性值可為不同單位的數值、em字符寬度的倍數、或相對于瀏覽器窗口寬度的百分比%,允許使用負值,

    • 建議使用em作為設置單位。

1em 就是一個字的寬度 如果是漢字的段落, 1em 就是一個漢字的寬度

p {/*行間距*/line-height: 25px;/*首行縮進2個字  em  1個em 就是1個字的大小*/text-indent: 2em;  }
9.5 text-decoration 文本的裝飾

text-decoration 通常我們用于給鏈接修改裝飾效果

描述
none默認。定義標準的文本。 取消下劃線(最常用)
underline定義文本下的一條線。下劃線 也是我們鏈接自帶的(常用)
overline定義文本上的一條線。(不用)
line-through定義穿過文本下的一條線。(不常用)
9.6 CSS外觀屬性總結
屬性表示注意點
color顏色我們通常用 十六進制 比如 而且是簡寫形式 #fff
line-height行高控制行與行之間的距離
text-align水平對齊可以設定文字水平的對齊方式
text-indent首行縮進通常我們用于段落首行縮進2個字的距離 text-indent: 2em;
text-decoration文本修飾記住 添加 下劃線 underline 取消下劃線 none

10.開發者工具(chrome)

此工具是我們的必備工具,以后代碼出了問題

我們首先第一反應就是:

  • “按F12”或者是 “shift+ctrl+i” 打開 開發者工具。

  • 菜單: 右擊網頁空白出---檢查

  1. ctrl+滾輪 可以 放大開發者工具代碼大小。

  2. 左邊是HTML元素結構 右邊是CSS樣式。

  3. 右邊CSS樣式可以改動數值和顏色查看更改后效果。

  4. ctrl + 0 復原瀏覽器大小

11. 綜合案例

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

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

相關文章

Emacs之dired模式重新綁定鍵值v(一百三十一)

簡介&#xff1a; CSDN博客專家&#xff0c;專注Android/Linux系統&#xff0c;分享多mic語音方案、音視頻、編解碼等技術&#xff0c;與大家一起成長&#xff01; 優質專欄&#xff1a;Audio工程師進階系列【原創干貨持續更新中……】&#x1f680; 優質專欄&#xff1a;多媒…

uniapp實戰 —— 輪播圖【數字下標】(含組件封裝,點擊圖片放大全屏預覽)

組件封裝 src\components\SUI_Swiper2.vue <script setup lang"ts"> import { ref } from vue const props defineProps({config: Object, })const activeIndex ref(0) const change: UniHelper.SwiperOnChange (e) > {activeIndex.value e.detail.cur…

Python——數據容器

數據容器操作的異同點 項目列表list元組tuple字符串str集合set字典dict元素數量支持多個支持多個支持多個支持多個支持多個元素類型任意任意僅字符任意key&#xff1a;除字典外任意類型&#xff1b;value&#xff1a;任意類型下標索引支持支持支持不支持不支持重復元素支持支持…

yarn link使用(npm link)

使用場景 前端開發中&#xff0c;兩個項目相互依賴時&#xff0c;使用yarn link(npm link)鏈接 例如&#xff1a;A項目依賴于本司自己的UI庫B&#xff0c;當我們修改了UI庫B中的某些代碼時&#xff0c;需本地驗證后再發布到私服&#xff0c;此時A項目與UI項目B通過yarn link連…

數據可視化:解鎖企業經營的智慧之道

在現代企業管理中&#xff0c;數據可視化已經成為了一項重要的工具。它不僅僅是簡單地展示數據&#xff0c;更是提供了深入理解數據、做出更明智決策的方法。作為一名可視化設計從業人員&#xff0c;我經手過一些企業自用的數據可視化項目&#xff0c;今天就來和大家聊聊數據可…

數字化升級,智慧醫療新時代——醫院陪診服務的技術創新

在信息技術飛速發展的今天&#xff0c;醫療服務正迎來數字化升級的新時代。本文將探討如何通過先進技術的應用&#xff0c;為醫院陪診服務注入更多智慧元素&#xff0c;提升患者和家屬的醫療體驗。 1. 創新醫療預約系統 # Python代碼演示醫療預約系統的簡單實現 class Medic…

輸入框的透明度影響placeholder的透明度怎么解決

有一個需求是需要寫如上圖所示的輸入框。 首先想到的是調整輸入的透明度 <div class"inputDiv"><img src"./images/search.png" /><input type"text" class"myInput" placeholder"請輸入標題關鍵字"/> &…

飛天使-linux操作的一些技巧與知識點

命令行光標移動到行首行尾 ctrl a 跳到首 ctrl e 跳到尾/etc/passwd rpm 包格式 RPM&#xff08;Red Hat Package Manager&#xff09;是一種常用的Linux軟件包管理系統&#xff0c;它使用特定的命名規則來標識和命名軟件包。RPM包的名稱格式通常遵循以下規則&#xff1a;…

Qt基礎-修改Qt Creator界面字體

Qt Creator設計時字體太小,有時需要自定義一下,本文講解如何修改Qt Creator界面字體。 一、創建樣式文件 創建CSS文件,定義名稱為custom-style.css 編寫內容: QWidget { font: 12pt "Microsoft YaHei"; }QPlainTextEdit { font: 12pt "Microsoft YaHei&…

FPGA時序分析與約束(0)——目錄與傳送門

一、簡介 關于時序分析和約束的學習似乎是學習FPGA的一道分水嶺&#xff0c;似乎只有理解了時序約束才能算是真正入門了FPGA&#xff0c;對于FPGA從業者或者未來想要從事FPGA開發的工程師來說&#xff0c;時序約束可以說是一道躲不過去的坎&#xff0c;所以這個系列我們會詳細介…

Python的sort()與sorted()排序函數的區別

文章目錄 一、工具二、需求三、簡單的使用例子四、原理分析Timsort算法主要特點&#xff1a;Timsort算法的工作原理&#xff1a;sort() 方法和 sorted() 函數的差異&#xff1a; 五、Python中的單例實現簡單示例 一、工具 Python 3.10.0 pycharm 2022 二、需求 最近做項目的…

微服務學習:RestTemplateWebClient發起的http請求實現遠程調用

http請求做遠程調用是與語言無關的調用&#xff0c;只要知道對方的ip,端口&#xff0c;接口路徑&#xff0c;請求參數即可 啟動類中配置&#xff1a; Beanpublic RestTemplate restTemplate(){return new RestTemplate();} Sevice中書寫方法 get Autowiredprivate RestTemp…

2023-2024 年重慶市職業院校技能大賽 高職組“軟件測試”賽項樣題

2023-2024 年重慶市職業院校技能大賽 高職組“軟件測試”賽項樣題 單元測試要求分析、代碼設計、設計測試數據、編寫測試腳本和 測試執行等&#xff1b;測試計劃、測試報告文檔設計與編寫&#xff1b;Web 端測試用例 設計、測試執行和 Bug 記錄&#xff1b; 自動化測試要求分析…

點擊按住說話按鈕事件有延遲

問題原因&#xff1a; 該問題原因是由于系統的某些手勢 delaysTouchesBegan 屬性為 YES&#xff0c;當按鈕處在某些特定位置時觸摸事件會先被這些系統的手勢攔截&#xff0c;系統不響應才會繼續分發&#xff0c;而按鈕的 UIControlEventTouchDown 事件是需要立即響應的&#xf…

Python數據處理的六種方式總結,Python零基礎學習

文章目錄 前言1、dedup()去重并排序2、traverse()拆分嵌套數組3、filter()數據篩選4、groupby()分組運算5、select()遍歷結果集6、sort()數據排序 總結 前言 在 Python 的數據處理方面經常會用到一些比較常用的數據處理方式&#xff0c;比如pandas、numpy等等。 今天介紹的這…

vue圖片預覽 90度旋轉

要在 Vue 3 中實現點擊按鈕讓圖片旋轉 90 度&#xff0c;你可以使用 CSS 轉換和 Vue 的事件處理來完成。這里是一個基本的示例&#xff1a; 首先&#xff0c;在你的組件的模板中&#xff0c;添加一個按鈕和一個應用轉換的圖像&#xff1a; <template> <div> <…

使用粗糙貼圖制作粗紋皮革手提包3D模型

在線工具推薦&#xff1a; 3D數字孿生場景編輯器 - GLTF/GLB材質紋理編輯器 - 3D模型在線轉換 - Three.js AI自動紋理開發包 - YOLO 虛幻合成數據生成器 - 三維模型預覽圖生成器 - 3D模型語義搜索引擎 當談到游戲角色的3D模型風格時&#xff0c;有幾種不同的風格&#xf…

UniGui使用CSS優化PageControl

如題直接上代碼 .x-tab-bar-default-top{background-image:none!important;background-color:#FFF !important;border-color:#f0f0f0 !important;border-left:none!important;border-right:none!important}.x-tab-bar-strip-default{border-color:#f0f0f0 !important;backgrou…

Redisson出現問題總結

org.redisson.client.RedisAuthRequiredException: NOAUTH Authentication required… channel: 出現此問題的原因為沒有redis權限。解決方案在setAddress()后面加上setPassword()方法。 config.useSingleServer().setAddress("redis://localhost:6379").setPasswo…

Hugging Face 給普通用戶提供了一個 2 vCPU 16GB 的免費空間

Hugging Face 給普通用戶提供了一個 2 vCPU 16GB 的免費空間&#xff0c;并且支持部署 Gradio 構建的應用程序&#xff0c;非常方便&#xff0c;下面我們進入 https://huggingface.co/spaces/ &#xff0c;點擊創建空間。