、唯一定律
無(wú)論有多少人共同參與同一項(xiàng)目,一定要確保每一行代碼都像是唯一個(gè)人編寫的。
二、HTML
2.1 語(yǔ)法
(1)用兩個(gè)空格來(lái)代替制表符(tab) -- 這是唯一能保證在所有環(huán)境下獲得一致展現(xiàn)的方法。
(2)嵌套元素應(yīng)當(dāng)縮進(jìn)一次(即兩個(gè)空格)。
(3)對(duì)于屬性的定義,確保全部使用雙引號(hào),絕不要使用單引號(hào)。
(4)不要在自閉合(self-closing)元素的尾部添加斜線 -- HTML5 規(guī)范中明確說(shuō)明這是可選的。
(5)不要省略可選的結(jié)束標(biāo)簽(closing tag)(例如,</li> 或 </body>)。
2.2 Example
三、HTML5 doctype
為每個(gè) HTML 頁(yè)面的第一行添加標(biāo)準(zhǔn)模式(standard mode)的聲明,這樣能夠確保在每個(gè)瀏覽器中擁有一致的展現(xiàn)。
四、語(yǔ)言屬性
根據(jù) HTML5 規(guī)范:
強(qiáng)烈建議為 html 根元素指定 lang 屬性,從而為文檔設(shè)置正確的語(yǔ)言。這將有助于語(yǔ)音合成工具確定其所應(yīng)該采用的發(fā)音,有助于翻譯工具確定其翻譯時(shí)所應(yīng)遵守的規(guī)則等等。
五、IE 兼容模式
IE 支持通過(guò)特定的 <meta> 標(biāo)簽來(lái)確定繪制當(dāng)前頁(yè)面所應(yīng)該采用的 IE 版本。除非有強(qiáng)烈的特殊需求,否則最好是設(shè)置為 edge mode,從而通知 IE 采用其所支持的最新的模式。
六、字符編碼
通過(guò)明確聲明字符編碼,能夠確保瀏覽器快速并容易的判斷頁(yè)面內(nèi)容的渲染方式。這樣做的好處是,可以避免在 HTML 中使用字符實(shí)體標(biāo)記(character entity),從而全部與文檔編碼一致(一般采用 UTF-8 編碼)。
七、引入 CSS 和 JavaScript 文件
根據(jù) HTML5 規(guī)范,在引入 CSS 和 JavaScript 文件時(shí)一般不需要指定 type 屬性,因?yàn)?text/css 和 text/javascript 分別是它們的默認(rèn)值。
八、實(shí)用為王
盡量遵循 HTML 標(biāo)準(zhǔn)和語(yǔ)義,但是不要以犧牲實(shí)用性為代價(jià)。任何時(shí)候都要盡量使用最少的標(biāo)簽并保持最小的復(fù)雜度。
九、屬性順序
9.1 從大到小
HTML 屬性應(yīng)當(dāng)按照以下給出的順序依次排列,確保代碼的易讀性。
(1)class
(2)id, name
(3)data-*
(4)src, for, type, href, value
(5)title, alt
(6)role, aria-*
9.2 Example
9.3 說(shuō)明
class 用于標(biāo)識(shí)高度可復(fù)用組件,因此應(yīng)該排在首位。id 用于標(biāo)識(shí)具體組件,應(yīng)當(dāng)謹(jǐn)慎使用(例如,頁(yè)面內(nèi)的書簽),因此排在第二位。
十、布爾(boolean)型屬性
10.1 注意
(1)布爾型屬性可以在聲明時(shí)不賦值。XHTML 規(guī)范要求為其賦值,但是 HTML5 規(guī)范不需要。
(2)元素的布爾型屬性如果有值,就是 true,如果沒有值,就是 false。
(3)如果屬性存在,其值必須是空字符串或 [...] 屬性的規(guī)范名稱,并且不要在首尾添加空白符。
簡(jiǎn)單來(lái)說(shuō),就是不用賦值。
10.2 Example
十一、減少標(biāo)簽的數(shù)量
編寫 HTML 代碼時(shí),盡量避免多余的父元素。很多時(shí)候,這需要迭代和重構(gòu)來(lái)實(shí)現(xiàn)。
十二、減少 JavaScript 生成的標(biāo)簽
通過(guò) JavaScript 生成的標(biāo)簽讓內(nèi)容變得不易查找、編輯,并且降低性能。能避免時(shí)盡量避免。
最后,小編還給大家準(zhǔn)備了web前端的學(xué)習(xí)資料
獲取方式:請(qǐng)大家轉(zhuǎn)發(fā)+關(guān)注并私信小編關(guān)鍵詞:“資料”即可獲取前端自學(xué)教程一套。
移動(dòng)互聯(lián)網(wǎng)時(shí)代,網(wǎng)頁(yè)的響應(yīng)式布局已經(jīng)成為一個(gè)必備的技能。響應(yīng)式布局可以讓網(wǎng)頁(yè)在不同大小的屏幕上都能完美展示,提供更好的用戶體驗(yàn)。本文將教你如何使用CSS實(shí)現(xiàn)網(wǎng)站的響應(yīng)式布局,讓你的網(wǎng)頁(yè)在各種設(shè)備上都能完美展示。
步驟一:使用媒體查詢
媒體查詢是CSS3的一個(gè)重要特性,可以根據(jù)不同的設(shè)備條件來(lái)應(yīng)用不同的樣式。在網(wǎng)站中使用媒體查詢,可以根據(jù)屏幕的寬度、高度、設(shè)備類型等條件來(lái)調(diào)整網(wǎng)頁(yè)的樣式。例如,可以設(shè)置在屏幕寬度小于某個(gè)值時(shí),網(wǎng)頁(yè)的布局變?yōu)閱瘟酗@示,以適應(yīng)小屏幕設(shè)備。
步驟二:使用百分比和彈性布局
在響應(yīng)式布局中,應(yīng)盡量避免使用固定的像素單位來(lái)設(shè)置元素的寬度和高度,而是使用百分比來(lái)設(shè)置。通過(guò)設(shè)置百分比寬度,可以使元素根據(jù)屏幕大小自動(dòng)調(diào)整大小。另外,彈性布局(Flexbox)也是一個(gè)強(qiáng)大的工具,可以實(shí)現(xiàn)靈活的網(wǎng)頁(yè)布局。通過(guò)設(shè)置flex屬性和彈性容器,可以輕松實(shí)現(xiàn)響應(yīng)式的網(wǎng)頁(yè)布局。
步驟三:隱藏不必要的內(nèi)容
在小屏幕設(shè)備上,為了提供更好的用戶體驗(yàn),有時(shí)候需要隱藏一些不必要的內(nèi)容。可以使用CSS的display屬性或者visibility屬性來(lái)控制元素的顯示與隱藏。通過(guò)設(shè)置display:none或visibility:hidden,可以在小屏幕設(shè)備上隱藏一些不必要的內(nèi)容,以減少頁(yè)面的混亂和加載時(shí)間。
步驟四:優(yōu)化圖片和字體
在響應(yīng)式布局中,圖片和字體的大小也需要根據(jù)屏幕大小進(jìn)行適配。可以使用CSS中的max-width屬性設(shè)置圖片的最大寬度,以避免圖片在小屏幕設(shè)備上過(guò)大而導(dǎo)致頁(yè)面排版混亂。另外,使用相對(duì)單位(如em或rem)來(lái)設(shè)置字體大小,可以根據(jù)屏幕大小進(jìn)行自適應(yīng)調(diào)整。
步驟五:測(cè)試和調(diào)試
在完成響應(yīng)式布局后,一定要進(jìn)行測(cè)試和調(diào)試,以確保網(wǎng)頁(yè)在各種設(shè)備上都能正常展示。可以使用瀏覽器的開發(fā)者工具,模擬不同的設(shè)備尺寸和屏幕方向,查看網(wǎng)頁(yè)的效果。如果發(fā)現(xiàn)有問(wèn)題,可以通過(guò)調(diào)整CSS樣式來(lái)修復(fù)。
總結(jié):
通過(guò)使用媒體查詢、百分比和彈性布局、隱藏不必要的內(nèi)容、優(yōu)化圖片和字體以及測(cè)試和調(diào)試等步驟,我們可以實(shí)現(xiàn)網(wǎng)站的響應(yīng)式布局,讓網(wǎng)頁(yè)在各種設(shè)備上都能完美展示。快來(lái)學(xué)習(xí)這些技巧,讓你的網(wǎng)頁(yè)更加適應(yīng)移動(dòng)設(shè)備,提供更好的用戶體驗(yàn)吧!
HTML 中的腳本必須位于 <script> 與 </script> 標(biāo)簽之間。腳本可被放置在 HTML 頁(yè)面的 <body> 和 <head> 部分中。
<script> 和 </script> 會(huì)告訴 JavaScript 在何處開始和結(jié)束。
<script> 和 </script> 之間的代碼行包含了 JavaScript。
使用<script>的方式有兩種,一種是直接在頁(yè)面中嵌入Javascript代碼,類是上邊圖片所示,另一種是包含外部JavaScript文件。包含在<script>內(nèi)的javascript代碼將被自上而下的依次解釋。也可以把腳本保存到外部文件中。外部文件通常包含被多個(gè)網(wǎng)頁(yè)使用的代碼。外部 JavaScript 文件的文件擴(kuò)展名是 .js。如需使用外部文件,請(qǐng)?jiān)?<script> 標(biāo)簽的 "src" 屬性中設(shè)置該 .js 文件的路徑。原理同css的引用類似。
按照傳統(tǒng)做法,所有的<script>元素都應(yīng)放在<head>標(biāo)簽里面,這樣做的目的是把所有的外部文件(css文件和javascript文件)都放在相同的地方,便于管理。可是放在<head>中就意味著必須等所有的javascript代碼 下載、解析、執(zhí)行完之后,頁(yè)面要呈現(xiàn)的內(nèi)容才會(huì)被加載(瀏覽器在遇到<body>元素的時(shí)候才會(huì)加載呈現(xiàn)頁(yè)面內(nèi)容)。對(duì)于那些要執(zhí)行很多javascript代碼的頁(yè)面來(lái)說(shuō),這無(wú)疑會(huì)導(dǎo)致瀏覽器在呈現(xiàn)頁(yè)面時(shí)會(huì)出現(xiàn)很明顯的延時(shí),而延時(shí)期間頁(yè)面一片空白,(等待javascript加載,未執(zhí)行到<body>元素),這對(duì)于用戶體驗(yàn)來(lái)說(shuō)是無(wú)法容忍的,為避免這個(gè)問(wèn)題,現(xiàn)代web程序一般都把javascript用于放到<body>元素中頁(yè)面內(nèi)容的最后面,即結(jié)束標(biāo)簽</body>之前。如上個(gè)程序代碼所示。
延遲腳本defer:這個(gè)屬性的用途是表明腳本在執(zhí)行時(shí)不會(huì)影響頁(yè)面的構(gòu)造。也就是說(shuō),腳本會(huì)被延遲到整個(gè)頁(yè)面都解析完畢后再運(yùn)行。因此,在<script>元素中設(shè)置defer 屬性,相當(dāng)于告訴瀏覽器立即下載,但延遲執(zhí)行。具體使用如下圖所示:
異步腳本async:這個(gè)屬性與 defer 屬性類似,async 只適用于外部腳本文件,并告訴瀏覽器立即下載文件。但與 defer不同的是,標(biāo)記為 async 的腳本不必等待其他腳本,也不必阻塞文檔呈現(xiàn),并且不保證按照指定它們的先后順序執(zhí)行。具體使用如下圖所示:
如果瀏覽器不支持 JavaScript ,或者被用戶手動(dòng)屏蔽時(shí),對(duì)這種問(wèn)題的最終解決方案就是創(chuàng)造一個(gè)<noscript>元素,用以在不支持 JavaScript 的瀏覽器中顯示替代的內(nèi)容。這個(gè)元素可以包含能夠出現(xiàn)在文檔<body>中的任何 HTML 元素——<script>元素除外。包含在<noscript>元素中的內(nèi)容只有在下列情況下才會(huì)顯示出來(lái)。具體的使用如下所示:
?
這個(gè)頁(yè)面會(huì)在腳本無(wú)效的情況下向用戶顯示一條消息。而在啟用了腳本的瀏覽器中,用戶永遠(yuǎn)也不會(huì)看到它——盡管它是頁(yè)面的一部分。
每日金句:我沒有停止愛你,我只是決定不再表現(xiàn)出來(lái)。喜歡我的文章的小伙伴記得關(guān)注一下哦,每天將為你更新最新知識(shí)。
*請(qǐng)認(rèn)真填寫需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。