前端之HTML

来源:https://www.cnblogs.com/wangyueping/archive/2018/08/29/9551993.html
-Advertisement-
Play Games

前言:在瞭解HTML之前先簡約概述一下web的服務本質 Web服務本質 瀏覽器發請求 --> HTTP協議 --> 服務端接收請求 --> 服務端返迴響應 --> 服務端把HTML文件內容發給瀏覽器 --> 瀏覽器渲染頁面 HTML是什麼? 超文本標記語言(Hypertext Markup Lang ...


前言:在瞭解HTML之前先簡約概述一下web的服務本質

Web服務本質 

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

HTML是什麼?

  • 超文本標記語言(Hypertext Markup Language, HTML)是一種用於創建網頁的標記語言。
  • 本質上是瀏覽器可識別的規則,我們按照規則寫網頁,瀏覽器根據規則渲染我們的網頁。對於不同的瀏覽器,對同一個標簽可能會有不同的解釋。(相容性問題)
  • 網頁文件的擴展名:.html或.htm

HTML文檔結構

最基本的HTML文檔:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <title>css樣式優先順序</title>
</head>
<body>

</body>
</html>
  1. <!DOCTYPE html>聲明為HTML5文檔。
  2. <html>、</html>是文檔的開始標記和結束的標記。是HTML頁面的根元素,在它們之間是文檔的頭部(head)和主體(body)。
  3. <head>、</head>定義了HTML文檔的開頭部分。它們之間的內容不會在瀏覽器的文檔視窗顯示。包含了文檔的元(meta)數據。
  4. <title>、</title>定義了網頁標題,在瀏覽器標題欄顯示。
  5. <body>、</body>之間的文本是可見的網頁主體內容。

註意:對於中文網頁需要使用 <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文檔樹中唯一
  • class:為html元素定義一個或多個類名(classname)(CSS樣式類名)
  • style:規定元素的行內樣式(CSS樣式)

HTML註釋

<!--註釋內容-->

<!DOCTYPE> 標簽

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

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

HTML常用標簽

1、head內常用標簽

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

 

2、Meta標簽

Meta標簽介紹:

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

meta標簽的組成:meta標簽共有兩個屬性,它們分別是http-equiv屬性和name 屬性,不同的屬性又有不同的參數值,這些不同的參數值就實現了不同的網頁功能。 

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

<!--2秒後跳轉到對應的網址,註意引號-->
<meta http-equiv="refresh" content="2;URL=https://www.baidu.com">
<!--指定文檔的編碼類型-->
<meta http-equiv="content-Type" charset=UTF8">
<!--告訴IE以最高級模式渲染文檔-->
<meta http-equiv="x-ua-compatible" content="IE=edge">

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

<meta name="keywords" content="淘寶,電商,網上店鋪...">
<meta name="description" content="淘寶是全亞洲最大的線上購物中心......">

3、body內常用標簽

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

b>加粗</b>
<i>斜體</i>
<u>下劃線</u>
<s>刪除</s>

<p>段落標簽</p>

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

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

<!--水平線--><hr>

特殊字元

內容對應代碼
空格 &nbsp;
> &gt;
< &lt;
& &amp;
¥ &yen;
版權 &copy;
註冊 &reg;

 

div標簽和span標簽

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

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

註意:

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

p標簽不能包含塊級標簽。

img標簽

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

a標簽

超鏈接標簽

所謂的超鏈接是指從一個網頁指向一個目標的連接關係,這個目標可以是另一個網頁,也可以是相同網頁上的不同位置,還可以是一個圖片,一個電子郵件地址,一個文件,甚至是一個應用程式。

<a href="http://www.baidu.com" target="_blank" >點我</a>

href屬性指定目標網頁地址。該地址可以有幾種類型:

  • 絕對URL - 指向另一個站點(比如 href="http://www.jd.com)
  • 相對URL - 指當前站點中確切的路徑(href="index.htm")
  • 錨URL - 指向頁面中的錨(href="#top")

 

target:

  • _blank表示在新標簽頁中打開目標網頁
  • _self表示在當前標簽頁中打開目標網頁

列表

1.無序列表

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

type屬性:

  • disc(實心圓點,預設值)
  • circle(空心圓圈)
  • square(實心方塊)
  • none(無樣式)

2.有序列表

<ol type="1" start="2">
  <li>第一項</li>
  <li>第二項</li>
</ol>

type屬性:

  • 1 數字列表,預設值
  • A 大寫字母
  • a 小寫字母
  • Ⅰ大寫羅馬
  • ⅰ小寫羅馬

3.標題列表

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

表格

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

<table>
  <thead>
  <tr>
    <th>序號</th>
    <th>姓名</th>
    <th>愛好</th>
  </tr>
  </thead>
  <tbody>
  <tr>
    <td>1</td>
    <td>趙良辰</td>
    <td>裝逼</td>
  </tr>
  <tr>
    <td>2</td>
    <td>Yuan</td>
    <td>日天</td>
  </tr>
  </tbody>
</table>

屬性:

  • border: 表格邊框.
  • cellpadding: 內邊距
  • cellspacing: 外邊距.
  • width: 像素 百分比.(最好通過css來設置長寬)
  • rowspan: 單元格豎跨多少行
  • colspan: 單元格橫跨多少列(即合併單元格)

 

 

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)。

 

基本概念:
HTML表單是HTML元素中較為複雜的部分,表單往往和腳本、動態頁面、數據處理等功能相結合,因此它是製作動態網站很重要的內容。
表單一般用來收集用戶的輸入信息
表單工作原理:
訪問者在瀏覽有表單的網頁時,可填寫必需的信息,然後按某個按鈕提交。這些信息通過Internet傳送到伺服器上。 
伺服器上專門的程式對這些數據進行處理,如果有錯誤會返回錯誤信息,並要求糾正錯誤。當數據完整無誤後,伺服器反饋一個輸入完成的信息。

input標簽

<input> 元素會根據不同的 type 屬性,變化為多種形態。

type屬性值表現形式對應代碼
text 單行輸入文本 <input type=text" />
password 密碼輸入框 <input type="password"  />
date 日期輸入框 <input type="date" />
checkbox 覆選框 <input type="checkbox" checked="checked"  />
radio 單選框 <input type="radio"  />
submit 提交按鈕 <input type="submit" value="提交" />
reset 重置按鈕 <input type="reset" value="重置"  />
button 普通按鈕 <input type="button" value="普通按鈕"  />
hidden 隱藏輸入框 <input type="hidden"  />
file 文本選擇框 <input type="file"  />

 屬性說明:

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

select標簽

<form action="" method="post">
  <select name="city" id="city">
    <option value="1">北京</option>
    <option selected="selected" value="2">上海</option>
    <option value="3">廣州</option>
    <option value="4">深圳</option>
  </select>
</form>

屬性說明:

  • multiple:布爾屬性,設置後為多選,否則預設單選
  • disabled:禁用
  • selected:預設選中該項
  • value:定義提交時的選項值

label標簽

定義:<label> 標簽為 input 元素定義標註(標記)。
說明:

    1. label 元素不會向用戶呈現任何特殊效果。
    2. <label> 標簽的 for 屬性值應當與相關元素的 id 屬性值相同
<form action="">
  <label for="username">用戶名</label>
  <input type="text" id="username" name="username">
    
  <label>用戶名
    <input type="text" id="username" name="username">
    <label/> 
</form>

textarea多行文本

<textarea name="memo" id="memo" cols="30" rows="10">
  預設內容
</textarea>

屬性說明:

  • name:名稱
  • rows:行數
  • cols:列數
  • disabled:禁用

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 首先這是登陸postgre sql時提示的錯誤信息: psql: 無法聯接到伺服器: Connection refused (0x0000274D/10061) 伺服器是否在主機 "localhost"(::1) 上運行並且準備接受在埠5432 上的 TCP/IP 聯接?無法聯接到伺服器: Con ...
  • 轉載自:http://blog.csdn.net/u011001084/article/details/51318434 最近從圖書館借了本介紹SQL的書,打算複習一下基本語法,記錄一下筆記,整理一下思路,以備日後複習之用。 PS:本文適用SQL Server2008語法。 一、關係型資料庫和SQL ...
  • 1、MySql主從同步是基於二進位日誌實現的,二進位日誌記錄了主伺服器資料庫的所有變動,從伺服器通過讀取和執行該日誌文件保持和主資料庫的數據一致; 2、配置主伺服器 a、開啟二進位日誌,找到MySql配置文件 my.cnf 在[mysqld]模塊下加入如下代碼; b、登錄MySql,創建只能進行主從 ...
  • 1、ENGINE=InnoDB 資料庫存儲引擎,DEFAULT 預設,CHARSET=utf8 資料庫字元編碼 2、資料庫的存儲引擎, mysql中engine=innodb和engine=myisam的區別 myisam:讀取速度比較快,不占用大批量資源,但是又兩個缺點,1、不支持事物,2、容錯不 ...
  • 大數據具體是怎樣的存在,不同的人,不同的立場有不同的看法。也可以抽象為大數據不僅僅是一種概念那麼簡單,更是一種方法。最終的目的就是通過分析和挖掘全量的非抽樣的數據輔助服務決策。 很對人對於大數據沒有清晰的認識,大數據一方面是基於海量的數據,另一方面最為重要的最有就是能我們是生活變得更加方便,能夠依據 ...
  • 1、創建序列 2、序列初始化存儲過程 create procedure proDemo as begin alter sequence dbo.序列名 restart with 0; end 3、創建定時任務自動執行序列初始化存儲過程。 ...
  • 當我們在佈局文件中設置View為wrap_conten的時候,不可以直接使用 來獲取寬高,使用該方法獲取到的是0,應該使用最上面的方法。 ...
  • 作為前端最火的構建工具,是前端自動化工具鏈 最重要的部分 ,使用門檻較高。本系列是筆者自己的學習記錄,比較基礎,希望通過 問題 + 解決方式 的模式,以前端構建中遇到的具體需求為出發點,學習 工具中相應的處理辦法。(本篇中的參數配置及使用方式均基於 ) [TOC] 一. Assets資源的基本處理需 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...