前端(HTML語言)


瀏覽器發請求 --> HTTP協議 --> 服務端接收請求 --> 服務端返回響應 --> 服務端把HTML文件內容發給瀏覽器 --> 瀏覽器渲染頁面

一、HTML是什么?

  • 超文本標記語言(Hypertext Markup Language, HTML)是一種用於創建網頁的標記語言。
  • 網頁文件的擴展名:.html或.htm
  • HTML是一種標記語言(markup language),它不是一種編程語言。
  • HTML使用標簽來描述網頁。不像python編程語言一樣,有邏輯什么的,這個標記語言是沒有邏輯的。

二、HTML文檔結構

  
<!DOCTYPE html>聲明為HTML5文檔。
<html>、</html>是文檔的開始標記和結束的標記。是HTML頁面的根元素,在它們之間是文檔的頭部(head)和主體(body)。
<head>、</head>定義了HTML文檔的開頭部分。它們之間的內容不會在瀏覽器的文檔窗口顯示。包含了文檔的元(meta)數據,配置信息等,是給瀏覽器看的,你看到的是在body標簽里面寫的。
<title>、</title>定義了網頁標題,在瀏覽器標題欄顯示。(修改一下title中的內容,然后看一下瀏覽器,你就會發現title是什么了)
<body>、</body>之間的文本是可見的網頁主體內容。
View Code

  注意:對於中文網頁需要使用 <meta charset="utf-8"> 聲明編碼,否則會出現亂碼。有些瀏覽器會設置 GBK 為默認編碼,則你需要設置為 <meta charset="gbk">。

三、HTML標簽格式(嚴格封閉)

HTML標簽是由尖括號包圍的關鍵字,如<html>, <div>等
HTML標簽通常是成對出現的,比如:<div>和</div>,第一個標簽是開始,第二個標簽是結束。結束標簽會有斜線。
也有一部分標簽是單獨呈現的,比如:<br/>、<hr/>、<img src="1.jpg" />等。
標簽里面可以有若干屬性,也可以不帶屬性。
<標簽名 屬性1=“屬性值1” 屬性2=“屬性值2”……>內容部分</標簽名> 
<標簽名 屬性1=“屬性值1” 屬性2=“屬性值2”…… />
id:定義標簽的唯一ID,HTML文檔樹中唯一,將來頁面上的標簽有很多,例如:來幾個a標簽,然后怎么區分這些標簽呢,可以通過<a id='a1'>xxx</a>,id不能重復,將來我們想找這個標簽的時候,可以通過這個id的值來找到這個標簽 
class:為html元素定義一個或多個類名(classname)(CSS樣式類名) #將css的是再說
style:規定元素的行內樣式(CSS樣式) #簡單來個示例:<h1 style="color:red;">xx</h1>你會發現變成紅色了,其他的講css的時候再講

HTML注釋:

  
<!--注釋內容-->  #找到一行內容ctrl+/就能注釋,注釋的內容不會在網頁上顯示出來
View Code

<!DOCTYPE> 標簽:

<!DOCTYPE> 聲明必須是 HTML 文檔的第一行,位於 <html> 標簽之前。

<!DOCTYPE> 聲明不是 HTML 標簽;它是指示 web 瀏覽器關於頁面使用哪個 HTML 版本進行編寫的指令。

瀏覽器內核:

  
瀏覽器    --    內核
IE           --    trident
chrome  ---   blink
火狐       ---   gecko
Safari     ---   webkit

PS:「瀏覽器內核」也就是瀏覽器所采用的「渲染引擎」,渲染引擎決定了瀏覽器如何顯示網頁的內容以及頁面的格式信息。渲染引擎是兼容性問題出現的根本原因。
View Code

四、head內常用標簽

標簽 意義
<title></title> 定義網頁標題
<style></style> 定義內部樣式表
<script></script> 定義JS代碼或引入外部JS文件
<link/> 引入外部樣式表文件
<meta/> 定義網頁原信息

  4.1 Meta標簽:

<meta>元素可提供有關頁面的元信息(meta-information),針對搜索引擎和更新頻度的描述和關鍵詞。
<meta>標簽位於文檔的頭部,不包含任何內容。
<meta>提供的信息是用戶不可見的。

  meta標簽的組成:

  1.http-equiv屬性:相當於http的文件頭作用,它可以向瀏覽器傳回一些有用的信息,以幫助正確地顯示網頁內容,與之對應的屬性值為content,content中的內容其實就是各個參數的變量值。

  
<!--2秒后跳轉到對應的網址,注意引號-->
<meta http-equiv="refresh" content="2;URL=https://www.oldboyedu.com"> #如果把URL和后面的內容去掉,就是2秒鍾刷新一次,這些內容了解一下就行
<!--指定文檔的編碼類型--> 
<meta http-equiv="content-Type" charset=UTF8">
<!--告訴IE以最高級模式渲染文檔-->
<meta http-equiv="x-ua-compatible" content="IE=edge"> #edge是微軟的一個全新的瀏覽器,其實就是告訴IE瀏覽器,你按照最高標准來渲染我的頁面,了解一下就可以啦
http-equiv屬性

  2.name屬性: 主要用於描述網頁,與之對應的屬性值為content,content中的內容主要是便於搜索引擎機器人查找信息和分類信息用的。

  
<meta name="keywords" content="meta總結,html meta,meta屬性,meta跳轉"> #關鍵字,也就是別人是可以通過這些關鍵字搜索到我的這個文章的,搜索引擎就是能夠這個content內容來幫別人搜索到你的這個文檔的
#SEO就是做這個的,就是怎么讓你們公司的網站在別人搜索的時候能夠靠前顯示,不算那個花錢的,百度是充值的,你沖個20w,別人可能一天就給你點擊完了,特別的貴

<meta name="description" content="xxxxxpythonxxx學習">  #是對這個文檔的描述,在百度一些內容的頁面上,f12打開看看
name屬性

五、body內常用標簽

  5.1 基本標簽(塊級標簽和內聯標簽):

不加標簽的純文字也是可以在body中寫的
<b>加粗</b>
<i>斜體</i>
<u>下划線</u>
<s>刪除</s>

<p>段落標簽</p> #獨占一個段落,p標簽中不能嵌套p標簽

<h1>標題1</h1>
<h2>標題2</h2>
<h3>標題3</h3>
<h4>標題4</h4>
<h5>標題5</h5>
<h6>標題6</h6>

<!--換行-->
<br>

<!--水平線--><hr> #就是單獨個一個水平線
每次加上一些內容,別忘了刷新一下頁面,才能看到新添加的效果或者內容,其實上面這些標簽很少用

  5.2 特殊字符:

內容 對應代碼
空格(html中默認是不顯示空格的,也就是說通過空格鍵加了空格也沒有多個空格的效果,加多少個都是顯示一個空格效果,需要這些特殊字符才能顯示出空格效果) &nbsp;
> &gt;
< &lt;
& &amp;
¥ &yen;
版權標識(寫公司網站的時候會用到) &copy;
注冊(一個圓圈里面有個R) &reg;

  5.3 div標簽和span標簽:

這兩個標簽是沒有特別的樣式的。<div>xxxx</div>,但是這是兩個標簽最大的特點,可以通過CSS來控制樣式

div標簽用來定義一個塊級元素,並無實際的意義。主要通過CSS樣式為其賦予不同的表現。
span標簽用來定義內聯(行內)元素,並無實際的意義。主要通過CSS樣式為其賦予不同的表現。

塊級元素與行內元素的區別:
  所謂塊元素,是以另起一行開始渲染的元素,行內元素則不需另起一行。如果單獨在網頁中插入這兩個元素,不會對頁面產生任何的影響。
  這兩個元素是專門為定義CSS樣式而生的。


標簽分類:
塊級標簽:p、h1--h6、hr、div、li、ul
內聯標簽:b、i、u、s、img、a、span、input

  注意:

    1、關於標簽嵌套:通常塊級元素可以包含內聯元素或某些塊級元素,但內聯元素不能包含塊級元素,它只能包含其它內聯元素。div可以包含div標簽

    2、p標簽比較特殊,不能包含塊級標簽,p標簽也不能包含p標簽。可以試一下p標簽套p標簽,f12你會發現三個p標簽

  5.4 img標簽:

<img src="圖片的路徑" alt="圖片未加載成功時的提示" title="鼠標懸浮時提示信息" width="" height="高(寬高兩個屬性只用一個會自動等比縮放)">

注意:
      src的路徑又分為兩種:網上的一個圖片路徑和本地的一個相對圖片路徑

  5.5 a標簽(超鏈接標簽):

  
所謂的超鏈接是指從一個網頁指向一個目標的連接關系,這個目標可以是另一個網頁,也可以是相同網頁上的不同位置,還可以是一個圖片,一個電子郵件地址,一個文件,甚至是一個應用程序。
超鏈接
  
什么是URL?
URL是統一資源定位器(Uniform Resource Locator)的縮寫,也被稱為網頁地址,是因特網上標准的資源的地址。
URL舉例
http://www.sohu.com/stu/intro.html
http://222.172.123.33/stu/intro.html

URL地址由4部分組成
第1部分:為協議:http://、ftp://等 
第2部分:為站點地址:可以是域名或IP地址
第3部分:為頁面在站點中的目錄:stu
第4部分:為頁面名稱,例如 index.html
各部分之間用“/”符號隔開。
URL
<a href="http://www.oldboyedu.com" target="_blank" >點我</a>

href屬性指定目標網頁地址。該地址可以有幾種類型:
1. 絕對URL - 指向另一個站點(比如 href="http://www.jd.com)
2. 相對URL - 指當前站點中確切的路徑(href="index.htm"#django的用的比較多
3. 錨URL - 指向頁面中的錨(href="#top"),博客的目錄經常用到,還可以跳轉到 name屬性為p1的a標簽上,<a name='top'>xxx</a>
4. target:
    _blank表示在新標簽頁中打開目標網頁
    _self表示在當前標簽頁中打開目標網頁

  5.6 列表標簽:

  
<ul type="disc">
  <li>第一項</li>
  <li>第二項</li>
</ul>


type屬性:
    disc(實心圓點,默認值)
    circle(空心圓圈)
    square(實心方塊)
    none(無樣式)
無序列表
  
<ol type="1" start="2">
  <li>第一項</li>
  <li>第二項</li>
</ol>



type屬性: start是從數字幾開始
    1 數字列表,默認值
    A 大寫字母
    a 小寫字母
    Ⅰ大寫羅馬
    ⅰ小寫羅馬
有序列表
  
# 標題列表(就像大綱一樣,有一個層級效果)

<dl>
  <dt>標題1</dt>
  <dd>內容1</dd>
  <dt>標題2</dt>
  <dd>內容1</dd>
  <dd>內容2</dd>
</dl>
標題列表

  5.7 表格標簽:

  1、表格是一個二維數據空間,一個表格由若干行組成,一個行又有若干單元格組成,單元格里可以包含文字、列表、圖案、表單、數字符號、預置文本和其它的表格等內容。
  2、表格最重要的目的是顯示表格類數據。表格類數據是指最適合組織為表格格式(即按行和列組織)的數據。

  
<table border='1'>
  <thead> #標題部分
  <tr> #一行
    <th>序號</th> #一個單元格
    <th>姓名</th>
    <th>愛好</th>
  </tr>
  </thead>
  <tbody> #內容部分
  <tr> #一行
    <td>1</td> #一個單元格
    <td>Egon</td>
    <td>杠娘</td>
  </tr>
  <tr>
    <td>2</td>
    <td>Yuan</td>
    <td>日天</td>
  </tr>
  </tbody>
</table>


屬性:
    border: 表格邊框.
    cellpadding: 內邊距 (內邊框和內容的距離)
    cellspacing: 外邊距.(內外邊框的距離)
    width: 像素 百分比.(最好通過css來設置長寬)
    rowspan: 單元格豎跨多少行
    colspan: 單元格橫跨多少列(即合並單元格)
表格的基本結構

  5.8 form標簽:

    功能:

    表單用於向服務器傳輸數據,從而實現用戶與Web服務器的交互

    表單能夠包含input系列標簽,比如文本字段、復選框、單選框、提交按鈕等等。

    表單還可以包含textarea、select、fieldset和 label標簽。

    表單屬性:

屬性 描述
accept-charset 規定在被提交表單中使用的字符集(默認:頁面字符集)。
action 規定向何處提交表單的地址(URL)(提交頁面)。
autocomplete 規定瀏覽器應該自動完成表單(默認:開啟)。
enctype 規定被提交數據的編碼(默認:url-encoded)。
method 規定在提交表單時所用的 HTTP 方法(默認:GET)。
name 規定識別表單的名稱(對於 DOM 使用:document.forms.name)。
novalidate 規定瀏覽器不驗證表單。
target 規定 action 屬性中地址的目標(默認:_self)。

    表單元素:

    點擊提交按鈕,input中type=submit的那個按鈕,然后就會將form表單中所有用戶輸入的內容或者選擇的內容({name屬性:值,})都發給服務端(以我們自己寫的那個socket舉例,打印一下接收的內容),但是所有的輸入標簽必須有一個叫做name的屬性。

    點擊提交后,URL中就有了name屬性值和你輸入的值組合到一起了,通過&符號分隔,並且在路徑那里加了個問號

    form表單里面有兩個屬性:

  
1、action控制往哪里提交數據、
2、method控制用什么方式提交
    get請求(默認):默認是get請求提交內容拼接到url里面
    post請求:會把所有你提交的信息封裝到一個消息體里面,在瀏覽器上看不到
View Code

  5.9 input標簽:

  type屬性:

type屬性值 表現形式 對應代碼
text 單行輸入文本 <input type=text" />
password 密碼輸入框(不顯示明文) <input type="password"  />
date 日期輸入框 <input type="date" />
checkbox 復選框 <input type="checkbox" checked="checked" name='x' />
radio 單選框 <input type="radio" name='x' />
submit 提交按鈕 <input type="submit" value="提交" /> #發送瀏覽器上輸入標簽中的內容,配合form表單使用,頁面會刷新
reset 重置按鈕 <input type="reset" value="重置"  />  #頁面不會刷新,將所有輸入的內容清空
button 普通按鈕 <input type="button" value="普通按鈕"  />
hidden 隱藏輸入框 <input type="hidden"  />
file 文本選擇框 <input type="file"  /> (等學了form表單之后再學這個)
  
屬性說明:

name:表單提交時的“鍵”,注意和id的區別
value:表單提交時對應項的值
type="button", "reset", "submit"時,為按鈕上顯示的文本內容
type="text","password","hidden"時,為輸入框的初始值
type="checkbox", "radio", "file",為輸入相關聯的值
checked:radio和checkbox默認被選中的項
readonly:text和password設置只讀
disabled:所有input均適用
屬性說明

  6.0 select標簽:

  
屬性說明:

multiple:布爾屬性,設置后為多選下拉框,否則默認單選
disabled:禁用
selected:默認選中該項
value:定義提交時的選項值
屬性說明
  
示例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<!--select:選擇框-->
<!--屬性:multiple:多選,select:默認選中(select=select相同可以省略只寫一個select)-->
<select name="" id="s1" multiple disabled>
    <option value="">上海</option>
    <option value="">深圳</option>
    <option value="" selected>武漢</option>
</select>


</body>
</html>
示例

  6.1 label標簽:

定義:<label> 標簽為 input 元素定義標注(標記)。如果不用這個label給input標簽一個標記,input會變黃,不影響使用,只是提示你,別忘了給用戶一些提示,也就是這個label標簽。

說明:

  1、label 元素不會向用戶呈現任何特殊效果。但是點擊label標簽里面的文本,那么和他關聯的input標簽就獲得了光標,讓你輸入內容
  2、<label> 標簽的 for 屬性值應當與相關元素的 id 屬性值相同。
  
<form action="">
  <label for="username">用戶名</label>  #for和input的id屬性一樣,就關聯在一起了
  <input type="text" id="username" name="username">
</form>
示例

  6.2 textarea多行文本:

  
屬性說明:

name:名稱
rows:行數  #相當於文本框高度設置
cols:列數   #相當於文本框長度設置
disabled:禁用
屬性說明
  
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<!--textarea:默認10行,30列-->
<textarea name="" id="" cols="30" rows="10"></textarea>


</body>
</html>
示例

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM