HTML 是一種描述網頁語言, 指的是超文本標記語言 (Hyper Text Markup Language)。其中,超文本指的是網頁上可以包含圖片,視頻,連接信息。標記也叫做標簽,所以標簽書寫的是<內容>。語言就是一種交流工具,HTML 是用戶與瀏覽器之間交互工具。
簡單說,HTML 是由瀏覽器解析執行的,它不會將 HTML 標簽展示出來,而是會解析 HTML 標簽,以特定效果展示出來。
<html>
<head>HEAD</head>
<body>BODY</body>
</html>
可以使用 JetBrains WebStorm 或者 VS Code 進行開發。
<html> 代表當前書寫的是一個 HTML 文檔
<head> 存儲的本頁面的一些重要的信息,它不會顯示
標簽下有一個子標簽 <title> 它是用于定義頁面的標題的
<body> 書寫的內容會顯示出來,屬性:1. text 用于設置文字顏色;2. bgcolor 用于設置頁面的背景色;3. background 用于設置頁面的背景圖片
<!-- 注釋不會在瀏覽器中顯示 -->
br 標簽就是一個換行功能標簽
在 p 標簽中的內容會在開始與結束之間產生一個空白行并且它會自動換行
常用屬性 align 的作用是設置段落中的內容對齊方式,可取值有 left right center
hr 標簽會在頁面上產生一個水平線
常用屬性:
align:可取值有 left right center 代表水平線位置
size:代表水平線高度(厚度)
width:代表水平線寬度
color:水平線的顏色
兩種方式:
Div 是一個塊標簽
Div 與 CSS 結合,會更好對頁面進行排版
Span 標簽也是一個塊標簽Div 與 span 區別:Div 會自動換行,我們也叫這樣的標簽為行級元素Span 標簽它不會自動換行,我們也叫它為行內元素
Font 標簽可以設置字體,字的大小及顏色
常用屬性:
Face:用于設置字體,例如 宋體 隸書 楷體
Size:用于設置字的大小
Color:用于設置字的顏色
我們所看到的屏幕上所有的顏色都是由紅、綠、藍這三種基色調混合而成的。每一種顏色的飽和度和透明度都是可以變化的,用 0~255 的數值來表示。如純紅色表示為 (255,0,0),十六進制表示為 #FF0000。按這種表達方式,理論上我們可以得到 256 * 256 *256=16777216 種顏色。
<h1> 最大 <h6> 最小,它們代表的是標題,可以使用 <b> <i> 對文字設置加粗或傾斜
注意:在 HTML 中允許標簽進行嵌套的,但是一般都包裹嵌套,而不可以進行交叉嵌套
有序清單:
<!-- 有序列表 I II III-->
<ol type="I" start="3">
<li>張三</li>
<li>李四</li>
<li>王五</li>
</ol>
<!-- 無序列表 -->
<ul type="square">
<li>Java</li>
<li>Python</li>
<li>C#</li>
</ul>
<img> 可以讓我們在網頁引入一張圖片
常用屬性
<a> 標簽可以實現跳轉到其它頁面操作。超鏈接內容不僅可以是文本,也可以是圖片等信息
常用屬性
<!-- 學習表格標簽 -->
<table border="2" align="center" width="400px">
<caption>學生成績單</caption>
<tr>
<th>姓名</th>
<th>語文成績</th>
<th>數學成績</th>
<td colspan="2" align="center"><b>操作</b></td>
</tr>
<tr align="center">
<td>張三</td>
<td>99</td>
<td>100</td>
<td>修改</td>
<td>刪除</td>
</tr>
<tr align="center">
<td>李四</td>
<td>90</td>
<td>66</td>
<td>修改</td>
<td>刪除</td>
</tr>
</table>
通過表單可以將要提交的數據提交到指定的位置
<!-- 表單:用戶注冊案例 -->
<form name="form1" action="user/login" method="POST">
<table border="1" width="64%" align="center">
<tr>
<td>用戶名:</td>
<td>
<input type="text" name="username">
</td>
</tr>
<tr>
<td>密碼:</td>
<td>
<input type="password" name="password">
</td>
</tr>
<tr>
<td>性別:</td>
<td>
<input type="radio" name="sex" checked="checked">男
<input type="radio" name="sex" >女
</td>
</tr>
<tr>
<td>地址:</td>
<td>
<select name="province">
<option value="0">--請選擇省--</option>
<option value="10001">廣東</option>
<option value="10002">上海</option>
<option value="10003">山東</option>
</select> 省
<select name="city">
<option>--請選擇市--</option>
<option value="1000301">廣州市</option>
<option>深圳市</option>
<option>東莞市</option>
</select> 市
</td>
</tr>
<tr>
<td>編程語言:</td>
<td>
<input type="checkbox" name="language" checked="checked">Java
<input type="checkbox" name="language">Python
<input type="checkbox" name="language">Go
</td>
</tr>
<tr>
<td>照片:</td>
<td>
<input type="file" name="image">
</td>
</tr>
<tr>
<td>自我介紹:</td>
<td>
<textarea name="remark" rows="5" cols="100"></textarea>
</td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" value="注冊">
<input type="reset" value="取消">
</td>
</tr>
</table>
</form>
通過框架標簽可以定制 HTML 頁面布局
在 HTML 頁面上去描述框架信息時,不可以將 <frameset> 寫在 <body> 標簽中
framesetTest.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>HTML 框架標簽</title>
</head>
<!-- rows 定義了三行:第一行 100 像素,第三行:100 像素;第二行:剩下的像素 -->
<frameset rows="100, * , 100">
<frame name="topModule" src="./top.html"></frame>
<frameset cols="100, * ">
<frame name="menuModule" src="./menu.html"></frame>
<frame name="contentModule" src="./content.html"></frame>
</frameset>
<frame name="footModule" src="./foot.html"></frame>
</frameset>
</html>
top.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>top</title>
</head>
<body>
<div>頭部信息</div>
</body>
</html>
foot.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>footL</title>
</head>
<body>
<div>底部信息</div>
</body>
</html>
menu.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>menu</title>
</head>
<body>
<div>菜單信息</div>
</body>
</html>
content.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>content</title>
</head>
<body>
<div>內容顯示區</div>
</body>
</html>
<meta> 標簽必須寫在 <head> 標簽之間
使用 link 標簽來導入 CSS
詳情查看菜鳥教程:https://www.runoob.com/charsets/ref-html-ascii.html
DOM, Document Object Model -- 文檔對象模型,是 HTML 和 XML 文檔的編程接口,以樹結構表達 HTML 文檔。
DOM 是 W3C(萬維網聯盟)的標準。
DOM 定義了訪問 HTML 和 XML 文檔的標準。
W3C DOM 標準被分為 3 個不同的部分:
DOM 是被視為節點樹的 HTML。
根據 W3C 的 HTML DOM 標準,HTML 文檔中的所有內容都是節點:
HTML DOM 將 HTML 文檔視作樹結構,這種結構被稱為節點樹。
節點樹中的節點彼此擁有層級關系。常用父(parent)、子(child)和同胞(sibling)等術語來描述這些關系。父節點擁有子節點。同級的子節點被稱為同胞(兄弟或姐妹)。
HTML DOM 方法是可以在節點(HTML 元素)上執行的動作。
HTML DOM 屬性是可以在節點(HTML 元素)設置和修改的值。
可通過 JavaScript (以及其他編程語言)對 HTML DOM 進行訪問。所有 HTML 元素被定義為對象,而編程接口則是對象方法和對象屬性。方法是能夠執行的動作(比如添加或修改元素)。屬性是能夠獲取或設置的值(比如節點的名稱或內容)。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>DOM</title>
</head>
<body>
<div id="div1">
<p id="p1">Hello</p>
<p id="p2">Hello</p>
</div>
<script>
// 先獲取 P 元素
var element = document.getElementById("p1")
// 直接修改 p 元素的內容
element.innerHTML = "此時已是修改后的內容"
// 修改 p2 標簽的樣式
var ele = document.getElementById("p2")
ele.style.color="blue"
ele.style.fontFamily="宋體"
ele.style.fontSize="larger"
// 添加元素
// 創建一個p元素
var elementP = document.createElement("p")
// 創建一個內容
var nodeText = document.createTextNode("新加的 P 元素")
// 把文字內容添加到p元素中
elementP.appendChild(nodeText)
// 把新創建的p元素添加div1元素中
var div1 = document.getElementById("div1")
div1.appendChild(elementP)
// 插入添加新的元素
// 創建一個新的元素
var eleP = document.createElement("p")
// 創建一個內容
var noText = document.createTextNode("在 P1 元素前添加的新元素")
// 把文字內容添加到 p 元素中
eleP.appendChild(noText)
// 把新創建的 p 元素添加 div 1 元素中
var parentDiv1 = document.getElementById("div1")
// 獲取指定被添加的元素
var p1 = document.getElementById("p1")
// 在元素前添加;參數說明:1.要添加的元素;2.在那個元素之前添加(指定一個元素)
parentDiv1.insertBefore(eleP, p1)
// 刪除元素
// 獲取父元素
var pdiv1 = document.getElementById("div1")
var removep1 = document.getElementById("p1")
// 使用父元素刪除該元素
pdiv1.removeChild(removep1)
</script>
</body>
</html>
HTML DOM 允許 JavaScript 對 HTML 事件作出反應。當事件發生時,可以執行 JavaScript,比如發生用戶點擊一個 HTML 元素的事件。
如需在用戶點擊某個元素時執行代碼,可以把 JavaScript 代碼添加到 HTML 事件屬性中:onclick=JavaScript
HTML 事件的例子:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>DOM 事件</title>
<!-- JavaScript 代碼必須寫在 script 中 -->
<script>
function onLoadFun(){
alert("已載入...");
}
// 文本框失去焦點事件
function onBlurFun(){
alert("此方法是文本框失去焦點事件,用來校驗此文本框輸入數據的")
}
// 表單被提交時執行事件
function onSubmitFun(){
alert("此表單已提交,這個方法也可以來作為數據校驗的");
}
// 元素被改變時觸發事件
function onChangeFun(){
alert("文本框元素已輸入新的數據")
}
// 當鼠標懸停在某一個元素上時執行的方法
function onMouseOverFun(element){
element.innerHTML = "鼠標已停在H1元素上了"
}
// 當鼠標離開某一個元素時執行事件
function onMouseOutFun(element){
element.innerHTML = "鼠標已離開H1元素上了..."
}
</script>
</head>
<!-- 需求:當頁面被載入時,執行一個代碼,彈框提示已載入 -->
<body onload="onLoadFun()">
<!-- 需求:在一個表單中有用戶名錄入的文本框,當輸入完文本框的時候進行名稱校驗,提交的時候彈框顯示 -->
<form onsubmit="onSubmitFun()">
用戶名:<input id="username" name="username" onchange="onChangeFun()" >
<br/>
<button type="submit">提交</button>
</form>
<!-- 需求:有一個 H1 標簽元素,當鼠標移動到 H1 元素上時,修改文字,當鼠標移出元素時執行事件 -->
<h1 onmouseover="onMouseOverFun(this)" onmouseout="onMouseOutFun(this)">我是一個標題</h1>
</body>
</html>
想了解更多,歡迎關注我的微信公眾號:Renda_Zhang
今主流的技術中,可以分為前端和后端兩個門類。
前端:簡單的理解就是和用戶打交道
后端:主要用于組織數據
而前端就Web開發方向來說, 分為三門語言, HTML、CSS、JavaScript
語言 | 作用 |
HTML | 描述頁面的結構,類似于動物的骨架 |
CSS | 渲染技術,使得頁面更好看,也可以一定程度的讓頁面動起來 |
JavaScript | 實現和后端的交互, 數據驗證、收發等功能 |
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
</body>
</html>
上面面的一段代碼既表示一段HTML的結構, 它表示生成了一個空白的HTML網頁
組成HTML的元素稱為標簽,標簽的結構分為兩種
下面這段HTML代碼包含的標簽解釋如下
<!DOCTYPE html> 是一種HTML5的規范寫法,在HTML發展過程中還有以下的幾種聲明方式
<!DOCTYPE html> html5規范, html的第一行必須為此值
<!--html4 嚴格版-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"<http://www.w3.org/TR/html4/strict.dtd>">
<!--html4 過渡版-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"<http://www.w3.org/TR/html4/loose.dtd>">
<!--html4 框架版-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
"<http://www.w3.org/TR/html4/frameset.dtd>">
關于html4的聲明類型,可以參考:
<https://www.w3.org/TR/html4/sgml/dtd.html>
<!--lang屬性表示使用英文,如果是中文,可以改成zh, 非嚴格屬性也可以不寫-->
<html lang="en">
</html>
<!--規定字符集使用UTF-8, UTF-8 涵蓋全球所有的國際和民族的文字和大量圖像, UTF-8 規定一個字符占3個字節-->
<meta charset="UTF-8">
eb標準:
由于不同瀏覽器解析出來的網頁效果可能不同,所以需要通過web標準對其進行約束使其一致,主要包括三個方面:
結構標準:
結構用于對網頁元素進行整理和分類,主要指的是HTML。
表現標準:
表現用于設置網頁元素的版式、顏色、大小等外觀樣式,主要指的是CSS。
行為標準:
行為是指網頁模型的定義及交互的編寫,主要指的是 JavaScript。
初識HTML:
html 全稱 Hyper Text Markup Language ,中文譯為:“超文本標記語言” ,描述網頁的一種語言。
HTML發展:
XHTML 是一個 W3C 標準,可擴展超文本標簽語言(EXtensible HyperText Markup Language),更嚴格更純凈的 HTML 版本,作為一種 XML 應用被重新定義的 HTML。
HTML中的注釋:
<!-- 注釋標簽:注釋的內容 -->
條件注釋:
條件注釋的作用是:定義只有Internet Explorer才執行條件注釋中的html標簽。
<!--[if IE 8]>
.... some HTML here ....
<![endif]-->
HTML骨架:
<!DOCTYPE html> <!-- 聲明文檔類型版本為html5 -->
<html lang="en"> <!-- 網頁的跟標簽,lang=""用來設置網頁語言,其值還有zh-CN中文簡體、fr法語等,設置后當系統設置語言和網頁語言發生沖突時會提示是否翻譯網頁 -->
<head> <!-- 網頁的頭部 -->
<meta charset='UTF-8'> <!-- 聲明字符編碼,其值還有gbk和gb2312 -->
<meta name="viewport" content="width=device-width,user-scalable=no,maximum-scale=1.0,minimum-scale=1.0,initial-scale=1.0"> <!-- 開啟移動端視口 -->
<meta name="apple-mobile-web-app-capable" content="yes"> <!-- 開啟ios快捷啟動方式 -->
<meta name="apple-mobile-web-app-status-bar-style" content="black"> <!-- 設置iOS頂部通欄樣式 -->
<meta name="format-detection" content="telephone=no"> <!-- 遇到數字不轉成電話號碼 -->
<meta http-equiv="X-UA-Compatible" content="ie=edge"> <!-- X-UA-Compatible是針對IE瀏覽器做兼容的,ie=edge表示兼容edge,若后面ie=7,則表示兼容IE7 -->
<meta name='keywords' content='This is a key words'> <!-- 網站搜索關鍵字 -->
<meta name='description' content='this is description'> <!-- 描述網站的信息 -->
<link rel="shortcut icon" type="image/x-icon" href="圖片路徑 "/> <!-- 網站的圖標,如果圖標是gif圖,則需要改:type="image/gif",引入網站圖標另一種方法:命名為favicon.ico文件放到網站根目錄下 -->
<link rel="stylesheet" type="text/css" href="css文件路徑"/> <!-- 引用css文件 -->
<base target="_blank"/> <!-- base標簽,定義這個網頁中a鏈接打開窗口的方式,其值還有_self -->
<title>標題</title> <!-- 網站的標題 -->
<style type="text/CSS"> /* 用來寫CSS代碼,type="text/CSS"可以省略 */
div{width:100px; height:100px; color:white;}
</style>
</head>
<body> <!-- 網頁的主體 -->
<h1>標題</h1> <!-- 標題標簽,共六個級,分別為:h1~h6,大小逐級遞減,h1在一個網頁中只允許出現一次。 -->
<p>段落</p> <!-- 段落標簽 -->
<hr/> <!-- 單線標簽,所有單標簽后面的關閉符均可以省略 -->
<br/> <!-- 換行標簽 -->
</div></div> <!-- 無語義化標簽布局用,上面的標簽是語義化標簽 -->
<span>span</span> <!-- 無語義化標簽分割用 -->
<strong>加粗</strong> <!-- 加粗標簽 -->
<b>加粗</b> <!-- 加粗標簽 -->
<i>傾斜</i> <!-- 傾斜標簽 -->
<em>傾斜</em> <!-- 傾斜標簽 -->
<s>刪除線</s> <!-- 刪除標簽 -->
<del>刪除線</del> <!-- 刪除標簽 -->
<u>下劃線</u> <!-- 下劃線標簽 -->
<ins>下劃線</ins> <!-- 下劃線標簽 -->
<img src="圖片路徑" alt="圖片無法加載,提示文字" title="鼠標懸停,提示文體" border="2"/> <!-- 圖像標簽,border是邊框屬性,width和height屬性設置圖像的寬度和高度 -->
<a href="跳轉目標" target="_self">鏈接的命名</a> <!-- 鏈接標簽,target屬性為鏈接頁面打開的方式,默認值_self為自身打開;_blank為新窗口打開;_new為新窗口打開,相同頁面只會打開一個;_top跳出框架-->
<ul> <!-- 無序列表 -->
<li>列表項1</li>
<li>列表項2</li>
<li>列表項3</li>
</ul>
<ol type="A"> <!-- 有序列表,屬性type可以控制li序號的樣式,其屬性值有:1、A、a、I、i-->
<li>中國</li>
<li>美國</li>
<li>英國</li>
</ol>
<dl> <!-- 自定義列表 -->
<dt>分類1</dt> <!-- 分類名稱 -->
<dd>分類1第1項</dd> <!-- 類的項 -->
<dd>分類1第2項</dd>
<dt>分類2</dt>
<dd>分類2第1項</dd>
<dd>分類2第2項</dd>
</dl>
<table> <!-- 定義表格,table標簽實際就是一個四方塊框框,里面有單元格才會顯示出表格的樣子 -->
<caption>信息表</caption> <!-- 表格標題 -->
<tr> <!-- 定義行 -->
<th>姓名</th> <!-- 定義表頭,表頭文本有加粗居中效果 -->
<th>年齡</th>
<th>性別</th>
</tr>
<tr> <!-- 定義行 -->
<td>小明</td> <!-- 定義單元格,表格里面沒有列-->
<td>18</td>
<td>男</td>
</tr>
</table>
</body>
</html>
提示:本文圖片等素材來源于網絡,若有侵權,請發郵件至郵箱:810665436@qq.com聯系筆者刪除。
筆者:苦海123
其它問題可通過以下方式聯系本人咨詢:
QQ:810665436
微信:ConstancyMan
*請認真填寫需求信息,我們會在24小時內與您取得聯系。