關(guān)于HTML砸狞、CSS與JS
1 HTML、CSS與JS定義
HTML(Hyper Text Markup Language镀梭,HTML)超文本標(biāo)記語(yǔ)言刀森,由Web的發(fā)明者 Tim Berners-Lee和同事 Daniel W. Connolly于1990年創(chuàng)立的一種標(biāo)記語(yǔ)言。超文本是一種組織信息的方式报账,也是網(wǎng)頁(yè)的一種規(guī)范和標(biāo)準(zhǔn)研底。它通過(guò)特殊的標(biāo)簽語(yǔ)法將文字、圖形透罢、視頻榜晦、聲音、動(dòng)畫(huà)羽圃、表格和鏈接等有序的組織起來(lái)乾胶,生成一個(gè)HTML文件,即網(wǎng)頁(yè)文件朽寞。文件名以.html或.htm結(jié)尾(.htm為了兼容過(guò)去DOS命名格式而存在)识窿。
CSS(Cascading Style Sheets,CSS)層疊樣式表愁憔,是一種樣式修飾語(yǔ)言腕扶,用于改變網(wǎng)頁(yè)文件的顯示效果,包括內(nèi)容顏色吨掌、大小半抱、動(dòng)畫(huà)以及排版等脓恕。CSS文件使用屬性選擇器作用于網(wǎng)頁(yè)文件中特定的區(qū)域,常用的屬性選擇器包括CLASS屬性選擇器和ID選擇器窿侈。文件名以.css結(jié)尾炼幔。
JS(JavaScript,JS)腳本語(yǔ)言史简,是一種解釋型編程語(yǔ)言乃秀,主要用來(lái)為網(wǎng)頁(yè)添加交互行為以及進(jìn)行邏輯運(yùn)算。由于JS不依賴(lài)操作系統(tǒng)僅需要瀏覽器的支持圆兵,因此JS腳本具有跨平臺(tái)性跺讯,只要瀏覽器支持便可以在任意機(jī)器上使用。與服務(wù)端腳本文件PHP和ASP不同殉农,JS腳本文件主要用于客戶(hù)端刀脏。文件名以.js結(jié)尾。
2 HTML超凳、CSS與JS的發(fā)展
| HTML 1.0 | 1993年6月作為互聯(lián)網(wǎng)工程工作小組(IETF)工作草案發(fā)布 |
|:-:|:-:|:-:|
| HTML 1.0 | 1993年6月作為互聯(lián)網(wǎng)工程工作小組(IETF)工作草案發(fā)布 |
| HTML 2.0 | 1995年11月作為RFC 1866發(fā)布愈污,于2000年6月發(fā)布后被宣布過(guò)時(shí) |
| HTML 3.2 | 1997年1月14日,W3C推薦標(biāo)準(zhǔn) |
| HTML 4.0 | 1997年12月18日轮傍,W3C推薦標(biāo)準(zhǔn) |
| HTML4.01(微小改進(jìn)) | 1999年12月24日暂雹,W3C推薦標(biāo)準(zhǔn) |
| HTML 5| 公認(rèn)的下一代Web語(yǔ)言,極大地提升了Web在富媒體创夜、富內(nèi)容和富應(yīng)用等方面的能力杭跪,被喻為終將改變移動(dòng)互聯(lián)網(wǎng)的重要推手 |
| CSS1.0(第一版)|1996年12月W3C推出CSS第一版 |
| CSS2.0(第二版)| 1998年5月W3C發(fā)布CSS第二版 |
| CSS3.0(第三版) | 2001年5月23日CSS3草案完成 |
優(yōu)缺點(diǎn):
CSS1:初代table布局
優(yōu)點(diǎn): 布局容易、快捷挥下、兼容性好
缺點(diǎn): 改動(dòng)不便揍魂、需要重新調(diào)整、工作量大
CSS2:CSS+div布局
優(yōu)點(diǎn): 學(xué)習(xí)容易棚瘟、方便快捷现斋、代碼量少
缺點(diǎn): 1.平臺(tái)兼容性不好,技能要求較高偎蘸。
2.在移動(dòng)端布局有些力不從心庄蹋,如未知寬高float內(nèi)部元素居中、 垂直水平布局迷雪、響應(yīng)式布局等方面略顯繁瑣限书。
CSS3:Flex布局
優(yōu)點(diǎn): 可以在不使用其他框架的情況下,簡(jiǎn)便章咧、完整倦西、響應(yīng)式地實(shí)現(xiàn)各 種頁(yè)面布局 、移動(dòng)端布局友好
缺點(diǎn): 兼容性較差赁严,IE瀏覽器版本在9.0以上扰柠,基本要10.0 對(duì)于其他 瀏覽器粉铐,要求兼容性寫(xiě)法
(注:CSS3語(yǔ)言開(kāi)發(fā)是朝著模塊化發(fā)展的,把以前的規(guī)范分解為一些小的卤档、相互獨(dú)立的模塊蝙泼,更多新的模塊也被加入進(jìn)來(lái)。由于將新需求作為一個(gè)新模塊來(lái)立項(xiàng)并進(jìn)行標(biāo)準(zhǔn)化劝枣,后面不會(huì)再有CSS4汤踏、CSS5這種所謂大版本號(hào)的變更,而是CSS某個(gè)模塊級(jí)別的升級(jí))
CSS3****兼容問(wèn)題:
CSS3還未成為真正的標(biāo)準(zhǔn)舔腾,但卻提供了針對(duì)瀏覽器的前綴:
Chrome(谷歌瀏覽器):-webkit-
Safari(蘋(píng)果瀏覽器):-webkit-
Firefox(火狐瀏覽器):-moz-
lE(IE瀏覽器):-ms-
Opera(歐朋瀏覽器):-0-
JavaScript的語(yǔ)法標(biāo)準(zhǔn)為ECMAScript溪胶,其發(fā)展過(guò)程如下表[1]。
| 版本號(hào) | 發(fā)布時(shí)間 | 主要新增內(nèi)容 |
| ECMAScript1 | 1997-06 | |
| ECMAScript2 | 1998-06 | |
| ECMAScript3 | 1999-12 | 正則表達(dá)式 | switch | do-while | try-catch等 |
| ECMAScript4 | 2008-07 | 被廢棄 |
| ECMAScript5 | 2009-12 | 嚴(yán)格模式 | getters | setters | JSON的解析 等 |
| ECMAScript6 | 2015-06 | let 和const | 解構(gòu)賦值 | 擴(kuò)展運(yùn)算符 | 箭頭函數(shù) 等 |
| ECMAScript7(ECMAScript 2016) | 2016 | Array.prototype.includes() | 求冪運(yùn)算符 等|
| ECMAScript8(ECMAScript 2017) | 2017| 異步函數(shù) | 共享內(nèi)存 |?Atomics等 |
| ECMAScript9(ECMAScript 2018) | 2018 | 異步迭代 |?Rest/Spread?屬性 等 |
3 HTML琢唾、CSS與JS之間的關(guān)系
HTML载荔、CSS與JS之間的關(guān)系可以簡(jiǎn)單的理解為HTML為網(wǎng)頁(yè)內(nèi)容,CSS給其添加樣式修飾采桃,JS給其添加行為修飾。
3.1 HTML 中引入 CSS
1)內(nèi)聯(lián)方式
在 HTML 標(biāo)簽中的 style 屬性中添加CSS代碼
<div style="background: red"></div>
2)嵌入方式
在 HTML 頭部中的 <style> 標(biāo)簽下添加CSS代碼
<head>
<style>
.content {
background: red;
}
</style>
</head>
3)鏈接方式
在 HTML 頭部中的 <head> 標(biāo)簽下引入外部CSS 文件
<head>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
4)導(dǎo)入方式
使用 CSS 規(guī)則引入外部 CSS 文件(受版本限制丘损,@import 是 CSS2.1 才出現(xiàn)的概念)
<style>
@import url(style.css);
</style>
3.2 HTML 中引入 JS
1) 在head中添加js
<script type="text/javascript">
function onClick() {}
</script>
2)在body中添加js
function onClick () {}
</script>
3)引入外部JS文件
<script type="text/javascript" src="index.js" ></script>