搜尋
首頁web前端html教學《web前端最佳实践》-HTML篇_html/css_WEB-ITnose

一、web标准

很多人把web标准挂在嘴边,却没有引起足够重视,只关注页面外在的表现而忽略页面本身代码的质量。

标准的页面具有哪些优点?

  • 保证浏览器正确渲染 最大限度的保证页面在不同浏览器正常解析,同时还能最大限度保证在未来的各种客户端中正常解析。

  • 更容易被搜索引擎搜寻,提高网站搜索排名。标准的页面基本完成了一半的搜索引擎优化工作,搜索引擎的网络“爬虫”目的是读懂网站的内容,并找出网站关键字。合理使用标签和属性,可以帮助搜索引擎准确理解网站内容。

  • 提高网站易用性。让网站能被更多用户访问,比如视力或肢体障碍用户。

  • 更好的维护和扩展。 多个开发者如果遵循统一的标准,则会更好的理解和维护已有的页面。标签、样式、以及行为分离的标准页面显然具有更好的扩展性。

  • 如何做到标准?

  • 标准的HTML页面结构,比如文档类型声明、head(title和引入的文件)、body等。

  • 正确闭合标签。

  • 停止使用不标准的标签和属性,简化代码。

  • 样式和结构分离。

  • 添加javascript禁用的提示信息。

  • 添加必要的标签,比如常用的keywords、description,设置IE浏览器的兼容模式,设置页面在移动设备中的显示等。

二、高可读性HTML

一些小原则

1、注意标签语义化,网页的外观看起来怎样跟浏览器的解析以及搜索引擎的抓取毫无关系,高可读性的html代码除了使开发者自身更易看懂和维护之外,最重要还是给机器去读的。

2、没必要使用的标签就不要用,可以利用其它的方法去做到同样的效果,比如伪元素。 比较常见的使用不当之处有“分隔符”和“空标签清除浮动”等。

3、使用一些非文字内容的时候,虽然看似使用空标签配合css就可以完成,但搜索引擎却不能得知它的作用,可以添加一些文字说明,然后再用css将其隐藏。这样做也便于第三方阅读工具的识别。

4、熟悉各标签上规范的属性,给html标签添加必要的属性 比如常见的:alt、title、for等。

5、
应仅用于文本内容的换行,不应用于行级元素的换行。

6、网页中的图片是使用《web前端最佳实践》-HTML篇_html/css_WEB-ITnose还是background? 若作为页面内容的一部分,则使用img,若仅用于装饰,使用background。

常用几类标签的正确使用方式

网页标题层级

标题标签指的是h1~h6这6个标签,统称hx标签,相比其他的语义标签,标签会受到搜索引擎的“特殊照顾。

(1)在标题处应使用。

(2)页面中只使用一个h1标签,搜索引擎会给予它最高权重。其他模块标题标签从h2开始。

(3)标签使用过程中不要跳级,保持层级连贯性。

(4)不要单纯使用标签给内容设置样式。

正确设计表单

(1)不要使用

(2)不要用展示表单的文本,应使用

给表单控件分组,用来定义控件组的标题,另外还可以通过设置
的disable属性禁用包含的表单控件。

(4)给输入控件设置合适的水印提示,所谓水印提示,即在未填写之前里面所显示的内容,当控件获取焦点,或者用户开始输入时消失。可使用placeholder属性,IE9以下可使用jquery-placeholder插件模拟。

(5)如有必要,设置tab顺序。很多用户会有使用键盘tab键来切换到下一个输入框的习惯,默认情况下,会安装界面上的分布顺序来处理,如需要特殊设定,可设置tabindex属性值。

(6)使用html5中新引入的表单控件类型,如url、email、search等。高级浏览器有很好的支持,不支持它们的浏览器会以text类型控件展现。

精简html代码

1、删除多余容器,比较典型的是

,这是两个没有任何语义,常被滥用的标签。

2、装饰性元素使用css实现。如背景、伪元素等。

3、避免使用table布局,是代码更少,更清晰,避免因重绘或重排而降低性能。

过时的块级和行内元素

每个使用css的人都了解过这两个概念,但是,却都是从样式的角度去理解原生的元素,有点不妥,而且它本身跟“结构与表现分离”的思路有违背,html5中淡化了二者的定义,更具体的分成了7类。 它们是:元数据式内容、流式内容、章节式内容、标题式内容、段落式内容、嵌入式内容和交互式内容。

从内容模型来说,以前对于块级和行内元素中内容有一些限制,html5结束了这种复杂的局面,从实际需求出发重新定义了内容模型。比如元素可以包含块状元素了。还有其他的很多差异,需要大家有重新的认识。

三、小叙Html5

先来看几个时间点。

2012年12月17日,HTML5定义完成。

2014年6月17日,发布标准草案的最终征求意见稿。

2014年10月28日,W3C发布HTML5正式推荐标准。

新特性的使用

近几年,HTML5的概念被炒的过头了,给人感觉是酷炫,甚至“无所不能”,然而它只是一个新的web标准。是对几个应用比较广泛的特性的讨论。

1、简化定义方式。

避免不必要的复杂性,比如文档类型声明、定义页面编码、样式和脚步的引用方式等。

2、使用新标签和新属性。

新标签:

语义化标签:

功能性标签:

新的输入控件类型:tel、search、email等

新属性:

<script>的async属性</script>

的target属性

标签自定义属性data-*,用于保存自定义数据,同时添加对应API:dataset

小tips

不要使用HTML5中已经弃用的标签和属性

1、没有任何语义,仅为了设置外观

等 2、破坏了可用性的标签 、、

3、移除的标签属性 align、valign、bgcolor等

如何处理兼容性

(1)通过document.creatElement产生标签

(2)使用成熟的框架,如:html5shim

注:此处仅为让浏览器识别新标签的兼容方法,其他还有很多兼容问题,此处不赘述。

此文为读了党建前辈所著《web前端开发最佳实践》HTML部分之后所记录,内容仅仅是冰山一角。阅读过程中意识到了自身的很多不足,受益匪浅。希望大家都能读一下。

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
公眾號網頁更新緩存難題:如何避免版本更新後舊緩存影響用戶體驗?公眾號網頁更新緩存難題:如何避免版本更新後舊緩存影響用戶體驗?Mar 04, 2025 pm 12:32 PM

公眾號網頁更新緩存,這玩意兒,說簡單也簡單,說複雜也夠你喝一壺的。你辛辛苦苦更新了公眾號文章,結果用戶打開還是老版本,這滋味,誰受得了?這篇文章,咱就來扒一扒這背後的彎彎繞繞,以及如何優雅地解決這個問題。讀完之後,你就能輕鬆應對各種緩存難題,讓你的用戶始終體驗到最新鮮的內容。先說點基礎的。網頁緩存,說白了就是瀏覽器或者服務器為了提高訪問速度,把一些靜態資源(比如圖片、CSS、JS)或者頁面內容存儲起來。下次訪問時,直接從緩存裡取,不用再重新下載,速度自然快。但這玩意兒,也是個雙刃劍。新版本上線,

如何使用HTML5表單驗證屬性來驗證用戶輸入?如何使用HTML5表單驗證屬性來驗證用戶輸入?Mar 17, 2025 pm 12:27 PM

本文討論了使用HTML5表單驗證屬性,例如必需的,圖案,最小,最大和長度限制,以直接在瀏覽器中驗證用戶輸入。

如何高效地在網頁中為PNG圖片添加描邊效果?如何高效地在網頁中為PNG圖片添加描邊效果?Mar 04, 2025 pm 02:39 PM

本文展示了使用CSS為網頁中添加有效的PNG邊框。 它認為,與JavaScript或庫相比,CSS提供了出色的性能,詳細介紹瞭如何調整邊界寬度,樣式和顏色以獲得微妙或突出的效果

HTML5中跨瀏覽器兼容性的最佳實踐是什麼?HTML5中跨瀏覽器兼容性的最佳實踐是什麼?Mar 17, 2025 pm 12:20 PM

文章討論了確保HTML5跨瀏覽器兼容性的最佳實踐,重點是特徵檢測,進行性增強和測試方法。

&lt; datalist&gt;的目的是什麼。 元素?&lt; datalist&gt;的目的是什麼。 元素?Mar 21, 2025 pm 12:33 PM

本文討論了html&lt; datalist&gt;元素,通過提供自動完整建議,改善用戶體驗並減少錯誤來增強表格。Character計數:159

&lt; meter&gt;的目的是什麼。 元素?&lt; meter&gt;的目的是什麼。 元素?Mar 21, 2025 pm 12:35 PM

本文討論了HTML&lt; meter&gt;元素,用於在一個範圍內顯示標量或分數值及其在Web開發中的常見應用。它區分了&lt; meter&gt;從&lt; progress&gt;和前

我如何使用html5&lt; time&gt; 元素以語義表示日期和時間?我如何使用html5&lt; time&gt; 元素以語義表示日期和時間?Mar 12, 2025 pm 04:05 PM

本文解釋了HTML5&lt; time&gt;語義日期/時間表示的元素。 它強調了DateTime屬性對機器可讀性(ISO 8601格式)的重要性,並在人類可讀文本旁邊,增強Accessibilit

&gt; gt;的目的是什麼 元素?&gt; gt;的目的是什麼 元素?Mar 21, 2025 pm 12:34 PM

本文討論了HTML&lt; Progress&gt;元素,其目的,樣式和與&lt; meter&gt;元素。主要重點是使用&lt; progress&gt;為了完成任務和LT;儀表&gt;對於stati

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前By尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
1 個月前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具