Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
:本人CSDN賬戶為:小白一枚2號(hào),發(fā)這里主要是想賺點(diǎn)廣告錢
(tmd打個(gè)勾八暑假工,學(xué)到技術(shù)才是硬道理)
AJAX是瀏覽器與服務(wù)器進(jìn)行數(shù)據(jù)通信的技術(shù) =>把數(shù)據(jù)變活
(非頭條內(nèi)部地址不讓傳,只好用這種形式)
引入JS:https://cdn.bootcdn.net/ajax/libs/axios/1.7.2/axios.min.js 或 https://cdn.bootcdn.net/ajax/libs/axios/1.7.2/axios.js
<script src="https://cdn.jsdelivr.net/npm/axios@1.7.2/dist/axios.min.js"></script>
使用axios函數(shù)詳解:https://ykloveyxk.github.io/2017/02/25/axios%E5%85%A8%E6%94%BB%E7%95%A5/
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script src="https://cdn.bootcdn.net/ajax/libs/axios/1.7.2/axios.min.js"></script>
<script>
axios({
url:'目標(biāo)資源地址'
}).then((result)=>{
//對(duì)服務(wù)器返回的數(shù)據(jù)做后續(xù)處理
})
</script>
</body>
</html>
URL后加 ?pname=河北省
語(yǔ)法:http://xxx.com/xxx/xxx?參數(shù)名1=值1&參數(shù)名2=值2
axios({
url: 'http://hmajax.itheima.net/api/area',
params: {
pname: `${query1.value}`,// 參數(shù)1
cname: `${query2.value}` // 參數(shù)2
}
}).then((result) => {
console.log(result.data.list);
ul.innerHTML = result.data.list.map((x) => `<li>${x}</li>`).join('')
console.log(result.data.list.map((x) => `<li>${x}</li>`));
})
概念:對(duì)服務(wù)器資源要執(zhí)行的操作
axios的請(qǐng)求配置:
請(qǐng)求方法 | 操作 |
GET(get) | 獲取數(shù)據(jù) |
POST(post) | 提交數(shù)據(jù) |
PUT(put) | 修改數(shù)據(jù)(全部) |
DELETE(delete) | 刪除數(shù)據(jù) |
PATCH(patch) | 修改數(shù)據(jù)(部分) |
url :請(qǐng)求的URL網(wǎng)址
method :請(qǐng)求的方法,GET可以省略(不區(qū)分大小寫)
params:查詢參數(shù)
data:提交的數(shù)據(jù)
//獲取數(shù)據(jù)
axios({
url: '目標(biāo)資源地址',
//method: 'get',
params:{
參數(shù)名:值
}
}).then((result) => {
//對(duì)返回的數(shù)據(jù)的處理
})
//提交數(shù)據(jù)
axios({
url: '目標(biāo)資源地址',
method: 'post',
data: {
參數(shù)名: 值
}
}).then((result) => {
//對(duì)返回的數(shù)據(jù)的處理
})
服務(wù)器返回的信息:Uncaught大對(duì)象里的data
語(yǔ)法格式:
axios({
//請(qǐng)求項(xiàng)
}).then(result=>{
//處理數(shù)據(jù)
}).catch(error=>{
//處理錯(cuò)誤
})
大佬方法:
https://blog.csdn.net/sanda_nd/article/details/125513125
HTTP協(xié)議:規(guī)定了瀏覽器發(fā)送及服務(wù)器返回內(nèi)容的格式
請(qǐng)求報(bào)文:瀏覽器按照HTTP協(xié)議要求的格式,發(fā)送給服務(wù)器的內(nèi)容
請(qǐng)求報(bào)文樣例:
組成部分:
查看請(qǐng)求報(bào)文:
如同所示:就是請(qǐng)求報(bào)文經(jīng)過(guò)計(jì)算機(jī)解析后的形式
查看提交的信息,判斷錯(cuò)誤位置
HTTP協(xié)議:規(guī)定了瀏覽器發(fā)送及服務(wù)器返回內(nèi)容的格式
響應(yīng)報(bào)文:服務(wù)器按照HTTP協(xié)議要求的格式,發(fā)送給瀏覽器的內(nèi)容
查看響應(yīng)報(bào)文:
HTTP狀態(tài)碼:用來(lái)表明,請(qǐng)求是否成功
狀態(tài)碼 | 說(shuō)明 |
1xx | 信息 |
2xx | 成功 |
3xx | 重新定向消息 |
4xx | 客戶端錯(cuò)誤 |
5xx | 服務(wù)端錯(cuò)誤 |
常見(jiàn)狀態(tài)碼:
200:成功
404:服務(wù)器找不到資源
接口文檔:描述接口的文章
接口:使用AJAX和服務(wù)器通訊是使用的URL,請(qǐng)求方法,及參數(shù)
AJAXS接口:歡迎使用 - AJAX階段 (apifox.com)
https://apifox.com/apidoc/project-1937884/doc-1695440
作用:快速地搜集表單元素的值
引入插件:form-serialize.js插件下載&引用-CSDN博客
https://blog.csdn.net/ITiT12333/article/details/138261386
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<link rel="stylesheet" href="../bootstrap-5.3.0-alpha1-dist/css/bootstrap.min.css">
</head>
?
<body>
<form action="javascript" class="example">
<input type="text" name="un">
<input type="password" name="pw">
<!-- <input type="button" class="btn" value="提交"> -->
</form>
<button class="btn">提交</button>
<script src="https://cdn.jsdelivr.net/npm/axios@1.7.2/dist/axios.min.js"></script>
<script src="../from-serialize/from-serialize.js"></script>
<script>
const input = document.querySelector('.example')
const btn = document.querySelector('.btn')
btn.addEventListener('click', () => {
let data = serialize(input, { hash: true, empty: true })
console.log(data);
})
</script>
</body>
?
</html>
必須使用:
<form action="javascript" class="example">
<input type="text" name="un">
<input type="password" name="pw">
<!-- <input type="button" class="btn" value="提交"> -->
</form>
的格式
form用來(lái)確定區(qū)間
name是鍵名
value是值
其中:hash 設(shè)置獲取的數(shù)據(jù)結(jié)構(gòu):
empty 設(shè)置是否獲取空值:
代碼:
<!DOCTYPE html>
<html lang="en">
?
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<link rel="stylesheet" href="../bootstrap-5.3.0-alpha1-dist/css/bootstrap.rtl.min.css">
<style>
.banner {
width: 700px;
height: 700px;
margin: 20px auto;
}
.row {
margin-bottom: 15px;
}
.alert {
transition: all .5s;
}
.unshow {
opacity: 0;
}
</style>
</head>
?
<body>
<div class="banner">
<h1>歡迎-登入</h1>
<div class="alert unshow" role="alert">
</div>
<form class="login-form">
<div class="row g-3 align-items-center">
<div class="col-auto">
<label for="username" class="col-form-label">用戶名:</label>
</div>
<div class="col-auto">
<input type="text" id="username" name="username" class="form-control"
aria-describedby="passwordHelpInline">
</div>
</div>
<div class="row g-3 align-items-center">
<div class="col-auto">
<label for="password" class="col-form-label">密碼:</label>
</div>
<div class="col-auto">
<input type="password" id="password" name="password" class="form-control"
aria-describedby="passwordHelpInline">
</div>
<div class="col-auto">
<span id="passwordHelpInline" class="form-text">
Must be 6-20 characters long.
</span>
</div>
</div>
</form>
<button class="btn btn-primary">登入</button>
</div>
<script src="https://cdn.jsdelivr.net/npm/axios@1.7.2/dist/axios.min.js"></script>
<script src="../from-serialize/from-serialize.js"></script>
<script>
// const un = document.querySelector('#username')
// const pw = document.querySelector('#password')
const input = document.querySelector('.login-form')
const btn = document.querySelector('button')
const alt = document.querySelector('.alert')
function alertFn(msg, isSuccess) {
alt.classList.remove('unshow')
let bgStyle = isSuccess ? 'alert-success' : 'alert-danger'
alt.classList.add(bgStyle)
alt.innerText = msg
// alert('用戶名或密碼錯(cuò)誤')
setTimeout(function () {
alt.classList.add('unshow')
alt.classList.remove(bgStyle)
}, 2000)
}
btn.addEventListener('click', () => {
let data = serialize(input, { hash: true, empty: true })
console.log(data);
if (data.username.length < 8) {
alertFn('用戶名長(zhǎng)度不能少于8位', 0)
return //阻止代碼繼續(xù)執(zhí)行
}
else if (data.password.length < 6) {
alertFn('密碼長(zhǎng)度不能少于6位', 0)
return //阻止代碼繼續(xù)執(zhí)行
}
axios({
url: 'https://hmajax.itheima.net/api/login',
method: 'post',
data: {
username: data.username,
password: data.password
}
}).then(result => {
console.log(result);
alertFn(result.data.message, 1)
}).catch(error => {
console.log(error);
alertFn(error.response.data.message, 0)
})
})
</script>
</body>
?
</html>
效果:
1.初始界面:
2.直接登入時(shí)或用戶名長(zhǎng)度少于8位時(shí)(直接點(diǎn)提交):
3.無(wú)密碼時(shí)或密碼少于6位時(shí)(用戶名為 : itheima007):
4.登入失敗時(shí):
5.成功登入(用戶名:itheima007 密碼:7654321):
了一整晚三個(gè)小時(shí)給大家整合的配色網(wǎng)站合集
希望看完可以評(píng)論點(diǎn)贊收藏或者轉(zhuǎn)發(fā)都可以
adobe color
https://color.adobe.com/zh/explore/
搜索過(guò)去4000年來(lái)使用的180個(gè)調(diào)色板
https://colorleap.app/home
Picular是使用谷歌圖像搜索的火箭快速原色發(fā)生器
https://picular.co/
自定義配色網(wǎng)站-我進(jìn)去就蒙了
https://colourco.de/
對(duì)比度測(cè)試網(wǎng)站
https://colorable.jxnblk.com
Palettte App-最終的調(diào)色板編輯和重新映射工具
https://palettte.app
Colorinspire-精選色彩靈感
https://www.colorinspire.io
ColorSpace-調(diào)色板生成器和顏色漸變工具
https://mycolor.space
Pigment-大力推薦,誰(shuí)用誰(shuí)知道
https://pigment.shapefactory.co
Adobe Color-教科書式的取色(同類色、互補(bǔ)色、對(duì)比色...)
https://color.adobe.com/zh/create/color-wheel/
Colors & Fonts-調(diào)色板和字體配對(duì)靈感的集合
https://www.colorsandfonts.com
HueSnap-創(chuàng)建調(diào)色板并與他人共享
https://www.huesnap.com
Culrs-好像沒(méi)什么特別
https://culrs.com/#/
Eva Design System-有點(diǎn)卡
https://eva.design
Scale-我詞窮了,但是真的很棒
https://hihayk.github.io/scale/
Site Palette-真的編不下去了
https://palette.site
BrandColors-要不你們來(lái)試試?
https://brandcolors.net
Colorwise-Product Hunt中搜索投票最多的產(chǎn)品
https://colorwise.io
HTML Color Codes-作用不是太大
https://htmlcolorcodes.com
ColorBox-生成顏色集的顏色工具
https://www.colorbox.io
Generate — Coolors.co-一個(gè)打開(kāi)很快的配色網(wǎng)站
https://coolors.co
Cloudflare Design-用于界面設(shè)計(jì)的調(diào)色板工具
https://cloudflare.design/color/
Instant Duotone Effect Generator-雙色圖
https://medialoot.com/duotones/
Color Tool-為UI創(chuàng)建和共享調(diào)色板
https://material.io/resources/color/#!/?view.left=0&view.right=0
Blendy-類似ps色彩蒙版
https://blendy.ml
LOL Colors-水滴形調(diào)色盤
https://www.webdesignrankings.com/resources/lolcolors/
Color Hunt-誰(shuí)用誰(shuí)知道
https://colorhunt.co
ColorMe-可視化CSS顏色功能
https://colorme.io
Gradient Hunt-漸變色
https://gradienthunt.com
ColorSpark-隨機(jī)生成單色/漸變
https://colorspark.app
Sip-適用于Mac的Sip Color Picker
https://sipapp.io
CoolHue 2.0-獲得免費(fèi)的草圖漸變顏色插件和漸變集合調(diào)色板
https://github.com/webkul/coolhue/releases
Color Koala-打開(kāi)迅速
https://colorkoala.xyz
SchemeColor-用就完了
https://www.schemecolor.com
Free Mesh Gradient Collection-流體漸變
https://www.ls.graphics/meshgradients
WebGradients-支持下載psd和sketch格式
https://webgradients.com
Gradient Buttons-漸變
https://gradientbuttons.colorion.co
ColorKit-編不下去了,自己試試
https://colorkit.io
Eggradients
https://www.eggradients.com
Cool Backgrounds-超級(jí)牛逼的網(wǎng)站一定要試試大力推薦*****
隨便下載一個(gè)都能去昵圖上賣共享分你信我!!!
https://coolbackgrounds.io
GradPad-漸變色
http://ourownthing.co.uk/gradpad.html
Khroma-普通配色
http://khroma.co/train/
Color palettes-配色推薦
https://www.canva.com/colors/color-palettes/
Color Safe-搭配推薦
http://colorsafe.co
Paletton-
https://paletton.com
Colordot-不想配圖,自己感受
https://color.hailpixel.com
Colors-
https://klart.io/colors
Contrast Ratio-輕松計(jì)算顏色對(duì)比度
https://contrast-ratio.com/#red-on-blue
Color Lisa-字體配色
http://colorlisa.com
Color Designer
https://colordesigner.io
Color.review-摸不著頭腦
https://color.review
Blend-
http://www.colinkeany.com/blend/
Contrast-
https://usecontrast.com
Grabient-漸變
https://www.grabient.com
言:萬(wàn)物之始,大道至簡(jiǎn),演化至繁。水滴不染塵世浮華,方能純凈如冰川靈動(dòng)如絲絨。落紅不逐春日絢爛,方有一年春盡一年春。
一、html5的介紹
1.1介紹
html號(hào)稱超文本標(biāo)記語(yǔ)言,代表著瀏覽器技術(shù)發(fā)展的一個(gè)階段。html版本1到版本5的更新迭代都是由組織W3C管理的。當(dāng)時(shí)到html4.1的時(shí)候,W3C組織就聲稱不再更新版本了。而改用XHTML。但是由于瀏覽器的各種不兼容的問(wèn)題,于是乎W3C這個(gè)組織就和其他的瀏覽器產(chǎn)商一起聯(lián)合起來(lái)將這門語(yǔ)言再次更新到html5
比喻:
html5 >機(jī)器人的骨骼
css3 >機(jī)器人的外在修飾
js > 機(jī)器人的行為如行走、抬腿
Jquery > 封裝好的控制行為的庫(kù),可以提高效率
1.2優(yōu)勢(shì)
易用性
支持視頻和音頻
互動(dòng)性高
支持移動(dòng)設(shè)備
未來(lái)的趨勢(shì)
1.3開(kāi)發(fā)工具
HBuild、WebStrom、sublime Text
二、代碼規(guī)范
2.1代碼規(guī)范
新建一個(gè)Web項(xiàng)目
相比html4來(lái)說(shuō),html5的語(yǔ)法更加簡(jiǎn)潔并且在規(guī)定上也更加寬松。
單標(biāo)簽不用寫關(guān)閉符號(hào)
雙標(biāo)簽省略結(jié)束標(biāo)簽
html、head、body、colgroup、tbody可以完全省略
刪除其中一些,打開(kāi)瀏覽器的檢查元素功能,也不會(huì)報(bào)錯(cuò)
三、各類標(biāo)簽
3.1文本標(biāo)簽
b標(biāo)簽:表示關(guān)鍵字和產(chǎn)品名稱。<b>html</b>其實(shí)它的實(shí)際作用就是將一段文字加粗。但是并不是特別強(qiáng)調(diào)它的重要性。比如說(shuō):在一段文字當(dāng)中出現(xiàn)的某些關(guān)鍵字或者產(chǎn)品的名稱就可以用b標(biāo)簽
strong標(biāo)簽:表示比較重要的文字<strong>html</strong>它的作用也是加粗,只是它在強(qiáng)調(diào)一段比較重要的文本
br單標(biāo)簽:換行
wbr標(biāo)簽:安全換行you've no idea how worried <wbr> i was當(dāng)用戶對(duì)網(wǎng)頁(yè)進(jìn)行縮放的時(shí)候可能會(huì)有一些單詞被擠到下一行。如果不行某個(gè)單詞被分離的話,可以使用安全換行標(biāo)簽
i標(biāo)簽:傾斜。em標(biāo)簽語(yǔ)義一樣,但em表示強(qiáng)調(diào)<i>傾斜標(biāo)簽</i>它用于表示外文詞匯或科技術(shù)語(yǔ)
s標(biāo)簽:刪除線。del標(biāo)簽表示強(qiáng)調(diào)。<s>html</s>刪除線
u標(biāo)簽:給文字加下劃線。ins標(biāo)簽表示強(qiáng)調(diào)<u>html</u>下劃線
small標(biāo)簽:添加小號(hào)字體<small>放小一號(hào)</small>將文本放小一號(hào)。通常用于免責(zé)聲明和澄清聲明。
sub和sup標(biāo)簽:添加上標(biāo)和下標(biāo)X<sub>5</sub>和Y<sup>2</sup>(sub和sup長(zhǎng)差不多,這個(gè)要如何去記憶呢?大家可以看到b的肚子在下面,所以呢它是下標(biāo),而p的頭部在上方,所以記錄是上標(biāo)。那這樣一來(lái)是不是就感覺(jué)清晰了許多呢)
q標(biāo)簽:引用來(lái)自其它出處的內(nèi)容<q>有朋自遠(yuǎn)方來(lái)</q>
ruby標(biāo)簽:語(yǔ)言元素。常用于幫助讀者正確發(fā)音。<ruby>夔<rp>(</rp><rt>kui</rt><rp>)</rp></ruby><rp><rt>用來(lái)幫助讀者掌握表意語(yǔ)言文字的正確發(fā)音。比如說(shuō)漢語(yǔ)拼音在文字的上方。
bdo標(biāo)簽:設(shè)置文字方向<bdo dir="rtl">設(shè)置文字方向</bdo>dbo必須使用屬性dir才可以設(shè)置,一共兩個(gè)值:rtl從右到左和ltr從左到右。一般默認(rèn)是ltr。還有一個(gè)bdi元素也是處理方向的,由于是特殊語(yǔ)言的效果,并且主流瀏覽器有些不支持,所以可以忽略。
mark標(biāo)簽:突出顯示文本<mark>突出顯示文本</mark>加上一個(gè)黃色的背景,黑色的字。從語(yǔ)義上來(lái)看,與上下文相關(guān)而突出的文本,用于記號(hào)。
a標(biāo)簽:超鏈接a元素屬于文本元素,有一些私有屬性。
href屬性 <a >百度</a> 這個(gè)屬性是必須的,否則a元素就變得毫無(wú)意義。它的屬性值意味著點(diǎn)擊跳轉(zhuǎn)到指定的外部網(wǎng)站去。
target屬性<a target="_blank">百度</a> 這個(gè)屬性告訴瀏覽器希望打開(kāi)的新窗口顯示在哪里。_blank表示在新窗口中打開(kāi)文檔。_self表示在當(dāng)前窗口打開(kāi)文檔。默認(rèn)_self。(_parent和_top這些要結(jié)合框架來(lái)使用,但是基本上用得已經(jīng)很少了。)
錨點(diǎn)設(shè)置:用于將同一個(gè)文檔中的另一個(gè)元素移入視野。說(shuō)通俗一點(diǎn)就是通過(guò)點(diǎn)擊這個(gè)錨點(diǎn)定位到頁(yè)面中的某個(gè)位置。
<a href="#1">第一節(jié)</a>
<a href="#2">第二節(jié)</a>
<a href="#3">第三節(jié)</a>
</br>
==========以下全都是分隔符============</br>
==========以下全都是分隔符============</br>
==========以下全都是分隔符============</br>
<a name="1">第一節(jié)的內(nèi)容 我?應(yīng)該說(shuō)點(diǎn)啥的。
==========以下全都是分隔符============</br>
==========以下全都是分隔符============</br>
==========以下全都是分隔符============</br>
</a>
==========以下全都是分隔符============</br>
==========以下全都是分隔符============</br>
……以上省略一萬(wàn)行……
==========以下全都是分隔符============</br>
<a name="2">第二節(jié)的內(nèi)容 我?應(yīng)該說(shuō)點(diǎn)啥的。
==========以下全都是分隔符============</br>
==========以下全都是分隔符============</br>
==========以下全都是分隔符============</br>
</a>
3.2分組標(biāo)簽
顧名思義,分組元素就是用來(lái)組織相關(guān)內(nèi)容的html元素,對(duì)它們進(jìn)行清晰有效的分類。
p標(biāo)簽:表示段落<p>這是一個(gè)段落</p> <p>這是一個(gè)段落</p>p標(biāo)簽就是將內(nèi)部包含的文本形成一個(gè)段落。它們可以自動(dòng)換行,而且段落與段落之間保持一定量的空隙。
div標(biāo)簽:通用分組<div>這是一個(gè)塊標(biāo)簽</div> <div>這是另一個(gè)塊標(biāo)簽</div>在早期的版本中經(jīng)常用到,用div將其他數(shù)據(jù)或標(biāo)簽包裹起來(lái),進(jìn)而進(jìn)行布局。但是在html5中,漸漸被其他元素替代。(它與p標(biāo)簽的區(qū)別就是兩段文本間沒(méi)有空隙。空隙間隔和br標(biāo)簽換行一樣)
blockquite標(biāo)簽:引用大段其他地方的內(nèi)容<blockquote>引用別人的內(nèi)容的輔導(dǎo)費(fèi)打發(fā)打發(fā)可以換行哦他也有首尾縮進(jìn)的效果</blockquote>有段落空隙的功能,還包含了首尾縮進(jìn)的功能。
pre標(biāo)簽:按照原格式展示數(shù)據(jù)<pre> 我就是 長(zhǎng)這樣的 參差不齊 </pre>(有時(shí)候某些文字就想要按照原來(lái)的格式顯示出來(lái)就要用到pre標(biāo)簽。它就是將數(shù)據(jù)原封不動(dòng)的顯示出來(lái))
hr標(biāo)簽:?jiǎn)螛?biāo)簽。添加一條分割線。
ul和li標(biāo)簽:添加無(wú)限列表
<ul>
<li>貂蟬</li>
<li>大喬</li>
<li>小喬</li>
<li>孫尚香</li>
</ul>
ul標(biāo)簽表示無(wú)序列表(就像咱們平時(shí)說(shuō)的無(wú)符號(hào)整形,在前面也是加了一個(gè)u),而li標(biāo)簽則表示內(nèi)部的列表項(xiàng)
ol和li:表示有序列表
start屬性:表示從第幾個(gè)序列開(kāi)始統(tǒng)計(jì)。<ol start="2">
reversed屬性:是否倒序排列。<ol reversed>(不過(guò)這個(gè)屬性有很多的瀏覽器不支持,所以要謹(jǐn)慎使用)
type屬性:表示列表的編號(hào)的類型 <ol type="A">
value屬性:這是屬于li的屬性。表示強(qiáng)行設(shè)置某個(gè)項(xiàng)目的編號(hào)。<li value="7">安琪拉</li>
dl、dt、dd:列表標(biāo)簽
<dl>
<dt>第一份內(nèi)容</dt>
<dd>第一行詳細(xì)內(nèi)容</dd>
<dd>第二行詳細(xì)內(nèi)容</dd>
<dl>
雖然說(shuō)這三個(gè)標(biāo)簽是一個(gè)整體,但是dt和dd標(biāo)簽并非都必須出現(xiàn)
figure和figcaption標(biāo)簽:使用插圖的意思。一般用于圖片的布局。
<figure>
<figcaption>這里有一張圖哦</figcaption>
<img src="img.png">
</figure>
3.3表格標(biāo)簽
表格的用途是以網(wǎng)格的形式顯示二維數(shù)據(jù)。開(kāi)發(fā)者可以對(duì)表格中的元素標(biāo)簽設(shè)置不同的屬性如邊框?qū)挾取㈩伾仁贡砀癯尸F(xiàn)出不同的效果。
3.3.1 標(biāo)簽
table:表示表格標(biāo)簽
tr:代表某一行
td:代表一個(gè)單元格。
<table border="1" style="width:300px;">
<tr> <!--相當(dāng)于行-->
<td>王昭君</td> <!--相當(dāng)于每行中的每一列-->
<td>沉魚落雁</td>
<td>法師</td>
</tr>
<tr> <!--相當(dāng)于行-->
<td>貂蟬</td> <!--相當(dāng)于每行中的每一列-->
<td>羞花閉月</td>
<td>刺客</td>
</tr>
</table>
th:代表標(biāo)題單元格。代表標(biāo)題,作用是將內(nèi)部文字居中且加粗。
<tr>
<th>姓名</th>
<th>特征</th>
<th>職業(yè)</th>
</tr>
thead:代表表頭。(某些時(shí)候,網(wǎng)頁(yè)上的表頭是由js動(dòng)態(tài)生成的。有可能沒(méi)按照先后的順序排列,如此一來(lái)表頭就有可能顯示到第二行、第三行甚至是表尾。用thead將tr括起來(lái)可以讓數(shù)據(jù)永遠(yuǎn)顯示在第一行)
<thead>
<tr>
<th>姓名</th>
<th>特征</th>
<th>職業(yè)</th>
</tr>
tfoot:表示表尾:與表頭相反
tbody:表示表格的主體部分
(這里非常建議用分主體、表頭、表尾的方式寫。因?yàn)榈胶笃谑褂肅SS樣式的時(shí)候只要拿到某個(gè)標(biāo)簽就可以設(shè)置總體的樣式了,這樣就會(huì)非常方便)
caption:添加表格的標(biāo)題
colgroup:群組。用于設(shè)置列的屬性。默認(rèn)設(shè)置第一個(gè)(有的時(shí)候需要設(shè)置單獨(dú)列的屬性,如果說(shuō)我只想設(shè)置第二列的屬性,則需要把第一列的設(shè)置成白色)
<!--<table border="1" style="width:300px;">-->
<colgroup style="background:white;" span="1"></colgroup> <!--設(shè)置第一個(gè)顏色為白-->
<colgroup style="background:red;" span="1"></colgroup> <!--設(shè)置第二個(gè)顏色為紅 span代表一列-->
col:群組的子標(biāo)簽。更加靈活的設(shè)置列屬性。通過(guò)占位符設(shè)置不需要的屬性。
<colgroup>
<col> <!--占位,表示第一列不設(shè)置-->
<col style="background: pink;">
</colgroup>
3.3.2屬性
border:表示邊框的寬度 <table border="1"></table>
style:通用屬性。在css中做詳解。
colspan:合并列 <td colspan="3">統(tǒng)計(jì)</td>這句代碼表示共占三個(gè)單元格
rowspan:合并行
<tr>
<th rowspan="4">學(xué)員</th>
<th>姓名</th>
<th>特征</th>
<th>職業(yè)</th>
</tr>
3.3文檔元素
文檔元素的主要作用是劃分各個(gè)不同的內(nèi)容,讓整個(gè)布局更加清晰。 進(jìn)入代替div。讓整個(gè)布局元素都具有語(yǔ)義。
header標(biāo)簽:表示頁(yè)面頭部。通常包括標(biāo)題或?qū)Ш降葍?nèi)容。下面內(nèi)容會(huì)換行(在頁(yè)面中一般會(huì)用樣式將它設(shè)置到居中)
footer標(biāo)簽:表示頁(yè)面的尾部,一般用于版權(quán)聲明、友情鏈接等。
h1-h6標(biāo)簽:標(biāo)題標(biāo)簽,有字體加粗的效果。從1-6字號(hào)依次減小
<h1>這里是一個(gè)大標(biāo)題</h1> <h3>這里是一個(gè)副標(biāo)題</h3>
hgroup:組合標(biāo)題。hgroup的作用就是當(dāng)多個(gè)標(biāo)題出現(xiàn),干擾到一對(duì)或多個(gè)本身需要整合的標(biāo)題。
<header>
<hgroup>
<h1>這里是一個(gè)大標(biāo)題</h1>
<h3>這里是一個(gè)副標(biāo)題</h3>
</hgroup>
</header>
<footer>
<h4>這里是尾部的副標(biāo)題</h4>
這里存放頁(yè)面的尾部:如版權(quán)聲明,友情鏈接
</footer>
如上面那段代碼,頭部的h4標(biāo)題就能與h1綁定起來(lái),從而和尾部的h4分離。
section標(biāo)簽: 定義一個(gè)文檔的主題內(nèi)容
nav標(biāo)簽: 給文檔頁(yè)面添加一個(gè)導(dǎo)航
aritcle標(biāo)簽:添加一個(gè)獨(dú)立成篇的文檔(像平常看到的論壇,貼吧,評(píng)論都有自己的頭、尾和內(nèi)容等)
<article>
<header>
<nav>……</nav>
</header>
</article>
aside標(biāo)簽:生成注釋欄。
<aside>這是一個(gè)注釋欄</aside>
address表示文檔或者是article元素的聯(lián)系信息
<address>聯(lián)系信息</address>
本身有傾斜的效果。如果是在article元素下表示其下的聯(lián)系信息,如果是在body元素下表示整個(gè)文檔的聯(lián)系信息
3.4嵌入元素
嵌入元素主要功能是把外部的一些資源插入到html中。
img標(biāo)簽:用于顯示圖片
src:嵌入圖像的url
alt:(如果圖片能正常顯示則沒(méi)有任何效果。若圖片加載不成功會(huì)出現(xiàn)備用內(nèi)容)
width/height:定義圖片的寬度和高度,單位是像素<img src="img.png" alt="風(fēng)景圖" width="320" height="400"/>
ismap:獲取到圖片區(qū)域的像素點(diǎn)加入了ismap屬性之后,點(diǎn)擊圖片在瀏覽器中就會(huì)獲得圖片被點(diǎn)擊的地方的像素點(diǎn)。(把文件在目錄中打開(kāi),講文件拷貝到谷歌瀏覽器打開(kāi)就能看見(jiàn))
<a href="index.html">
<img ismap src="img_5.jpg" alt="風(fēng)景圖">
</a>
usemap:創(chuàng)建分區(qū)的響應(yīng)圖。比如說(shuō)點(diǎn)擊圖片的某一部分,可以跳轉(zhuǎn)到某一個(gè)網(wǎng)頁(yè)。(當(dāng)點(diǎn)擊了coords這塊區(qū)域時(shí),跳轉(zhuǎn)到指定的網(wǎng)頁(yè))
<img src="img_5.jpg" usemap="#Map" />
<map name="Map">
<area shape="circle" coords="31,28,112,100" target="_blank" alt="方形">
</map>
iframe標(biāo)簽:嵌入另一個(gè)文檔。表示在一個(gè)頁(yè)面內(nèi)建立一個(gè)區(qū)域引入另一個(gè)頁(yè)面。
<a href="index.html" >index</a>
<a target="in">百度</a>
<iframe src="http://www.baidu.com" width="300" heigth="300" name="in"></iframe>
progress標(biāo)簽:用于顯示進(jìn)度
該標(biāo)簽會(huì)產(chǎn)生一個(gè)進(jìn)度條,一般我們會(huì)用js代碼來(lái)控制其內(nèi)部的值。(當(dāng)前值用value來(lái)表示,而最大值用max來(lái)表示)
<progress value="30" max="100"></progress>
meter標(biāo)簽:顯示范圍里的值(類似于進(jìn)度條,可以規(guī)定最大值和最小值max/min。low值規(guī)定它的值過(guò)低,high表示值過(guò)高。而optimun表示最佳值,但是這個(gè)屬性是呈現(xiàn)不出效果的)
<meter value="90" min="10" max="100" low="40" high="80" optimum="60"></meter>
3.5音頻和視頻標(biāo)簽
音頻和視頻文件其實(shí)都只是一個(gè)容器文件。視頻文件包含了音頻軌道、視頻軌道和其他一些元數(shù)據(jù)。視頻播放時(shí),音頻軌道和視頻軌道是綁定在一起的。元數(shù)據(jù)包含了視頻的封面、標(biāo)題字幕等信息。在網(wǎng)頁(yè)實(shí)現(xiàn)中,有很多的瀏覽器廠商都有自己的標(biāo)準(zhǔn),所以html5規(guī)范也沒(méi)有強(qiáng)制指定編解碼器了。所以在網(wǎng)頁(yè)上嵌入視頻和音頻時(shí),最好提供mp4格式和webM格式的視頻。否則有可能由于瀏覽器不兼容的問(wèn)題導(dǎo)致視頻不能播放。
video標(biāo)簽: 視頻標(biāo)簽屬性:
src:視頻資源的url
width:視頻寬度
height:視頻高度
<video src="test.mp4" width="320" height="400"></video>
controls:設(shè)置后顯示播放控件(未設(shè)置這個(gè)屬性時(shí),視頻就像一張圖片,設(shè)置controls之后才能顯示視頻播放控件)
<video src="test.mp4" width="320" height="400" controls></video>
autoplay:表示立即播放視頻
loop:反復(fù)播放視頻(也就是說(shuō)在播放結(jié)束之后會(huì)重新播放視頻)
muted:設(shè)置之后,視頻會(huì)處于靜音狀態(tài)
poster:指定視頻數(shù)據(jù)載入時(shí)顯示的圖片。(相當(dāng)于視頻的一個(gè)封面)
<video src="test.mp4" width="320" height="400" controls
poster="img_5.jpg"></video>
preload:預(yù)加載。不設(shè)置會(huì)在第一次播放自動(dòng)緩存。如果值為none會(huì)直到用戶點(diǎn)擊時(shí)再加載視頻。如果值為metadata表示播放之前只加載第一幀。auto是默認(rèn)的,表示要求瀏覽器盡快的加載視頻。
兼容多個(gè)瀏覽器 source標(biāo)簽
<video src="test.mp4" width="320" height="400" controls poster="img_5.jpg">
<source src="test.webm"/>
<source src="test.mp4"/>
</video>
audio標(biāo)簽:用于嵌套音頻內(nèi)容。屬性與視頻元素類似。只是沒(méi)有寬高設(shè)置和圖片。
<audio src="test.mp3" controls></audio>
3.6表單標(biāo)簽
表單標(biāo)簽是用于獲取用戶的輸入數(shù)據(jù)的。
form標(biāo)簽:表示定義html表單。用該標(biāo)簽包含的標(biāo)簽具有提交功能。也就是說(shuō),在瀏覽器的地址欄里面能獲取到用戶的信息。(如果不定義表單,那么它是無(wú)法提交數(shù)據(jù)的)
<form>
用戶名:<input name="user">
<button>提交</button>
</form>
屬性
action:表示表單提交到的頁(yè)面(也就是要把數(shù)據(jù)傳入到哪個(gè)頁(yè)面中)
method:表示表單的提交方式。默認(rèn)是get。而get和post請(qǐng)求的區(qū)別就是post后面不跟請(qǐng)求體。也就是用戶信息。相對(duì)來(lái)說(shuō)更加的安全。(一般來(lái)說(shuō),get是用于超鏈接提交居多,post用作表單提交居多)
<form method="post" action="http://www.haosou.com"></from>
enctype:表示瀏覽器對(duì)發(fā)送給服務(wù)器的數(shù)據(jù)采用的編碼格式。有三種格式。默認(rèn)是不能將文件上傳到服務(wù)器”application/x-www-form-urlencoded“、multipart/form-data用于將文件上傳到服務(wù)器、text/plain不建議使用
name:設(shè)置表單名稱,以便程序調(diào)用
target:提交的目標(biāo),與超鏈接無(wú)異
autocomplete:設(shè)置瀏覽器記錄用戶輸入的信息。分為on和off兩個(gè)值。默認(rèn)為on。
novalidate:設(shè)置是否執(zhí)行客戶端數(shù)據(jù)有效性檢查
input標(biāo)簽:表示用來(lái)收集用戶輸入數(shù)據(jù)的控件。它默認(rèn)會(huì)出現(xiàn)一個(gè)單行的文本框。
type:文本框的類型。值為text時(shí)表示單行文本框;值為password表示密碼框;值為search時(shí),除了火狐瀏覽器的其他瀏覽器外,會(huì)顯示一個(gè)叉來(lái)取消搜索內(nèi)容,值為number時(shí),表示只限于數(shù)字輸入;值為range時(shí),生成一個(gè)數(shù)值范圍文本框;當(dāng)type為date系列時(shí),可以獲取日期和時(shí)間的值,有六種形態(tài)date、month、time、week、datetime、datetime-local;當(dāng)值為color代表可以獲取不同的顏色;當(dāng)值為checkbox、radio時(shí)表示復(fù)選框和單選。單選的name值必須一樣。checked表示默認(rèn)勾選狀態(tài)值為img是表示產(chǎn)生一張圖片按鈕,后面可以接src,alt,width等熟悉值為email,tel,url時(shí)表示輸入電子郵件、電話和網(wǎng)址格式值為hidden時(shí),生成一個(gè)隱藏控件(看不見(jiàn),但提交的時(shí)候會(huì)顯示,一般用于關(guān)聯(lián)主鍵id提交)值為file的時(shí)候,表示上傳文件。accept屬性表示限制文件<input type="text">
音樂(lè)<input type="checkbox" checked>
體育<input type="checkbox">
<input type="radio" name="sex" value="男" checked>男
<input type="radio" name="sex" value="女">女
<input type="hidden" value="1" name="id">
<input type="file" accept="image/gif">
maxlength:設(shè)置文本框最大字符長(zhǎng)度
readonly:設(shè)置文本框?yàn)橹蛔x狀態(tài)。可以提交但是不能修改文本框的值。
placeholder:占位符
size:設(shè)置文本框的寬度
required:表明用戶必須輸入一個(gè)值,否則無(wú)法通過(guò)輸入驗(yàn)證
<input type="text" list="abc" required>
autofocus:讓光標(biāo)聚焦在某個(gè)input元素上,方便用戶直接輸入。<input name="user" autofocus>
disabled:禁止input元素 (連點(diǎn)擊都不能)
list:為文本框提供建議值
<form>
<input type="text" list="abc">
<button>提交</button>
</form>
<datalist id="abc">
<option value="1">湖南</option>
<option value="2">海南</option>
</datalist>
value:默認(rèn)在輸入框內(nèi)出現(xiàn)的值
form:與表單外的數(shù)據(jù)掛鉤一遍提交
<form id="register" name="reg" action="index.html">
用戶名:<input name="user">
<button>提交</button>
</form>
年齡:<input name="age" form="register">
label標(biāo)簽:把文字和input標(biāo)簽包裹起來(lái)可以方便設(shè)置樣式,并且當(dāng)用戶點(diǎn)擊文字的時(shí)候,光標(biāo)會(huì)自動(dòng)移入到對(duì)應(yīng)的input框。(如果只是設(shè)置了文字用label包裹,又想點(diǎn)擊文字將標(biāo)簽自動(dòng)移入對(duì)應(yīng)的框,可以將label的屬性for的值設(shè)置成與input的id設(shè)置成一樣)
<label for="user"> 用戶名:</label>
<input id="user" name="user">
fieldset標(biāo)簽:對(duì)表單進(jìn)行編組。三個(gè)屬性name、form、disabled
legend標(biāo)簽:添加分組說(shuō)明的標(biāo)簽(也就是說(shuō)給分組加上一個(gè)標(biāo)題)
<fieldset>
<legend>注冊(cè)分組</legend>
<label for="user"> 用戶名:</label>
<input id="user" name="user">
<button>提交</button>
</fieldset>
button標(biāo)簽:創(chuàng)建一個(gè)按鈕。type屬性有三個(gè)值,submit表示提交,reset表示重置,也就是把input的值變成初始值。button表示一個(gè)普通的按鈕。
select標(biāo)簽:下拉列表。需要和option標(biāo)簽配合使用。
name屬性:設(shè)定提交時(shí)的名稱
disabled屬性:將下拉列表禁用
form屬性:將表單外部與內(nèi)部掛鉤
size屬性:下拉列表的個(gè)數(shù)
multiple屬性:設(shè)置是否可以多選
required:選擇驗(yàn)證,必須選擇后才能通過(guò)
<select name="fruit" size="5" multiple >
<!--value值是真正要提交上去的值,而后面的是顯示到頁(yè)面的值-->
<option value="1">花花菇?jīng)?lt;/option>
<option value="2">文小喵</option>
</select>
optgroup標(biāo)簽:對(duì)列表進(jìn)行分組選擇。
<form action="http://www.baidu.com">
<select name="fruit" multiple size="5">
<optgroup label="表情包">
<option value="1">花花菇?jīng)?lt;/option>
<option value="2">文小喵</option>
</optgroup>
<optgroup label="書">
<option value="4" selected>微微一笑很傾城</option>
<option value="5">神雕俠侶</option>
</optgroup>
</select>
<button>提交</button>
</form>
textarea標(biāo)簽:生成一個(gè)可變大小的多行文本框
<!--wrap表示是否插入換行符 有soft和hard兩種。hard提交之后在地址欄可以看見(jiàn)%插入的隱藏?fù)Q行符-->
<textarea name="content" rows="20" cols="30" wrap="hard"></textarea>
pattern:正則表達(dá)式。開(kāi)頭和結(jié)尾用^和$ novalidate屬性表示不要驗(yàn)證該表單
<input type="text" placeholder="請(qǐng)輸入?yún)^(qū)號(hào)和座機(jī)" pattern="^[\d]{2,4}\-[\d]{6,8}$">
html對(duì)網(wǎng)頁(yè)頁(yè)面的布局或者是表單驗(yàn)證等功能都相對(duì)簡(jiǎn)陋,并且不同的瀏覽器支持的成熟度是不盡相同的。因此在大部分情況下,還是要借助js或jqury等前端庫(kù),來(lái)呈現(xiàn)豐富多彩的驗(yàn)證效果。
*請(qǐng)認(rèn)真填寫需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。