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 国产成人福利视频,91久久国产综合精品女同我 ,91精品国产91久久久久久

          整合營銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          HTML頁面基本結(jié)構(gòu)和加載過程

          家好,我是皮皮。

          前言

          對于前端來說,HTML 都是最基礎(chǔ)的內(nèi)容。

          今天,我們來了解一下 HTML 和網(wǎng)頁有什么關(guān)系,以及與 DOM 有什么不同。通過本講內(nèi)容,你將掌握瀏覽器是怎么處理 HTML 內(nèi)容的,以及在這個(gè)過程中我們可以進(jìn)行怎樣的處理來提升網(wǎng)頁的性能,從而提升用戶的體驗(yàn)。


          一、瀏覽器頁面加載過程

          不知你是否有過這樣的體驗(yàn):當(dāng)打開某個(gè)瀏覽器的時(shí)候,發(fā)現(xiàn)一直在轉(zhuǎn)圈,或者等了好長時(shí)間才打開頁面……

          此時(shí)的你,會(huì)選擇關(guān)掉頁面還是耐心等待呢?

          這一現(xiàn)象,除了網(wǎng)絡(luò)不穩(wěn)定、網(wǎng)速過慢等原因,大多數(shù)都是由于頁面設(shè)計(jì)不合理導(dǎo)致加載時(shí)間過長導(dǎo)致的。

          我們都知道,頁面是用 HTML/CSS/JavaScript 來編寫的。

          • HTML 的職責(zé)在于告知瀏覽器如何組織頁面,以及搭建頁面的基本結(jié)構(gòu);
          • CSS 用來裝飾 HTML,讓我們的頁面更好看;
          • JavaScript 則可以豐富頁面功能,使靜態(tài)頁面動(dòng)起來。

          HTML由一系列的元素組成,通常稱為HTML元素。HTML 元素通常被用來定義一個(gè)網(wǎng)頁結(jié)構(gòu),基本上所有網(wǎng)頁都是這樣的 HTML 結(jié)構(gòu):

          <html>
              <head></head>
              <body></body>
          </html>

          其中:

          • html元素是頁面的根元素,它描述完整的網(wǎng)頁;
          • head元素包含了我們想包含在 HTML 頁面中,但不希望顯示在網(wǎng)頁里的內(nèi)容;
          • body元素包含了我們訪問頁面時(shí)所有顯示在頁面上的內(nèi)容,是用戶最終能看到的內(nèi)容;


          HTML 中的元素特別多,其中還包括可用于 Web Components 的自定義元素。

          前面我們提到頁面 HTML 結(jié)構(gòu)不合理可能會(huì)導(dǎo)致頁面響應(yīng)慢,這個(gè)過程很多時(shí)候體現(xiàn)在<script><style>元素的設(shè)計(jì)上,它們會(huì)影響頁面加載過程中對 Javascript 和 CSS 代碼的處理。

          因此,如果想要提升頁面的加載速度,就需要了解瀏覽器頁面的加載過程是怎樣的,從根本上來解決問題。

          瀏覽器在加載頁面的時(shí)候會(huì)用到 GUI 渲染線程和 JavaScript 引擎線程(更詳細(xì)的瀏覽器加載和渲染機(jī)制將在第 7 講中介紹)。其中,GUI 渲染線程負(fù)責(zé)渲染瀏覽器界面 HTML 元素,JavaScript 引擎線程主要負(fù)責(zé)處理 JavaScript 腳本程序。

          由于 JavaScript 在執(zhí)行過程中還可能會(huì)改動(dòng)界面結(jié)構(gòu)和樣式,因此它們之間被設(shè)計(jì)為互斥的關(guān)系。也就是說,當(dāng) JavaScript 引擎執(zhí)行時(shí),GUI 線程會(huì)被掛起。

          以網(wǎng)易云課堂官網(wǎng)為例,我們來看看網(wǎng)頁加載流程。

          (1)當(dāng)我們打開官網(wǎng)的時(shí)候,瀏覽器會(huì)從服務(wù)器中獲取到 HTML 內(nèi)容。

          (2)瀏覽器獲取到 HTML 內(nèi)容后,就開始從上到下解析 HTML 的元素。

          (3)<head>元素內(nèi)容會(huì)先被解析,此時(shí)瀏覽器還沒開始渲染頁面。

          我們看到<head>元素里有用于描述頁面元數(shù)據(jù)的<meta>元素,還有一些<link>元素涉及外部資源(如圖片、CSS 樣式等),此時(shí)瀏覽器會(huì)去獲取這些外部資源。除此之外,我們還能看到<head>元素中還包含著不少的<script>元素,這些<script>元素通過src屬性指向外部資源。

          (4)當(dāng)瀏覽器解析到這里時(shí)(步驟 3),會(huì)暫停解析并下載 JavaScript 腳本。

          (5)當(dāng) JavaScript 腳本下載完成后,瀏覽器的控制權(quán)轉(zhuǎn)交給 JavaScript 引擎。當(dāng)腳本執(zhí)行完成后,控制權(quán)會(huì)交回給渲染引擎,渲染引擎繼續(xù)往下解析 HTML 頁面。

          (6)此時(shí)<body>元素內(nèi)容開始被解析,瀏覽器開始渲染頁面。

          在這個(gè)過程中,我們看到<head>中放置的<script>元素會(huì)阻塞頁面的渲染過程:把 JavaScript 放在<head>里,意味著必須把所有 JavaScript 代碼都下載、解析和解釋完成后,才能開始渲染頁面。

          到這里,我們就明白了:如果外部腳本加載時(shí)間很長(比如一直無法完成下載),就會(huì)造成網(wǎng)頁長時(shí)間失去響應(yīng),瀏覽器就會(huì)呈現(xiàn)“假死”狀態(tài),用戶體驗(yàn)會(huì)變得很糟糕。

          因此,對于對性能要求較高、需要快速將內(nèi)容呈現(xiàn)給用戶的網(wǎng)頁,常常會(huì)將 JavaScript 腳本放在<body>的最后面。這樣可以避免資源阻塞,頁面得以迅速展示。我們還可以使用defer/async/preload等屬性來標(biāo)記<script>標(biāo)簽,來控制 JavaScript 的加載順序。

          百度首頁

          三、DOM 解析

          對于百度這樣的搜索引擎來說,必須要在最短的時(shí)間內(nèi)提供到可用的服務(wù)給用戶,其中就包括搜索框的顯示及可交互,除此之外的內(nèi)容優(yōu)先級會(huì)相對較低。

          瀏覽器在渲染頁面的過程需要解析 HTML、CSS 以得到 DOM 樹和 CSS 規(guī)則樹,它們結(jié)合后才生成最終的渲染樹并渲染。因此,我們還常常將 CSS 放在<head>里,可用來避免瀏覽器渲染的重復(fù)計(jì)算。


          二、HTML 與 DOM 有什么不同

          我們知道<p>是 HTML 元素,但又常常將<p>這樣一個(gè)元素稱為 DOM 節(jié)點(diǎn),那么 HTML 和 DOM 到底有什么不一樣呢?

          根據(jù) MDN 官方描述:文檔對象模型(DOM)是 HTML 和 XML 文檔的編程接口。

          也就是說,DOM 是用來操作和描述 HTML 文檔的接口。如果說瀏覽器用 HTML 來描述網(wǎng)頁的結(jié)構(gòu)并渲染,那么使用 DOM 則可以獲取網(wǎng)頁的結(jié)構(gòu)并進(jìn)行操作。一般來說,我們使用 JavaScript 來操作 DOM 接口,從而實(shí)現(xiàn)頁面的動(dòng)態(tài)變化,以及用戶的交互操作。

          在開發(fā)過程中,常常用對象的方式來描述某一類事物,用特定的結(jié)構(gòu)集合來描述某些事物的集合。DOM 也一樣,它將 HTML 文檔解析成一個(gè)由 DOM 節(jié)點(diǎn)以及包含屬性和方法的相關(guān)對象組成的結(jié)構(gòu)集合。


          三、DOM 解析

          我們常見的 HTML 元素,在瀏覽器中會(huì)被解析成節(jié)點(diǎn)。比如下面這樣的 HTML 內(nèi)容:

          <html>
              <head>
                  <title>標(biāo)題</title>
              </head>
              <body>
                  <a href='xx.com'>我的超鏈接</a>
                  <h1>頁面第一標(biāo)題</h1>
              </body>
          </html>

          打開控制臺(tái) Elements 面板,可以看到這樣的 HTML 結(jié)構(gòu),如下圖所示:

          在瀏覽器中,上面的 HTML 會(huì)被解析成這樣的 DOM 樹,如下圖所示:


          我們都知道,對于樹狀結(jié)構(gòu)來說,常常使用parent/child/sibling等方式來描述各個(gè)節(jié)點(diǎn)之間的關(guān)系,對于 DOM 樹也不例外。

          舉個(gè)例子,我們常常會(huì)對頁面功能進(jìn)行抽象,并封裝成組件。但不管怎么進(jìn)行整理,頁面最終依然是基于 DOM 的樹狀結(jié)構(gòu),因此組件也是呈樹狀結(jié)構(gòu),組件間的關(guān)系也同樣可以使用parent/child/sibling這樣的方式來描述。同時(shí),現(xiàn)在大多數(shù)應(yīng)用程序同樣以root為根節(jié)點(diǎn)展開,我們進(jìn)行狀態(tài)管理、數(shù)據(jù)管理也常常會(huì)呈現(xiàn)出樹狀結(jié)構(gòu)。


          四、事件委托

          我們知道,瀏覽器中各個(gè)元素從頁面中接收事件的順序包括事件捕獲階段、目標(biāo)階段、事件冒泡階段。其中,基于事件冒泡機(jī)制,我們可以實(shí)現(xiàn)將子元素的事件委托給父級元素來進(jìn)行處理,這便是事件委托。

          如果我們在每個(gè)元素上都進(jìn)行監(jiān)聽的話,則需要綁定三個(gè)事件;(假設(shè)頁面上有a,b,c三個(gè)兄弟節(jié)點(diǎn))

          function clickEventFunction(e) {
            console.log(e.target === this); // logs `true`
            // 這里可以用 this 獲取當(dāng)前元素
          }
          // 元素a,b,c綁定
          element2.addEventListener("click", clickEventFunction, false);
          element5.addEventListener("click", clickEventFunction, false);
          element8.addEventListener("click", clickEventFunction, false);

          使用事件委托,可以通過將事件添加到它們的父節(jié)點(diǎn),而將事件委托給父節(jié)點(diǎn)來觸發(fā)處理函數(shù):

          function clickEventFunction(event) {
            console.log(e.target === this); // logs `false`
            // 獲取被點(diǎn)擊的元素
            const eventTarget = event.target;
            // 檢查源元素`event.target`是否符合預(yù)期
            // 此處控制廣告面板的展示內(nèi)容
          }
          // 元素1綁定
          element1.addEventListener("click", clickEventFunction, false);

          這樣能解決什么問題呢?

          • 綁定子元素會(huì)綁定很多次的事件,而綁定父元素只需要一次綁定。
          • 將事件委托給父節(jié)點(diǎn),這樣我們對子元素的增加和刪除、移動(dòng)等,都不需要重新進(jìn)行事件綁定。

          常見的使用方式主要是上述這種列表結(jié)構(gòu),每個(gè)選項(xiàng)都可以進(jìn)行編輯、刪除、添加標(biāo)簽等功能,而把事件委托給父元素,不管我們新增、刪除、更新選項(xiàng),都不需要手動(dòng)去綁定和移除事件。

          如果在列表數(shù)量內(nèi)容較大的時(shí)候,對成千上萬節(jié)點(diǎn)進(jìn)行事件監(jiān)聽,也是不小的性能消耗。使用事件委托的方式,我們可以大量減少瀏覽器對元素的監(jiān)聽,也是在前端性能優(yōu)化中比較簡單和基礎(chǔ)的一個(gè)做法。

          注意:

          1. 如果我們直接在document.body上進(jìn)行事件委托,可能會(huì)帶來額外的問題;
          2. 由于瀏覽器在進(jìn)行頁面渲染的時(shí)候會(huì)有合成的步驟,合成的過程會(huì)先將頁面分成不同的合成層,而用戶與瀏覽器進(jìn)行交互的時(shí)候需要接收事件。此時(shí),瀏覽器會(huì)將頁面上具有事件處理程序的區(qū)域進(jìn)行標(biāo)記,被標(biāo)記的區(qū)域會(huì)與主線程進(jìn)行通信。
          3. 如果我們document.body上被綁定了事件,這時(shí)候整個(gè)頁面都會(huì)被標(biāo)記;
          4. 即使我們的頁面不關(guān)心某些部分的用戶交互,合成器線程也必須與主線程進(jìn)行通信,并在每次事件發(fā)生時(shí)進(jìn)行等待。這種情況,我們可以使用passive: true選項(xiàng)來解決


          五、總結(jié)

          我們了解了 HTML 的作用,以及它是如何影響瀏覽器中頁面的加載過程的,同時(shí)還介紹了使用 DOM 接口來控制 HTML 的展示和功能邏輯。我們了解了DOM解析事件委托等相關(guān)概念。

          txt文件變成html網(wǎng)頁文件

          如果您看過《HTML是什么?——零基礎(chǔ)自學(xué)網(wǎng)頁制作》這篇教程,請按照其中說明創(chuàng)建一個(gè)txt文件。具體過程如下:

          step1:在您方便的磁盤中建立一個(gè)文件夾,命名為"零基礎(chǔ)自學(xué)網(wǎng)頁制作"。例如我在D盤中建立了"零基礎(chǔ)自學(xué)網(wǎng)頁制作"文件夾。

          step2:在文件夾中創(chuàng)建"HTML框架.txt"文件。鼠標(biāo)移動(dòng)到空白處點(diǎn)擊右鍵選擇"文本文檔"。

          命名為"html框架",如下圖所示。

          如果您的電腦沒有顯示".txt"后綴的話,請做如下操作:點(diǎn)擊"工具",找到"文件夾選項(xiàng)"

          菜單如下:點(diǎn)擊"查看選項(xiàng)"。

          下拉滑條,找到"隱藏已知文件類型的擴(kuò)展名"選項(xiàng),將前面的對勾去掉。

          如果您使用的是win10的話請參考《邊學(xué)邊做網(wǎng)頁篇------初識(shí)HTML》,這也是我做的教程,不過以后都使用這個(gè)賬號來發(fā)了。

          step3:把"HTML框架"復(fù)制粘貼到"html框架.txt"文件中。HTML框架代碼如下:

          <!DOCTYPE HTML> <html> <head> </head><body> </body> </html>

          代碼講解請參照《HTML是什么?——零基礎(chǔ)自學(xué)網(wǎng)頁制作》這篇教程中的講解。

          粘貼后效果如下:使用CTRL+s組合鍵保存文件。

          step4:復(fù)制"html框架.txt"文件,更名為"第一個(gè)網(wǎng)頁.txt"。原始的"html框架.txt"文件為以后備用。

          如圖所示:

          step5:把"第一個(gè)網(wǎng)頁.txt"的后綴名".txt"改為".html"。

          首先將光標(biāo)放在"第一個(gè)網(wǎng)頁.txt"文件上,點(diǎn)擊右鍵,選擇"重命名"。如圖:

          選擇".txt"

          更改為".html",敲擊回車鍵。這時(shí)會(huì)彈出一個(gè)對話框,如圖:

          大膽的點(diǎn)擊"是"即可。

          修改后文件是這樣的,如圖:因?yàn)槲业哪J(rèn)瀏覽器是360,所以,".html"文件圖標(biāo)顯示為360瀏覽器的圖標(biāo),顯示其他瀏覽器的圖標(biāo)也沒有問題。

          step6:將鼠標(biāo)移動(dòng)到"第一個(gè)網(wǎng)頁.html"文件上,單擊右鍵,選擇打開方式,如圖:

          選擇任何一個(gè)瀏覽器打開即可,我使用的是火狐瀏覽器(Firefox),打開后如圖所示:空白一片。

          點(diǎn)擊鍵盤F12鍵,看一下控制臺(tái),如圖:查看器中已經(jīng)顯示我們的代碼框架了。成功!

          如果網(wǎng)頁是一道菜,那么,html框架我們可以理解為裝菜的白盤子,所以我們打開框架時(shí),瀏覽器顯示一片白。下面我們?yōu)楸P子中加些簡單的"菜"。

          為html頁面添加標(biāo)題與段落

          首先我們?yōu)轫撁嫣砑?#34;標(biāo)題"

          在添加標(biāo)題前,我們來看一下html框架代碼中的內(nèi)容,在<html></html>標(biāo)簽中有<head></head>和<body></body>兩個(gè)兄弟標(biāo)簽。

          我們在頁面中看到的所有的內(nèi)容都是添加到<body></body>標(biāo)簽中間!

          <head></head>標(biāo)簽中的內(nèi)容并不會(huì)顯示在頁面中。

          那么如何添加"標(biāo)題"呢?

          標(biāo)題在HTML中用<h></h>標(biāo)簽表示。在<h></h>中間加入文字內(nèi)容即可。如下所示:

          <h>第一個(gè)頁面</h>

          右鍵,使用"記事本"打開"第一個(gè)網(wǎng)頁.html"文件。如圖所示:如果您的"打開方式"中沒有"記事本"請點(diǎn)擊"選擇默認(rèn)程序"

          在"其他程序"中找到"記事本"。點(diǎn)擊"確定"。從此,"記事本"就一直存在于"打開方式"中了。

          我們把這句代碼粘貼到<body></body>之間。如下所示:保存后使用瀏覽器打開。

          <!DOCTYPE HTML><html><head> </head> <body> <h>第一個(gè)頁面</h> </body> </html>

          然后,使用瀏覽器打開,如圖所示:標(biāo)題出現(xiàn)在頁面中了。

          下面,我們來添加段落內(nèi)容。

          段落在HTML中使用<p></p>標(biāo)簽添加。代碼如下

          <p>千里之行始于足下</p>

          請各位自行將代碼添加到"第一個(gè)網(wǎng)頁.html"文件中吧!示例代碼如下:

          <!DOCTYPE HTML> <html> <head> </head> <body> <h>第一個(gè)網(wǎng)頁</h><p>千里之行始于足下</p> </body> </html>

          結(jié)果如圖所示:

          通過這個(gè)練習(xí),我們可以發(fā)現(xiàn)一個(gè)規(guī)律,在<body></body>中,子元素代碼的上下順序代表了它在頁面中顯示的排版順序。

          這也簡單回答了代碼結(jié)構(gòu)與排版的關(guān)系,html的標(biāo)簽語句只是標(biāo)記了它所承載的信息的屬性和版面位置。

          基于這個(gè)特性,html被稱為超文本標(biāo)記語言。

          下一期我們具體討論頁面中文字編輯的技巧。

          喜歡的小伙伴請加關(guān)注,有任何問題請給我留言,歡迎大家給與指正!感激不盡!

          HTML完整學(xué)習(xí)目錄

          HTML序章(學(xué)習(xí)目的、對象、基本概念)——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          HTML是什么?——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          HTML頁面中head標(biāo)簽有啥用?——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          初識(shí)meta標(biāo)簽與SEO——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          HTML中的元素使用方法1——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          HTML中的元素使用方法2——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          HTML元素中的屬性1——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          HTML元素中的屬性2(路徑詳解)——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          使用HTML添加表格1(基本元素)——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          使用HTML添加表格2(表格頭部與腳部)——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          使用HTML添加表格3(間距與顏色)——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          使用HTML添加表格4(行顏色與表格嵌套)——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          16進(jìn)制顏色表示與RGB色彩模型——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          HTML中的塊級元素與內(nèi)聯(lián)元素——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          初識(shí)HTML中的<div>塊元素——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          在HTML頁面中嵌入其他頁面的方法——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          封閉在家學(xué)網(wǎng)頁制作!為頁面嵌入PDF文件——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          HTML表單元素初識(shí)1——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          HTML表單元素初識(shí)2——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          HTML表單3(下拉列表、多行文字輸入)——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          HTML表單4(form的action、method屬性)——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          HTML列表制作講解——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          為HTML頁面添加視頻、音頻的方法——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          音視頻格式轉(zhuǎn)換神器與html視頻元素加字幕——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          HTML中使用<a>標(biāo)簽實(shí)現(xiàn)文本內(nèi)鏈接——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          TML是什么

          HTML的全稱是超文本標(biāo)記語言,英文全稱是HyperText Markup Language。如果您是零基礎(chǔ)的話,看到這個(gè)名字,即使是漢語的,估計(jì)也會(huì)不知所云。

          超文本指的是用超鏈接的方法,將各種不同空間的文字信息組織在一起的網(wǎng)狀文本。通俗來說就是多個(gè)文本之間通過超鏈接相互連接在一起,這些相互連接的文本集合稱為"超文本"。超文本是網(wǎng)頁制作一個(gè)非常重要的概念,可以說網(wǎng)絡(luò)的精髓就在于"互聯(lián)"。

          這些相互關(guān)聯(lián)的信息媒體可能在同一文本中,也可能是其他文件,或是地理位置相距遙遠(yuǎn)的某臺(tái)計(jì)算機(jī)上的文件。這種組織信息方式將分布在不同位置的信息資源用隨機(jī)方式進(jìn)行連接,為人們查找,檢索信息提供方便。(孫素華編著.Dreamweaver CS5 Flash CS5 Photoshop CS5網(wǎng)頁設(shè)計(jì)從入門到精通:中國青年出版社,2014.10:第16頁)

          標(biāo)記語言的概念比較復(fù)雜,簡單來說,HTML并不是程序語言(不同于C或Python),只是一種在網(wǎng)頁中顯示資料排版位置的標(biāo)記結(jié)構(gòu)語言。這句話提煉一下就是"標(biāo)記信息在頁面中排版結(jié)構(gòu)的語言"。

          如果讀的不太明白,在下一節(jié)"HTML基本框架"中會(huì)對HTML的排版結(jié)構(gòu)規(guī)則進(jìn)行直觀展示,如果您讀不懂可以盡情的跳過,畢竟我們的重點(diǎn)是怎么用。

          HTML基本框架

          HTML框架簡單說就是任何HTML網(wǎng)頁文件中都會(huì)包含的基本代碼內(nèi)容。如果我們打算寫一個(gè)頁面,就一定要把框架代碼寫入后才能正式開始添加內(nèi)容。框架代碼如下:

          <!DOCTYPE HTML><html> <head> </head> <body> </body> </html>

          第一行 <!DOCTYPE HTML>

          第二行 <html>

          第三行 <head>

          第四行 </head>

          第五行 <body>

          第六行 </body>

          第七行 </html>

          這七行代碼是所有HTML頁面所共有的,也就是HTML的框架了。不信我們來驗(yàn)證一下。

          例子一,頭條的文章頁面(電腦版)網(wǎng)址:https://www.toutiao.com/i6785149184245760516/

          筆者使用Firefox(火狐)瀏覽器,輸入網(wǎng)址后點(diǎn)擊鍵盤上的F12,,如圖所示

          我們可以看到頁面下半部分出現(xiàn)了一個(gè)調(diào)控臺(tái)。

          點(diǎn)擊查看器即可看頁面代碼。代碼如下:

          放大一些,大家看看,<!DOCTYPE HTML> <html> <head> </head> <body> </body> </html>這些標(biāo)簽是不是一個(gè)不少,只是中間多了很多內(nèi)容而已。

          一個(gè)例子不具有普適性,下面我們再看一個(gè)例子,我隨便找了個(gè)新聞頁面,網(wǎng)址:https://mil.eastday.com/a/200125113254400.html

          使用同樣的方法打開查看器看代碼,如圖:

          是不是框架中的代碼一個(gè)也不少吧。

          所以,大家請?jiān)谧约旱碾娔X中新建一個(gè)txt文件,將HTML框架粘貼到txt文件中,并命名為"HTML框架"。以后我們寫的每一個(gè)頁面都會(huì)從這個(gè)框架開始。

          通過對框架中的代碼進(jìn)行觀察,細(xì)心的讀者可能已經(jīng)發(fā)現(xiàn)了HTML這種標(biāo)記語言的書寫規(guī)律。

          規(guī)律1:每一個(gè)語句都是包含在<>尖括號內(nèi)的。這是HTML標(biāo)記語言的基本特點(diǎn)之一,大家一定記牢。

          規(guī)律2:除了<!DOCTYPE HTML>這個(gè)標(biāo)簽外,其他標(biāo)簽都是成對出現(xiàn)!例如<html>與</html>,<head>與</head>,<body>與</body>。

          規(guī)律3:這個(gè)規(guī)律通過觀察代碼也不難發(fā)現(xiàn),即<html></html>兩個(gè)標(biāo)簽中間夾著<head></head>和<body></body>,我們把<head></head>標(biāo)簽稱為<html></html>標(biāo)簽的子標(biāo)簽,反過來<html></html>標(biāo)簽是<head></head>標(biāo)簽的父標(biāo)簽,<head></head>和<body></body>稱為并列關(guān)系或者兄弟關(guān)系。而<!DOCTYPE HTML>是一個(gè)聲明語句,屬于六親不認(rèn)的。

          各種關(guān)系如下圖所示:

          這樣就回到了之前我們解釋"標(biāo)記語言"的問題上。我們說"標(biāo)記語言"是"標(biāo)記信息在頁面中排版結(jié)構(gòu)的語言",這種父子關(guān)系、兄弟關(guān)系就可以理解為一個(gè)頁面的"結(jié)構(gòu)",這種結(jié)構(gòu)又與頁面的排版有關(guān)。

          在下一期中,我們會(huì)通過練習(xí)來解釋"結(jié)構(gòu)"與排版的關(guān)系。

          喜歡的小伙伴請加關(guān)注,有任何問題可以留言給我,歡迎指正批評,感激不盡!

          HTML完整學(xué)習(xí)目錄

          HTML序章(學(xué)習(xí)目的、對象、基本概念)——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          第一個(gè)HTML頁面如何寫?——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          HTML頁面中head標(biāo)簽有啥用?——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          初識(shí)meta標(biāo)簽與SEO——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          HTML中的元素使用方法1——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          HTML中的元素使用方法2——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          HTML元素中的屬性1——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          HTML元素中的屬性2(路徑詳解)——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          使用HTML添加表格1(基本元素)——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          使用HTML添加表格2(表格頭部與腳部)——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          使用HTML添加表格3(間距與顏色)——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          使用HTML添加表格4(行顏色與表格嵌套)——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          16進(jìn)制顏色表示與RGB色彩模型——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          HTML中的塊級元素與內(nèi)聯(lián)元素——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          初識(shí)HTML中的<div>塊元素——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          在HTML頁面中嵌入其他頁面的方法——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          封閉在家學(xué)網(wǎng)頁制作!為頁面嵌入PDF文件——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          HTML表單元素初識(shí)1——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          HTML表單元素初識(shí)2——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          HTML表單3(下拉列表、多行文字輸入)——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          HTML表單4(form的action、method屬性)——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          HTML列表制作講解——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          為HTML頁面添加視頻、音頻的方法——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          音視頻格式轉(zhuǎn)換神器與html視頻元素加字幕——零基礎(chǔ)自學(xué)網(wǎng)頁制作

          HTML中使用<a>標(biāo)簽實(shí)現(xiàn)文本內(nèi)鏈接——零基礎(chǔ)自學(xué)網(wǎng)頁制作


          主站蜘蛛池模板: 国产伦理一区二区三区| 精品视频一区二区三区免费| 亚洲国产精品一区二区久久| 精品成人一区二区三区免费视频| 日本一区二区免费看| 无码AⅤ精品一区二区三区| 蜜桃无码一区二区三区| 一区二区乱子伦在线播放| 丰满岳乱妇一区二区三区| 国产伦精品一区二区三区免.费| 亚洲国产精品一区二区三区在线观看 | 国产激情无码一区二区| 在线观看国产一区| 福利一区福利二区| 免费人人潮人人爽一区二区| 国产乱码精品一区二区三区| 伊人久久精品一区二区三区| 69福利视频一区二区| 99精品一区二区免费视频| 精品无码一区在线观看| 精品国产一区二区三区四区 | 久久精品一区二区东京热| 国产综合一区二区在线观看| 99国产精品一区二区| 亲子乱AV视频一区二区| 无码一区二区三区| 人妻少妇精品视频一区二区三区| 日韩电影一区二区三区| 亚洲一区二区三区播放在线| 亚洲AV无码国产精品永久一区| 一区二区三区精密机械| 国产在线一区二区三区在线| 国产伦精品一区二区三区在线观看 | 亚洲香蕉久久一区二区| 亚洲欧美日韩中文字幕一区二区三区 | 99久久精品国产高清一区二区 | 成人免费视频一区二区三区| 精品无码国产AV一区二区三区| 国产在线一区观看| 日本欧洲视频一区| 伊人久久精品一区二区三区|