家好,我是四川新華電腦學(xué)院小張,
這篇文章講解Html的相關(guān)知識(shí),如果想從零開始學(xué)習(xí)php編程的小伙伴,請(qǐng)從淼哥的第一篇文章看!
上次文章講解的是DTD,也就是我們常說的DOCTYPE。
我們繼續(xù)講解。
<!DOCTYPE html>-------------------------DOCTYPE 聲明了文檔類型
<html> ------------------------------------文檔類型html開始標(biāo)記
<head> -----------------------------------頭部標(biāo)記
<title>我的第一個(gè)標(biāo)題</title>
</head> ----------------------------------頭部結(jié)束標(biāo)記
<body> ---------------------------------文件主體
<h1>我的第一個(gè)標(biāo)題</h1>
<p>我的第一個(gè)段落。</p>
</body> ----------------------------------文件主體結(jié)束
</html> ----------------------------------文檔類型html結(jié)束標(biāo)記
這個(gè)是我們上次講解的html架構(gòu)。
接著我們繼續(xù)講解。
html標(biāo)簽
?寫法<html></html>
HTML標(biāo)簽是HTML文檔的根標(biāo)簽,在HTML中標(biāo)簽是一層嵌套一層的,而<HTML>標(biāo)簽是根標(biāo)簽(最外面一層的標(biāo)簽),所有其他的標(biāo)簽都寫在這個(gè)標(biāo)簽中。
根標(biāo)簽我們可以理解為最外層的標(biāo)簽。(看上面的結(jié)構(gòu))
文檔頭信息
HTML又包含head標(biāo)簽和body標(biāo)簽,其中head標(biāo)簽中設(shè)置文檔頭信息,body標(biāo)簽中設(shè)置文檔的內(nèi)容。
<head> 標(biāo)簽用于定義文檔的頭部,它是所有頭部元素的容器。
<head> 中的元素可以引用腳本、指示瀏覽器在哪里找到樣式表、提供元信息等等。
下面這些標(biāo)簽可用在 head 部分:<base>, <link>, <meta>, <script>, <style>, 以及 <title>。
那么怎么理解元信息呢?比如對(duì)于網(wǎng)頁本身的一些描述,該網(wǎng)頁的標(biāo)題?該網(wǎng)頁的描述,該網(wǎng)頁用的什么字符編碼!等等,這些信息描述著網(wǎng)頁,用戶又看不到這些信息。
比如某個(gè)人的性別,姓名,當(dāng)你看到這個(gè)人,可以看到外貌,身高,穿衣服的顏色。但是你并不知道這個(gè)人的姓名,有的也不知道性別。尤其像某些中性一點(diǎn)的長(zhǎng)相。是吧。元信息不會(huì)渲染,但是屬于該網(wǎng)頁的信息。
base標(biāo)簽
(該標(biāo)簽應(yīng)該學(xué)習(xí)了a img link form這幾個(gè)標(biāo)簽之后在學(xué)習(xí),看不懂沒關(guān)系,可以先了解)
base標(biāo)簽,是嵌套在head標(biāo)簽中的一個(gè)標(biāo)簽。這個(gè)標(biāo)簽是一個(gè)可選標(biāo)簽,也就是可以有,也可以沒有!
<base> 標(biāo)簽為頁面上的所有鏈接規(guī)定默認(rèn)地址或默認(rèn)目標(biāo)。
通常情況下,瀏覽器會(huì)從當(dāng)前文檔的 URL 中提取相應(yīng)的元素來填寫相對(duì) URL 中的空白。比如:我有個(gè)<a href='aa.html'>標(biāo)簽,那么瀏覽器會(huì)從當(dāng)前文檔的url,比如當(dāng)前文檔的url是www.xxxx.com/aa/bb/cc.html,瀏覽器會(huì)把www.xxxx.com/aa/bb/路徑拿出來,和aa.html組成新的url,那么這個(gè)超鏈接就會(huì)變成www.xxxx.com/aa/bb/aa.html。
使用 <base> 標(biāo)簽可以改變這一點(diǎn)。
如果我們將base設(shè)置成為其他的url。<base />那么,還是<a href='aa.html'>標(biāo)簽,就會(huì)把http://www.myweb.com/i/這個(gè)路徑拿出來和aa.html組成新的url地址。那么這個(gè)url超鏈接就會(huì)變成http://www.myweb.com/i/a.html這個(gè)鏈接了。
瀏覽器隨后將不再使用當(dāng)前文檔的 URL,而使用指定的基本 URL 來解析所有的相對(duì) URL。這其中包括 <a>、<img>、<link>、<form> 標(biāo)簽中的 URL。
base標(biāo)簽的用法
<base /> ------必選屬性。(你有這個(gè)標(biāo)簽,就必須擁有這個(gè)屬性)
<base target="_blank" /> ------------------可選屬性。target意思是目標(biāo),打開超鏈接的方式,
當(dāng)然也可以將兩個(gè)屬性寫到一個(gè)base標(biāo)簽中。
<base target="_blank"/>
默認(rèn)target的屬性是_self,也就是點(diǎn)擊超鏈接,在當(dāng)前頁面的框架中打開。(為什么不是當(dāng)前頁面呢?因?yàn)轫撁嬗锌赡芮短自诳蚣芾铮?/p>
link標(biāo)簽
<link> 標(biāo)簽定義文檔與外部資源的關(guān)系。 也就是說定義外部CSS文件存放的位置。因?yàn)槿绻麑SS全部寫在網(wǎng)頁中,這樣顯的頁面太亂,一般都是單獨(dú)存放在一個(gè)CSS 文件中的。
<link> 標(biāo)簽最常見的用途是鏈接樣式表CSS。
用法: <head> <link rel="stylesheet" type="text/css" href="test.css"></head>
meta標(biāo)簽
<meta> 元素可提供有關(guān)頁面的元信息(meta-information),針對(duì)搜索引擎和更新頻度的描述和關(guān)鍵詞。
<meta> 標(biāo)簽位于文檔的頭部,不包含任何內(nèi)容。
<meta> 標(biāo)簽的屬性定義了與文檔相關(guān)聯(lián)的名稱/值對(duì)。
meta標(biāo)簽的作用有:搜索引擎優(yōu)化(SEO),定義頁面使用語言,自動(dòng)刷新并指向新的頁面,實(shí)現(xiàn)網(wǎng)頁轉(zhuǎn)換時(shí)的動(dòng)態(tài)效果,控制頁面緩沖,網(wǎng)頁定級(jí)評(píng)價(jià),控制網(wǎng)頁顯示的窗口等!
由于meta信息相對(duì)比較復(fù)雜我們將在以后HTML高級(jí)課程中講解
最常用meta標(biāo)簽是:
<meta charset=“utf-8”/>
設(shè)置頁面編碼寫法。(頁面編碼注意,要設(shè)置的編碼和文檔的編碼統(tǒng)一,否則會(huì)出亂碼)
具體編碼以后的文章講解。
script標(biāo)簽
<script> 標(biāo)簽用于定義客戶端腳本,比如 JavaScript。
script 元素既可以包含腳本語句,也可以通過 src 屬性指向外部腳本文件。
必需的 type 屬性規(guī)定腳本的 MIME 類型。
JavaScript 的常見應(yīng)用是圖像操作、表單驗(yàn)證以及動(dòng)態(tài)內(nèi)容更新。
用法<script type="text/javascript">document.write("Hello World!") ></script> 以后學(xué)javascript將會(huì)用到,這里只做了解。
style標(biāo)簽
<style> 標(biāo)簽用于為 HTML 文檔定義樣式信息。(內(nèi)聯(lián)CSS樣式)
在 style 中,您可以規(guī)定在瀏覽器中如何呈現(xiàn) HTML 文檔。
type 屬性是必需的,定義 style 元素的內(nèi)容。唯一可能的值是 "text/css"。
用法<head> <style type="text/css"> h1 {color:red} p {color:blue} </style> </head>
該標(biāo)簽將會(huì)在學(xué)習(xí)CSS時(shí)用到,這里只做了解
title標(biāo)簽
<title> 元素可定義文檔的標(biāo)題。
瀏覽器會(huì)以特殊的方式來使用標(biāo)題,并且通常把它放置在瀏覽器窗口的標(biāo)題欄或狀態(tài)欄上。
同樣,當(dāng)把文檔加入用戶的鏈接列表或者收藏夾或書簽列表時(shí),標(biāo)題將成為該文檔鏈接的默認(rèn)名稱。
用法<title>網(wǎng)頁標(biāo)題</title>
<title> 標(biāo)簽是 <head> 標(biāo)簽中唯一要求包含的東西。(必須有title標(biāo)簽)
head 標(biāo)簽總結(jié)
<head>標(biāo)簽唯一要求包含的標(biāo)簽是<title>其他那幾種可以包含也可以不包含,但是一般我們會(huì)包含<meta charset=“utf-8”>告訴瀏覽器我們的文件編碼是什么。
常用的標(biāo)簽有:
<meta name=“keywords” content=“關(guān)鍵字”>告訴搜索引擎這個(gè)頁面的關(guān)鍵字
<meta name=“description” content=“頁面介紹”>告訴搜索引擎這個(gè)頁面的簡(jiǎn)介
meta標(biāo)簽,會(huì)在Html高級(jí)部分繼續(xù)講解。
<body>頁面主體信息
body 元素包含html的所有顯示web內(nèi)容(比如文本、超鏈接、圖像、表格和列表等等。)
Body中可以使用塊級(jí)標(biāo)簽和內(nèi)聯(lián)標(biāo)簽來顯示文檔結(jié)構(gòu)
塊級(jí)標(biāo)簽:h1~h6,p,div,table,ul,dl,from標(biāo)簽等
內(nèi)聯(lián)標(biāo)簽:a,img,span,I,strong,select標(biāo)簽等
什么塊級(jí)標(biāo)簽(元素)呢?塊級(jí)標(biāo)簽和內(nèi)聯(lián)標(biāo)簽區(qū)別是什么?
塊級(jí)元素(block)特性:總是獨(dú)占一行
內(nèi)聯(lián)元素(inline)特性:和相鄰的內(nèi)聯(lián)元素在同一行。
標(biāo)簽和元素是一個(gè)意思!
<body>中包含的標(biāo)簽?
標(biāo)題標(biāo)簽
通過<h1>~<h6>六個(gè)標(biāo)簽定義不同大寫的標(biāo)簽。
文本格式化標(biāo)簽
早期編寫html代碼的時(shí)候,那個(gè)時(shí)候css用的很少,所以有一些標(biāo)簽來文本格式化。現(xiàn)在基本都用CSS來格式化文本的大小顏色粗體等等。
而更多時(shí)候使用這些標(biāo)簽來進(jìn)行占位,利用CSS來渲染這些標(biāo)簽。常用的是span。
html中的注釋
注釋用來說明、注解、注釋代碼。給人看的不會(huì)被執(zhí)行。
格式為:<!– 注釋內(nèi)容-->
瀏覽器頁面不會(huì)被顯示,而頁面源代碼中可以看到注釋的內(nèi)容。因?yàn)轫?xiàng)目越大,或者你的頁面越大,當(dāng)時(shí)可能你能看懂。時(shí)間長(zhǎng)了肯定看不明白。如果有注釋的話,可以馬上理解當(dāng)時(shí)為什么要這么做。
水平線
在HTML代碼中加入一條水平線利用<hr />來操作。
段落標(biāo)簽-<p>
瀏覽器會(huì)自動(dòng)地在段落的前后添加空行,一般用在大段的文章。
換行標(biāo)簽<br/>
<br/>標(biāo)簽可以實(shí)現(xiàn)換一個(gè)新行 ,正常來說,你在編寫html頁面的時(shí)候,無論怎么換行,在頁面用瀏覽器打開的時(shí)候,是不會(huì)換行的,如果加入了<br/>標(biāo)簽,瀏覽器就會(huì)認(rèn)為這里該換行顯示了。
鏈接<a>標(biāo)簽
HTML 使用超級(jí)鏈接與網(wǎng)絡(luò)上的另一個(gè)文檔相連。
幾乎可以在所有的網(wǎng)頁中找到鏈接。點(diǎn)擊鏈接可以從一張頁面跳轉(zhuǎn)到另一張頁面。
超鏈接可以是一個(gè)字,一個(gè)詞,或者一組詞,也可以是一幅圖像,您可以點(diǎn)擊這些內(nèi)容來跳轉(zhuǎn)到新的文檔或者當(dāng)前文檔中的某個(gè)部分。
當(dāng)您把鼠標(biāo)指針移動(dòng)到網(wǎng)頁中的某個(gè)鏈接上時(shí),箭頭會(huì)變?yōu)橐恢恍∈帧?
我們通過使用 <a> 標(biāo)簽在 HTML 中創(chuàng)建鏈接。
有兩種使用 <a> 標(biāo)簽的方式:
1、通過使用 href 屬性 - 創(chuàng)建指向另一個(gè)文檔的鏈接
<a href=“鏈接的文件名” target=“_blank”>鏈接名</a>
2、通過使用 name 屬性 - 創(chuàng)建文檔內(nèi)的書簽
一般錨點(diǎn)鏈接主要用于網(wǎng)頁太長(zhǎng)了,想瀏覽的那個(gè)位置需要滾輪滾動(dòng)好幾下才能到達(dá)那個(gè)位置,而使用錨點(diǎn)(書簽)直接可以準(zhǔn)確的跳轉(zhuǎn)到你想去的位置。
<a name=“文檔標(biāo)簽名”>文檔標(biāo)簽</a>
文檔中對(duì)錨進(jìn)行命名(創(chuàng)建一個(gè)書簽)
<a href=“#tips”>鏈接名</a>
同一個(gè)文檔中創(chuàng)建指向該錨的鏈接用關(guān)鍵字#+錨名字
<a >有用的提示</a>
也可以鏈接到其他網(wǎng)絡(luò)上的頁面錨的鏈接
圖像<img>
可以使用img標(biāo)簽在頁面上顯示一張圖片。
格式:
<img src=“圖片路徑” width=“寬” height=“高” alt=“圖片無法顯示時(shí)的提示”title=“鼠標(biāo)放圖片上的提示”/>
備注:一般只設(shè)置寬即可,瀏覽器會(huì)根據(jù)圖片大小進(jìn)行縮放。如果強(qiáng)行設(shè)置寬、高,有的時(shí)候圖片會(huì)失真。
列表標(biāo)簽
列表標(biāo)簽分為有序標(biāo)簽和無序標(biāo)簽
當(dāng)然、有序列表前面也可以更改序號(hào),需要在CSS中學(xué)習(xí)改變序號(hào)的方法。
二級(jí)列表<dl>標(biāo)簽
表格標(biāo)簽-table
Table標(biāo)簽用來制作表格,表格由若干個(gè)行<tr>組成,每一行又由若干個(gè)單元格<td>組成。
Table標(biāo)簽中使用tr標(biāo)簽定義行,td標(biāo)簽定義一行中的一個(gè)列。如:定義一個(gè)一行四列。
表格的表頭使用 <th> 標(biāo)簽進(jìn)行定義。
大多數(shù)瀏覽器會(huì)把表頭顯示為粗體居中的文本:
<table>標(biāo)簽的cellpadding 屬性規(guī)定單元邊沿與其內(nèi)容之間的空白。
<table>標(biāo)簽的cellspacing 屬性規(guī)定單元格之間的空間。
橫向合并單元格-colspan
表格-table-豎向-rowspan
內(nèi)聯(lián)框架
可以使用iframe在頁面中在嵌入另外一個(gè)頁面。
分區(qū)標(biāo)簽-div
Div是塊級(jí)標(biāo)簽,主要是用來作為標(biāo)簽容器,和規(guī)劃頁面結(jié)構(gòu)(頁面布局)的
用法:
<div style="margin:auto;border:1px solid #f00;width: 300px;height: 600px"></div>
在很早以前,小編剛?cè)胄械臅r(shí)候,那個(gè)時(shí)候CSS不流行,頁面布局全部都用表格來做。那酸爽實(shí)在無法用言語來表達(dá)。而現(xiàn)在都是用CSS來進(jìn)行頁面布局。這個(gè)div標(biāo)簽頁是以后布局常用的標(biāo)簽。
Span標(biāo)簽
Span標(biāo)簽是內(nèi)聯(lián)標(biāo)簽,沒有特殊功能。主要是用來做為文本的容器,span標(biāo)簽主要是配合CSS來處理文字。
比如,我只想讓幾個(gè)文字編程紅顏色的,這個(gè)時(shí)候就可以用span標(biāo)簽配合CSS來做了。
框架集-frameset
我們可以使用frameset標(biāo)簽把一個(gè)頁面窗口分隔成多個(gè)窗口,然后使用frame標(biāo)簽為每一個(gè)窗口制定一個(gè)頁面
使用rows/cols的值規(guī)定每行或每列占據(jù)屏幕的面積,中間用逗號(hào)分隔。
frameset不能放在body中,如果放在body中不能顯示框架 !
在最新的html5中已經(jīng)刪除了這個(gè)標(biāo)簽了
實(shí)體
在 HTML 中,某些字符是預(yù)留的。
在 HTML 中不能使用小于號(hào)(<)和大于號(hào)(>),這是因?yàn)闉g覽器會(huì)誤認(rèn)為它們是標(biāo)簽。
比如我們想在網(wǎng)頁使用空格,直接按空格鍵是肯定不好使的,所以使用使用實(shí)體 !
音頻
<embed src="helloworld.swf" height=“100” width=“100”/>
<embed> 標(biāo)簽是 HTML 5 中的新標(biāo)簽。
使用embed標(biāo)簽可以在網(wǎng)頁中嵌入Flash,Mid,MP3等嵌入式內(nèi)容
現(xiàn)在html5出了很多新的標(biāo)簽,以后會(huì)專門有講解html5的文章。
今天我們一起了解了html相關(guān)的很多標(biāo)簽。其實(shí)都很簡(jiǎn)單。只要自己動(dòng)手做一做,就可以做出來了。如果想要做出精美的頁面,還是需要配合css來實(shí)現(xiàn)的哦。
明天我們繼續(xù)講解html的一些其他相關(guān)知識(shí)。手寫不宜!請(qǐng)給小編點(diǎn)個(gè)贊!十分感謝。
文將詳細(xì)介紹如何在.NET桌面程序中使用自定義的XML配置文件來保存和讀取設(shè)置。除了XML之外,我們還將探討其他常見的配置文件格式,如JSON、INI和YAML,以及它們的優(yōu)缺點(diǎn)和相關(guān)的NuGet類庫。最后,我們將重點(diǎn)介紹我們?yōu)楹芜x擇XML作為配置文件格式,并展示一個(gè)實(shí)用的示例。
在.NET桌面程序中,通常使用setting文件來保存程序的配置信息。使用setting文件的方法很簡(jiǎn)單,只需在項(xiàng)目中添加一個(gè)setting文件,然后通過Properties.Settings.Default來獲取和保存設(shè)置即可。
我的開源項(xiàng)目 HackerScreenSaver[1] 之前就是使用這種方式,但是當(dāng)我在升級(jí) Windows11 的內(nèi)核版本后,發(fā)現(xiàn)當(dāng)程序在被系統(tǒng)以屏保程序啟動(dòng)后,無法加載配置了。
如此這般就需要使用其他方式來存儲(chǔ)配置文件了。畢竟,setting文件并非唯一可用于保存設(shè)置的方式。我們可以選擇存儲(chǔ)到注冊(cè)表,或者自己寫配置文件并保存。
對(duì)于一些簡(jiǎn)單的配置我們甚至可以直接寫一個(gè)二進(jìn)制文件,當(dāng)然一般情況下我們還是選擇常見格式的配置文件,比如:JSON、INI 和 YAML。
1.JSON(JavaScript Object Notation) 格式?優(yōu)點(diǎn):易于閱讀和編寫,支持復(fù)雜的數(shù)據(jù)結(jié)構(gòu),廣泛應(yīng)用于Web API和前端開發(fā)。?缺點(diǎn):根據(jù) JSON 規(guī)范,其是不支持注釋的(單獨(dú) Json 文件在某些編輯器可以正確解析注釋,在 .NET Core 中通過 JSON 配置提供程序讀取配置時(shí),也可以在配置文件中添加注釋)。?相關(guān)類庫:Newtonsoft.Json
(建議使用自帶的 System.Text.Json
),可參考相關(guān)遷移教程[2]。2.INI(Initialization File)?優(yōu)點(diǎn):簡(jiǎn)潔,易于閱讀和編輯,適用于存儲(chǔ)簡(jiǎn)單的鍵值對(duì)。?缺點(diǎn):不支持復(fù)雜的數(shù)據(jù)結(jié)構(gòu)和類型。?相關(guān)類庫:ini-parser
3.YAML(Yet Another Markup Language)?優(yōu)點(diǎn):簡(jiǎn)潔,易于閱讀和編輯,支持復(fù)雜的數(shù)據(jù)結(jié)構(gòu),支持注釋。?缺點(diǎn):縮進(jìn)敏感,可能導(dǎo)致錯(cuò)誤。?相關(guān)類庫:YamlDotNet
HackerScreenSaver 為了設(shè)計(jì)的小巧,根據(jù)合適原則和簡(jiǎn)單原則,我最終選擇了不需要引入其他第三方的 XML 格式配置文件。
XML(eXtensible Markup Language)具有以下優(yōu)點(diǎn):
?可擴(kuò)展性強(qiáng),支持復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。?支持注釋,便于理解和維護(hù)。?作為標(biāo)準(zhǔn)的數(shù)據(jù)交換格式,易于與其他系統(tǒng)集成。
以下是我們?cè)O(shè)計(jì)的一個(gè)簡(jiǎn)單的配置類 SimpleSetting
,用于保存設(shè)置:
public class SimpleSetting
{
// 類的屬性和構(gòu)造函數(shù)省略...
/// <summary>
/// 從文件中讀取設(shè)置
/// </summary>
/// <param name="path">配置文件路徑</param>
public SimpleSetting(string path)
{
System.Xml.Serialization.XmlSerializer xs = new System.Xml.Serialization.XmlSerializer(typeof(SimpleSetting));
using (System.IO.FileStream fs = new System.IO.FileStream(path, System.IO.FileMode.Open))
{
SimpleSetting ss = (SimpleSetting)xs.Deserialize(fs);
isLocal = ss.isLocal;
uInfo = ss.uInfo;
Opacity = ss.Opacity;
autoExit = ss.autoExit;
}
}
/// <summary>
/// 保存設(shè)置到文件
/// </summary>
/// <param name="path">配置文件路徑</param>
public void Save(string path)
{
System.Xml.Serialization.XmlSerializer xs = new System.Xml.Serialization.XmlSerializer(typeof(SimpleSetting));
using (System.IO.FileStream fs = new System.IO.FileStream(path, System.IO.FileMode.Create))
{
xs.Serialize(fs, this);
}
}
}
SimpleSetting
類中包含了從XML文件中讀取設(shè)置和將設(shè)置保存到XML文件的方法。為了使用該類,我們只需要在程序中創(chuàng)建一個(gè) SimpleSetting
對(duì)象,然后調(diào)用其 Save
和 Load
方法即可。這樣,我們就可以在.NET桌面程序中使用自定義的XML配置文件來保存設(shè)置了。
本文詳細(xì)介紹了如何在.NET桌面程序中使用自定義的 XML 配置文件以及為何選擇 XML 作為配置文件格式。同時(shí),我們還探討了其他常見的配置文件格式,如 JSON、INI 和 YAML,以及它們的優(yōu)缺點(diǎn)和相關(guān)的 NuGet 類庫。希望這篇文章能幫助你找到適合你項(xiàng)目需求的配置文件解決方案!
[1]
HackerScreenSaver: https://github.com/sangyuxiaowu/HackerScreenSaver?wt.mc_id=DT-MVP-5005195[2]
相關(guān)遷移教程: https://learn.microsoft.com/zh-cn/dotnet/standard/serialization/system-text-json/migrate-from-newtonsoft?wt.mc_id=DT-MVP-5005195
何提升Web頁面的性能,很多開發(fā)人員從多個(gè)方面來下手如JavaScript、圖像優(yōu)化、服務(wù)器配置,文件壓縮或是調(diào)整CSS。
很顯然HTML 已經(jīng)達(dá)到了一個(gè)瓶頸,盡管它是開發(fā)Web 界面必備的核心語言。HTML頁面的負(fù)載也是越來越重。大多數(shù)頁面平均需要40K的空間,像一些大型網(wǎng)站會(huì)包含數(shù)以千計(jì)的HTML 元素,頁面Size會(huì)更大。
如何有效的降低HTML 代碼的復(fù)雜度和頁面元素的數(shù)量,本文主要解決了這個(gè)問題,從多個(gè)方面介紹了如何編寫簡(jiǎn)練,清晰的HTML 代碼,能夠使得頁面加載更為迅速,且能在多種設(shè)備中運(yùn)行良好。
在設(shè)計(jì)和開發(fā)過程中需要遵循以下原則:
HTML,CSS 和JavaScript三者的關(guān)系
HTML 是用于調(diào)整頁面結(jié)構(gòu)和內(nèi)容的標(biāo)記語言。HTML 不能用于修飾樣式內(nèi)容,也不能在頭標(biāo)簽中輸入文本內(nèi)容,使代碼變得冗長(zhǎng)和復(fù)雜,相反使用CSS 來修飾布局元素和外觀比較合適。HTML元素默認(rèn)的外觀是由瀏覽器默認(rèn)的樣式表定義的,如在Chrome中h1標(biāo)簽元素會(huì)渲染成32px的Times 粗體。
三條通用設(shè)計(jì)規(guī)則:
文檔結(jié)構(gòu)方面也可以做優(yōu)化,如下:
<!DOCTYPE html> <html> <head> <title>Recipes: pesto</title> </head> <body> <h1>Pesto</h1> <p>Pesto is good!</p> </body> </html>
<head> <title>My pesto recipe</title> <link rel="stylesheet" href="/css/global.css"> <link rel="stylesheet" href="css/local.css"> </head>
使用這兩種方法,瀏覽器會(huì)在解析HTML代碼之前將CSS信息準(zhǔn)備好。因此有助于提升頁面加載性能。
在頁面底部body結(jié)束標(biāo)簽之前輸入JavaScript代碼,這樣有助于提升頁面加載的速度,因?yàn)闉g覽器在解析JavaScript代碼之前將頁面加載完成,使用JavaScript會(huì)對(duì)頁面元素產(chǎn)生積極的影響。
<body> ... <script src="/js/global.js"> <script src="js/local.js"> </body>
使用Defer和async屬性,腳本元素具有async 屬性無法保證會(huì)按順序執(zhí)行。
可在JavaScript代碼中添加Handlers。千萬別加到HTML內(nèi)聯(lián)代碼中,比如下面的代碼則容易導(dǎo)致錯(cuò)誤且不易于維護(hù):
index.html:
<head> ... <script src="js/local.js"> </head> <body onload="init()"> ... <button onclick="handleFoo()">Foo</button> ... </body>
下面的寫法比較好:
index.html:
<head> ... </head> <body> ... <button id="foo">Foo</button> ... <script src="js/local.js"> </body>
js/local.js:
init(); var fooButton = document.querySelector('#foo'); fooButton.onclick = handleFoo();
驗(yàn)證
優(yōu)化網(wǎng)頁的一種方法就是瀏覽器可處理非法的HTML 代碼。合法的HTML代碼很容易調(diào)試,且占內(nèi)存少,耗費(fèi)資源少,易于解析和渲染運(yùn)行起來更快。非法的HTML代碼讓實(shí)現(xiàn)響應(yīng)式設(shè)計(jì)變得異常艱難。
當(dāng)使用模板時(shí),合法的HTML代碼顯得異常重要,經(jīng)常會(huì)發(fā)生模板單獨(dú)運(yùn)行良好,當(dāng)與其他模塊集成時(shí)就報(bào)各種各樣的錯(cuò)誤,因此一定要保證HTML代碼的質(zhì)量,可采取以下措施:
代碼格式
格式一致性使得HTML代碼易于閱讀,理解,優(yōu)化,調(diào)試。
語義標(biāo)記
語義指意義相關(guān)的事物,HTML 可從頁面內(nèi)容中看出語義:元素和屬性的命名一定程度上表達(dá)了內(nèi)容的角色和功能。HTML5 引入了新的語義元素,如<header>,<footer>及<nav>。
選擇合適的元素來編寫代碼可保證代碼的易讀性:
例如:
<div>Name: <input type="text" id="name"></div>
換種寫法會(huì)更好:
1: <div> 2: <label for="name">Name:</label><input type="text" id="name"> 3: </div>
布局
要提高HTML代碼的性能,要遵循HTML 代碼以實(shí)現(xiàn)功能和為目標(biāo),而不是樣式。
CSS
雖然本文講解的是如何優(yōu)化HTML,下面介紹了一些使用css的基本技能:
以上就是本文介紹的優(yōu)化HTML代碼的技巧,一個(gè)高質(zhì)量高性能的網(wǎng)站,往往取決于對(duì)細(xì)節(jié)的處理,因此我們?cè)谌粘i_發(fā)中,能夠考慮到用戶體驗(yàn),后期維護(hù)等方面,則會(huì)產(chǎn)生更高效的開發(fā)。
*請(qǐng)認(rèn)真填寫需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。