HTML:htper text markup language超文本標記(標簽)語言
由各種標簽組成,用來制作網頁,告訴瀏覽器如何顯示頁面
w3c:world wide web consortium萬維網聯盟,制定web技術相關標準和規范的組織,HTML技術hi由w3c制定的標準
兩個版本:HTML4.0.1、HTML5.0-----通常H5
官網:http://www.W3shcool.com.cn
HTML文檔是以.html或.htm結尾
記事本notepad、sublime、Notepad++、Dreamweaver、VScode、Webstorm等
使用步驟:
使用技巧:
常見的瀏覽器:IE瀏覽器微軟、chrome谷歌瀏覽器、fifirefox火狐、safari蘋果
瀏覽器的作用是讀取html文件,并以網頁的形式來顯示
瀏覽器不會直接顯示html標簽,而是使用標簽來解釋網頁的內容
一個完整的html標簽的組成:
<標簽名 屬性名="屬性值">內容</標簽名>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>標簽</title>
</head>
<body bgcolor="red" text="blue">
html從入門到精通!
</body>
</html>
12345678910
屬性值要用雙撇號括起來,一般用雙引號
根據標簽是否關閉,分為,關閉型和非關閉型
<html></html>
<head></head>
<title></title>
非關閉型:沒有結束標簽
<meta>
<br>
<h1>....<h6>
根據標簽是否獨占一行,分為塊級標簽和行級標簽
塊級標簽:顯示為塊狀,獨占一行
<h1>大家好</h1>
<hr>
行級標簽:在行內顯示,可與其他內容在同一行顯示
<span></span>
注釋在瀏覽器中不會顯示,是用來標注解釋html語句,但通過查看源代碼的方式可以看到
語法:
<--注釋內容-->
也稱為特殊字符,用于顯示一些特殊符號,如<>&空格等
語法:
<&實體字符的名稱>
在html文檔的第一行,使用<!DOCTYPE html>
聲明HTML文檔的類型用來告訴瀏覽器頁面的文檔嘞型,用來制定html版本的規范
目前基本上最常用的html5
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
</body>
</html>
12345678910
1.基本標簽
1.1 有序列表
ol:ordered listli:list item默認使用阿拉伯數字、從1開始標記,可以通過屬性進行修改
· type屬性:設置列表的符號標記、取值;數字1(默認)、字母(a或A)、羅馬數字(i或I) · start屬性:設置起始值,值必須是數字
1.2 無序列表
ul:unodered list
li:list item
默認情況下使用實心圓表作為符號標記,可以通過屬性進行修改
· type屬性:設置列表的符號標記、取值:disc實心圓(默認)、circle空心圓、square正方形、none不 顯示項目符號
1.3 定義列表
dl:definition list
dt:definition title
dd:definition description
1.4 水平線標簽
hr:horizontal
常用屬性:
· color:顏色
兩種方式:
顏色名稱:如red、green、blue、white、black、pink、orange等
16進制的RGB表示法:Red、Green、Blue用法:#RRGGBB 每種顏色的取值范值0-255,轉換為16 進制00-FF
如: #FF0000 紅色 #00FF00綠色 #0000FF藍色 #FFFFFF白色、#CCCCCC #FF7300桔色
· size:粗細,數值
· width寬度
兩種寫法:
? 像素:絕對值(固定值)
? 百分比:相對值,相對于水平線標簽所在父容器寬度的百分比
· align對齊
? 取值:center居中 left right
1.5圖像標簽
img:image
常見的圖片格式:.jpg .png .gif .bmp
常見的屬性:
· src:source指定圖片的路徑(來源),必選叁數
如果圖片與html源代碼在同一個文件夾中,可以直接在src中寫圖片名稱即可
習慣上,我們會將多個圖片與html代碼文檔分別放在同一個文件夾project中的不同目錄下,此時需要 在src中指定圖片的路徑為相對路徑
路徑的分類:
? · 相對路徑
? 表示: ./當前路徑
…/當前位置的上一級文件夾
? 提示:…/image
? · alt:當圖片無法顯示時顯示的提示信息
? · title:當鼠標放到圖片上時顯示的提示信息
? · width和 height:設置圖片的寬度和高度
默認圖片以原始尺寸顯示
? 如果只設置其中一個,則另一個會按比例縮放
? 如果同時設置寬和高,可能導致圖片變形
? 兩種寫法:
? 像素:絕對值(固定值)
? 百分比:相對值,相對于父容器的尺寸的百分比
2.其他標簽
為了更好語義化
3.頭部標簽
· meta定義網頁的摘要信息,如字符編碼,關鍵詞,描述,作者等
· title定義網頁的標題
· style定義內容css樣式
· link引用外部css樣式
· script定義或引用腳本
· base定義基礎路徑
默認以當前頁面文件所在的位置為相對路徑參照
4.標簽嵌套
一個標簽中嵌套另外一個標簽
標簽不能亂嵌套
瀏覽器渲染后顯示的頁面代碼與編碼時有所不同
chrome瀏覽器提供的開發工具:幫助開發人員查看和調試頁面的
如何打開:
· Elements:從瀏覽器的角度來看頁面,瀏覽器渲染頁面時內部的結構
· console:控制臺,顯示各種警告和錯誤信息
· network:查看網絡請求信息,瀏覽器向服務器請求了哪些資源,資源大小,
加載資源所消耗的時間
四、超鏈接
1.簡介
使用超鏈接可以從一個頁面跳轉到另外一個頁面,實現頁面之間導航
當鼠標移動到超鏈接文本或圖片時,鼠標箭頭會變成一只小手
超鏈接有三種類型:
普通鏈接/頁面間的鏈接,跳轉到另一個頁面 錨鏈接:鏈接到錨點(鏈接到同一個頁面的指定位置) 功能鏈接:實現特殊功能(發郵件,下載)
2.基本用法
使用 標簽來創建超鏈接
語法格式:
常用屬性:
href:鏈接地址或路徑,鏈接地址
world
鏈接文本或圖片
1 2 3 4 5 1 target:鏈接打開的位置,取值
路徑分類:
絕對路徑 以根開始的路徑
file:///D:/software/b.html https://www.baidu.com/img/bd_logo1.png
相對路徑 相對于當前頁面文件所在的路徑,不是以根開始的路徑 ./ 當前路徑 …/ 當前位置上一級目錄
3.錨鏈接
3.1簡介
點擊鏈接后跳轉到某一個頁面的指定位置(錨點anchor)
錨鏈接的分類:
頁面內的錨鏈接 頁面間的錨鏈接
3.2 頁面內的錨鏈接
步驟:
3.3 頁面間的錨鏈接
4.功能鏈接
5.URL
5.1 簡介
URL:Uniform Resource Locator 統一資源定位器,用來定位資源所在的位置,最常見的就是網址
5.2 組成
一個完整的URL由8個部分組成:
協議:prococol 如 http:超文本傳輸協議,用來訪問WEB網站Hyper text Transfer protocal https:更加安全的協議 SSL安全套接子層 ftp文件傳輸協議,用來訪問服務器上的文件,實現文件的上傳和下載File Transfer protocol file:文件協議,用來訪問本地文件 主機名hostname服務器地址或服務器Netbios名稱,如www.baidu.com ftp://10.255.254.254 端口:port位于主機名的后面,使用冒號進行分隔 不同的協議使用不同的端口,如http使用80端口,https使用的443端口,ftp使用20和21 如果使用的是默認端口,則端口可以省略 如果使用的不是默認端口,則必須指定端口http://59.49.32.213:7070/ 路徑:path目標文件所在的路徑結構,如:www.baidu.com/img/ 資源resource要訪問的目標文件,如bd_logo1.png 查詢字符串:query string 也稱為參數 在資源后面使用?開頭的一組名稱/值
鏈接文本
鏈接文本
https://www.baidu.com/img/bd_logo1.png?name=tom&age=2&sex=male https://www.w3school.com.cn/html/html_quotation_elements.asp file:///C:/Users/Administrator/Desktop/project/code/09.%E5%B8%B8%E7%94%A8%E6%A0%87%E7%A D%BE3.html http://www.sxgjpx.net/ ftp://10.255.254.253/
1
1
1 2 3
4 5
名稱和值之間以=分隔,多個之間用&分隔,如:name=tom&age=2&sex=male 錨點anchor,在資源后面使用#開頭的文本,如#6 身份認證authentication,指定身份信息,如:ftp://賬戶:密碼@ftp.bbshh010.com
五、表格
1.簡介
表格是一個規則的行列結構,每個表格是由若干行組成,每行由若干個單元格組成
table row column
2.基本結構
2.1 table標簽
用來定義表格
常用屬性:
border:表格邊框 默認為0 width/height:寬度/高度 bordercolor:邊框的顏色 align:對齊方式,取值:left(默認) center居中 right居右 bgcolor:背景顏色 background:背景圖片 cellspacing間距:單元格與單元格之間的距離 cellpadding邊距:單元格中的內容到邊界之間的距離
2.2 tr標簽
用來定義行:table row
常用屬性:
align:水平對齊 取值:left(默認) center right valign垂直對齊 取值:top center bottom bgcolor:背景顏色 background:背景圖片
2.3 td標簽
用來定義單元格,table data
常用屬性:align、valign、bgcolor、background
注意:表格必須是由行組成,行必須由單元格來組成,數據必須放到單元格中
3.合并單元格
合并單元格也稱為單元格的跨行跨列
兩個屬性:
rowspan 設置單元格所跨的行數 colspan 設置單元格所跨的列數
步驟:
六、表單
1.簡介
表單是一個包含若干個表單元素的區域,用于獲取瑣類型的用戶數據
表單元素是允許用戶在表單輸入信息的元素,如文本框、密碼框、單選按鈕、復選框、下拉列表、按鈕等
2.表單結構
2.1表單語法
1
2.2form標簽
用來定義表單,可以包含多個表單元素
常用屬性:
action:提交數據給誰處理,即處理數據的程序,默認為當前頁面 method:提交數據的方式或方法,取值:get(默認),post get和post的區別: get:以查詢字符串的形式提交,在地址欄中能看到,長度有限制,不安全 post以表單數據組的形式進行提交,在地址欄中看不到,長度無限制,安全 enctype(encode type)編碼類型:提交數據的編碼,取值:application/X-www-form-urlencoded(默 認)、multipart/form-data(文件上傳)
3.表單元素
大多數的表單元素都是使用 標簽來定義的,通過設置屬性type來定義不同的表單元素
1
3.1單行文本框
常用屬性:
·name名稱,很重要,如果沒有定義name屬性,則該表單元素的數據是無法提交的
·value初始值
·size顯示寬度
·maxlength:大字符數,默認是沒有限制
·readonly只讀:readonly=“readonly”,可簡寫readonly,即只寫屬性名
·disabled禁用:disabled=“disabled”, 可簡寫disabled完全禁用
表單元素被提交的兩個條件,1.有name屬性2.非disabled
3.2 單選按鈕
常用屬性:
·name名稱:多個radio的name屬性必須相同,才能實現互斥(單選)
·value值
·checked:是否被選中,兩種狀態,選中,未選中 checked=“checked” 簡寫 checked
3.3 復選框
常用屬性與單選按鈕radio類似
3.4 文件選擇器
常用屬性:
·name:名稱
·accept設置可選擇的文件類型,用來限制上傳的文件類型
使用MIME格式字符串對資源類型進行限制
常見的MIME類型:
·純文本:text/plain text/xml text/html
· 圖像:image/png image/jpeg image/gif
4.特殊表單元素
4.1下拉列表
select常用屬性:
·name名稱
·size行數,同時顯示多個選項
·multiple允許同時選擇多個
option常用屬性:
·value選項值
·selected設置默認選中項
optgroup常用屬性:
·label分組的標簽
4.2文本域
·name名稱
·rows行數
·cols列數
5、其他標簽
5.1 label標簽
為表單元素提供標簽,當選中label標簽中的文本內容時會自動將光標切換到與之相關聯的表單元素。
常用屬性:
·for必須將該屬性值設置為與相關聯的表單元素的Id屬性值相同。
注:幾乎所有HTML標簽都具有id屬性,且id值必須唯一。
5.2 button標簽
也表示按鈕,與input按鈕類似
語法:
1按鈕文字或圖像
常用屬性:
·type按鈕的類型,取值: submit(默認)、reset、button
5.3 fieldset和legend標簽
fieldset標簽,對表單元素進行分組
legend標簽,對分組添加標題
七、內嵌框架
1、簡介
使用iframe可以在一個頁面中引用另一個頁面,實現復用、靈活
2、基本用法
語法:
1
常用屬性:
· src:引用的頁面
· width/height寬度/高度 ,像素或百分比
· frameborder是否顯示邊框,取值:1(yes) 0(no)—默認
· scrolling是否顯示滾動條,取值:yes no auto
· name屬性 為框架定義名稱
3、在框架中打開鏈接
1
2
3鏈接的文本或圖像
八、HTML5簡介
1、發展
W3C于1992年12月發布了HTML4.0.1標準
W3C于2014年10月發布了HTML5標準
2、特點
· 取消了過時的標簽,如font、center等,它們僅具有展示外觀的功能
· 增加了一些更具有語義化的標簽,如header、footer、aside等
· 增加了一些新功能標簽,如canvas、audio、video
· 增加了一些表單控件,如email、date、time、url、search等
· 可以直接在瀏覽器中繪畫(canvas),無需flash
· 增加了本地存儲的支持
3、兼容性
http://caniuse.com
提供了各種瀏覽器版本對HTML5和CSS規范的支持度
九、HTML5新增內容
1、結構相關的標簽
用來進行頁面結構布局,本身無任何特殊樣式,需要使用CSS進行樣式設置
· article定義一個獨立的內容,完整的文章
· section定義文檔的章節、段落
· header文章的頭部、頁眉、標題
· footer文章的底部、頁腳、標注
· aside定義側邊欄
· figure圖片區域
· figcaption為圖片區域定義標題
· nav定義導航菜單
結構標簽只是表明各部分的角色,并無實際的外觀樣式,與普通div相同
2、語義相關的標簽
2.1 mark標簽
標注,用來突出顯示文本,默認添加黃色背景
2.2 time標簽
定義日期和時間,便于搜索引擎智能查找
2.3 details和 summary標簽
默認顯示summary中的內容,點擊后顯示details中的內容
注:并不是所有的瀏覽器都兼容,chrome、opera支持、Firefox、IE瀏覽器不支持
2.4 meter標簽
計數儀,表示度量
常用屬性:
· max定義大值,默認為1
· min定義小值,默認為0
· value定義當前值
· high定義限定為高的值
· low定義限定為低的值
· optimum定義佳值
規則:
當value大于high時為綠色
當value在low與high之間時為黃色
當value小于low時為紅色
當value小于low時為綠色
當value在low與high之間時為黃色
當value大于high時為紅色
2.5 progress標簽
進度條,表示運行中的進度
常用屬性:
· value定義當前值
· max定義完成的值
3.表單相關
3.1 新增表單元素
新增以下type類型:
· email接收郵箱
· url接收URL
· tel接收電話號碼,目前僅在移動設備上有效
· search搜索文框
· number/range接收數字/數字滑塊,包含min,max,step屬性
· date/month/week/time/datetime日期時間選擇器,兼容性不好
· color顏色拾取
作用:
· 具有格式校驗的功能
· 可以與移動設備的鍵盤相關聯
3.2新增表單屬性
form標簽的屬性:
· autocomplete是否啟動表單的自動完成功能, 取值:on(默認)、o?
· novalidate提交表單時不進行校驗,默認會進行表單校驗
3.3 新增表單元素的屬性
新增表單元素屬性:input/select/textarea等
· placeholder提示文字
· required是否必填
· autocomplete是否啟用該表單元素的自動完成功能
· autofocus設置初始焦點元素
· pattern使用正則表達式(RegExp后面會講解),進行數據校驗
· list使文本元素具有下拉列表的功能,需要配合datalist和option標簽一起使用
· form可以將表單元素寫在form標簽外面,然后通過該屬性關聯指定的表單
4、多媒體標簽
4.1audio標簽
在頁面中插入音頻,不同的瀏覽器對音頻格式的支持不一樣
audio常用屬性:
· src音頻文件的來源
· controls是否顯示控制面板,默認不顯示
· autoplay是否自動播放,默認不自動播放
· loop是否循環播放
· muted是否靜音
· preload是否預加載,取值:none不預加載、auto預加載(默認)、metadata只加載元數據
如果設置了autoplay屬性,則該屬性無效
可以結合source標簽使用,指定多個音頻文,瀏覽器會檢測并使用第一個可用的音頻文件
4.2 video標簽
在頁面中插入視頻,不同的瀏覽器對視頻格式的支持不一樣
用法與audio標簽基本相同,增加屬性:
· widht/height視頻播放器的寬度/高度
· poster在視頻加載前顯示的圖片
<html>
<body>
<tiele>HTML技術</tiele>
</body>
<body>
大家好,歡迎學習html技術!
</body>
</html>1234567
效果
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-h271e4v6-1593240920352)(C:\Users\lenovo\Desktop\新建文件夾\靜態網頁2\案例\result\案例1.png)]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>標簽</title>
</head>
<body text="blue">
標簽的組成
<br>
html從入門到精通!
<hr>
<h1>標簽的分類</h1>
<hr>
<h2>標簽的分類</h2>
<hr>
<h6>標簽的分類</h6>
<hr>
<span>哈哈</span>嘿嘿
</body>
</html>1234567891011121314151617181920212223
效果
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-jx6zJE1P-1593240920354)(C:\Users\lenovo\Desktop\新建文件夾\靜態網頁2\案例\result\案例2.png)]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
圖書:<<HTML從入門到精通<<
<hr>
北京 上海 廣州
<hr>
在HTML中用<表示<小于號
<hr>
“HTML語言” 或 &qout;HTML語言&qout;
<hr>
版權所有? 2000-2020 高教培訓
<hr>
×關閉符號
</body>
</html>123456789101112131415161718192021222324
效果
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-nuFLl3hm-1593240920355)(C:\Users\lenovo\Desktop\新建文件夾\靜態網頁2\案例\result\案例3.png)]
(剩下的下期出)
原文鏈接:https://blog.csdn.net/WanXuang/article/details/106982782?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522160513384519724835852804%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=160513384519724835852804&biz_id=&utm_medium=distribute.pc_search_top_result.none-task-code-2~all~top_position~default-1-106982782-12.nonecase&utm_term=html
作者:WanXuang
出處:從CSDN
端訓練營:1v1私教,終身輔導計劃,幫你拿到滿意的 offer。 已幫助數百位同學拿到了中大廠 offer。歡迎來撩~~~~~~~~
Hello,大家好,我是 Sunday。
說起 HTML 很多同學都會認為,這不就是小菜一碟嗎?這玩意有啥難度?你也太瞧不起我了吧!
不過看似越簡單的東西,我們越會忽略,同時它們還可以提供出令人驚艷的效果!
過去,我們經常使用本機瀏覽器窗口作為彈出框元素來顯示頂層內容(例如:常見的 dialog)。
可是這些默認的彈窗并不友好。所以后來,我們使用外部庫(Element、AntD 等)構建了頁面內的、經過CSS樣式化的彈出框,以好看的UI方式方式顯示此類內容。
不過現在,你可以使用純HTML創建彈出框,而無需編寫任何JavaScript代碼。現代Web標準通過Popover API提供了內置的彈出框支持。
看下面的源代碼:
<style>
div[popover]::backdrop {
background-color: rgba(0, 0, 0, 0.4);
}
div[popover] {
padding: 12px;
border: none;
}
</style>
<div id="pop" popover>
我是彈出的內容
</div>
<button popovertarget="pop">展示 popover</button>
上述HTML使用了 popover 屬性來實現一個簡單的彈出框元素。
它使用 popovertarget 屬性來在不使用JavaScript的情況下顯示彈出框元素。此外,我們使用了 ::backdrop 偽元素來樣式化彈出框的背景:
你可以使用 @starting-style 為原生彈出框添加動畫,正如 MDN 文檔(https://developer.mozilla.org/en-US/docs/Web/CSS/@starting-style)中所解釋的那樣。
HTML標準提供了 autofocus 屬性,用于在頁面加載和對話框/彈出框顯示狀態下自動聚焦表單元素。
看下面的示例模態框,它在第一個輸入已經預填充的情況下自動將焦點設置到第二個文本輸入框上:
<dialog id="dlg">
<form method="dialog">
<input type="text" placeholder="Firstname" value="張" />
<div style="height: 8px"></div>
<input type="text" placeholder="Lastname" autofocus />
<div style="height: 8px"></div>
<button>保存</button>
</form>
</dialog>
<button onclick="document.getElementById('dlg').showModal()" autofocus>點我</button>
上面的HTML在兩個地方使用了 autofocus 屬性:
此外,我們還使用了 method="dialog" 屬性來設置關閉對話框而無需使用JavaScript代碼。
表單校驗是日常開發的常見需求。不過當我們脫離了 Element、AntD 這些組件庫之后,你還知道如何實現表單校驗嗎?
其實對于 HTML的 input 元素來說,它是有 pattern 屬性的
假設我們需要驗證一個產品標識符,它包含兩個英文字母和六個數字,用連字符連接,即 GR-100200。
以下HTML片段實現了上述要求的驗證功能的文本輸入框:
<form>
<label for="productID"> ID:</label>
<input type="text" id="productID" name="productID" pattern="[A-Za-z]{2}-\d{6}" title="Please enter a valid product identifier (e.g., GR-100200)" required>
<button type="submit">Submit</button>
</form>
在上面的示例中,我們使用 pattern 屬性設置了一個正則表達式,用于驗證產品標識符。此正則表達式要求兩個英文字母(不區分大小寫)后跟一個連字符,然后是六個數字。另外,我們還添加了 title 屬性,以提供關于輸入格式的說明。最后,我們將 required 屬性添加到輸入元素上,以確保用戶輸入有效的產品標識符。
這里,pattern 屬性通過顯示瀏覽器特定的驗證消息來阻止表單提交無效輸入。但是他必須要在點擊了 提交 按鈕之后才可以進行校驗。
如果我們想要進行實時校驗(根據輸入內容實時校驗)怎么辦呢?
我們可以使用 :valid 和 :invalid CSS 偽類來實現 pattern 的實時驗證,如下所示的 HTML 代碼片段所示:
<style>
input[type=text] {
border: #000 1px solid;
border-radius: 4px;
outline: none;
padding: 6px;
}
input[type=text]:invalid {
border: red 1px solid;
+span::before {
content: '?';
display: inline;
color: red;
}
}
input[type=text]:valid {
border: green 1px solid;
+span::before {
content: '?';
display: inline;
color: green;
}
}
</style>
<input type="text" placeholder="i.e., GR-100200" pattern="[A-Z]{2}-[0-9]{6}" required />
<span></span>
上面的HTML片段使用CSS代碼根據驗證狀態設置樣式。無效輸入會將輸入框邊框設置為紅色,并顯示紅色的叉號。與此同時,有效輸入會呈現綠色邊框和綠色的勾號符號:
手機通過虛擬鍵盤進行輸入,這個鍵盤有幾種模式。
例如,它可能僅顯示數字鍵用于數字輸入元素,對于一般的字符串輸入則顯示完整的鍵盤界面。移動瀏覽器會根據輸入類型自動更改虛擬鍵盤模式,但開發人員也可以使用 input 元素的 inputmode 屬性進行自定義。
<input type="text" pattern="[0-9]{6}" inputmode="numeric" maxlength="6">
在上面的示例中,我們使用了 inputmode 屬性來指定虛擬鍵盤的模式為 numeric,以便在移動設備上只顯示數字鍵盤。同時,我們還使用了 pattern 屬性來限制輸入只能是六位數字。maxlength 屬性限制輸入的最大長度為六位。
圖片懶加載是日常開發中的常見需求。我們在實現懶加載時大多數會使用一些現成的庫或者基于 Intersection Observer API 進行處理
不過很多同學不知道的是:img 標簽的 loading 屬性可以讓你在不編寫JavaScript代碼或使用第三方庫的情況下啟用瀏覽器級別的圖片懶加載。
看下面的源代碼:
<div style="height: 2000px"></div>
<img src="https://gips3.baidu.com/it/u=45328832,131546734&fm=3039&app=3039&f=JPEG?w=1024&h=1024
" loading="lazy" />
以這種方式實現圖片懶加載的功能,當頁面往下滾動的時候,圖片動態加載:
過前面幾篇文章的介紹,相信大家對css層疊樣式表已經有了大概的了解和認識了,最起碼要知道它到底是做什么用的。也就是所謂的應用場景,光是學會,但是不知道怎么使用,那相當于沒學。
這里再次說明css的作用就是給html標簽指定樣式的,不論是淘寶還是京東再或者是其他的網站都是用html+css+JavaScript來實現界面的,界面就是讓用戶能看得見摸得著的東西,通過界面就可以查看商品、瀏覽商品、選購商品,最終完成交易,賺到錢。所以說html、css、JavaScript是學習編程的基礎。
廢話不多說,開始今天的內容。css選擇器可以讓我們定位hmtl標簽,只有定位到html標簽,我們才能給html標簽指定樣式。樣式的大小怎么設置,就需要我們對css的度量單位有所了解。就和你上街買菜一樣,你光說要買白菜,賣菜的肯定會問你,買多少啊?如果你不告訴賣菜的你要買多少,那賣菜的應該賣給你多少呢?
css的度量單位就是解決這里多少的問題。
ok,了解了以上內容,接著我們再來了解,css的都有哪些樣式,具體應該怎么使用。
文本樣式,什么是文本呢?就是文字啊。現在想一想文字可以有哪些樣式呢?
這不禁讓我想起一個故事:兩個人因為某件事情,爭論不下。所以決定用比文(相對于比武)的方式來論輸贏,做決定。其中有一題便是:怎么用黑筆寫出紅字來?(大家可以思考一下)
這里說的黑、紅就是顏色,html里面的文本也就是文字可以有顏色,還可以有大小,還可以有粗細、還可以有傾斜、還可以在文字下面畫一個橫線叫下劃線、還可以在中間畫一道線叫刪除線、還可以設置字體樣式:像宋體、楷體、微軟雅黑等等...(盡情發揮你的想象,看看文本還可以有哪些樣式吧)
1.顏色
css給文本設置顏色通過:color來指定。前面幾篇中我用了大量的color來指定html標簽的顏色。
具體演示,看代碼:(我們給p標簽里面的文本設置紅顏色)
<!DOCTYPE html>
<html>
<head>
<title>css顏色與度量單位</title>
<style>
p{
color: red;
}
</style>
</head>
<body>
<p>第一段落</p>
</body>
</html>
頁面效果:
這里只有一個p標簽,所以我們利用元素選擇器可以很好地定位到p標簽,如果我們有很多p標簽,而你想給每個p標簽設置不同的顏色該怎么做呢?(如果想不起來的同學,可以返回去看看css選擇器)
我們可以通過偽類選擇器進行精確地指定第一個第二個第三個,分別給他們指定不同的顏色。當然,你也可以使用id選擇器或者類選擇來精確定位。
<!DOCTYPE html>
<html>
<head>
<title>css顏色與度量單位</title>
<style>
p:last-child{
color: red;
}
p:first-child{
color:lime;
}
p:nth-child(2){
color: navy;
}
</style>
</head>
<body>
<p>第一段落</p>
<p>第二段落</p>
<p>第三段落</p>
</body>
</html>
頁面效果:
2.文字大小
文字的大小通過font-size來指定
將第三個(也就是最后一個)p的文本大小設置為50px(px為css的度量單位,還不知道px是什么的同學,可以返回去看看css度量單位那一篇)
<!DOCTYPE html>
<html>
<head>
<title>css顏色與度量單位</title>
<style>
p:last-child{
font-size: 50px;
color: red;
}
p:first-child{
color:lime;
}
p:nth-child(2){
color: navy;
}
</style>
</head>
<body>
<p>第一段落</p>
<p>第二段落</p>
<p>第三段落</p>
</body>
</html>
頁面效果:
這里再啰嗦一句,css叫層疊樣式表,層疊的意思就是可以把很多樣式疊加作用在一個html標簽上,來達到樣式的豐富多彩。這里我們不僅給最后一個p設置了紅色還把字號變成了50px,下面的例子中,我們可以一直往上疊加更多樣式。
3.文本傾斜
文本是否傾斜通過font-style來設置
將第三個p標簽的文本傾斜
<!DOCTYPE html>
<html>
<head>
<title>css顏色與度量單位</title>
<style>
p:last-child{
font-size: 50px;
color: red;
font-style: oblique;
}
p:first-child{
color:lime;
}
p:nth-child(2){
color: navy;
}
</style>
</head>
<body>
<p>第一段落</p>
<p>第二段落</p>
<p>第三段落</p>
</body>
</html>
頁面效果:
下面給出一個表格:
值 | 說明 |
normal | 表示讓傾斜狀態恢復到正常狀態 |
italic | 表示使用斜體 |
oblique | 表示讓文字傾斜。區別在沒有斜體時使用 |
4.字體加粗
設置字體是否加粗。
通過font-weight來設置
<!DOCTYPE html>
<html>
<head>
<title>css顏色與度量單位</title>
<style>
p:last-child{
font-size: 50px;
color: red;
font-style: oblique;
font-weight: bold;
}
p:first-child{
color:lime;
}
p:nth-child(2){
color: navy;
}
</style>
</head>
<body>
<p>第一段落</p>
<p>第二段落</p>
<p>第三段落</p>
</body>
</html>
頁面效果:
值 | 說明 |
normal | 表示讓加粗的字體恢復正常 |
bold | 粗體 |
bolder | 更粗的字體 |
lighter | 輕細的字體 |
100~900之間的數字 | 600及之后是加粗,之前不加粗 |
在目前計算機和瀏覽器顯示中,只有bold加粗,其他更粗更細,目前體現不出來。
5.文本字體設置
通過font-family來設置
<!DOCTYPE html>
<html>
<head>
<title>css顏色與度量單位</title>
<style>
p:last-child{
font-size: 50px;
color: red;
font-style: oblique;
font-weight: bold;
font-family: 宋體;
}
p:first-child{
color:lime;
}
p:nth-child(2){
color: navy;
}
</style>
</head>
<body>
<p>第一段落</p>
<p>第二段落</p>
<p>第三段落</p>
</body>
</html>
頁面效果:
好了,今天的內容就是這么多了。每天學習一點點,日積月累,你會發現你已經完全掌握編程了。記住要多動手練習。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。