搜尋
首頁web前端css教學我的一些關於web標準的思考筆記(一)_經驗交流

我是從去年初開始學習web標準的,兩年下來也有些心得。最近跳槽了剛好閒在家裡,寫一些出來跟大家交流一下。

1 對於web標準和W3C XHTML規範的理解

按照習慣的理解,這兩個概念似乎都是指的一個東西(就是咱們在這個版裡討論的這些個"高深理論“^_^)。但我認為,事實上從技術的角度上講,這兩個事物幾乎沒有任何相關性。 web標準簡而言之就是將頁面的結構、表現和行為各自獨立實現,更通俗的講就是如今招募時流行的語言」div+css"。但W3C XHTML的任何一個版本都沒有對web標準理念作限制。很明顯的,我們可以用xhtml 1.1寫出一個table定位的網頁。說到這裡,或許會認為我講了一堆廢話。但任何一項技術,只有當你對基礎概念有足夠清晰的認識的時候,你才會正確的使用它。我從下面兩個方面,來談談如今Web標準應用走向的兩個歧途:

第一種情況很簡單。自以為只要使用了XHTML+CSS就是Web標準了。頁裡面遍地是class和id。肆意的為每個細節都單獨定義class。這樣的頁面和傳統的html的差別就是img標籤裡多了個"/"。事實上這樣子還不如回到傳統的html,至少我可以輕鬆的使用font,而不用總是跟查字典一樣去查樣式表。另一種更隱蔽的隨意使用CSS的我在以後講。

第二種情況我覺得比較難理解一些,即試圖用各種紛繁複雜的div嵌套和css語句來實現你所想要的表現。很簡單的一個例子就在我剛看到的一個貼文" 不用切圖的頁面圓角"。首先我想肯定的是這個創意確實很不錯,使用CSS功能將圓角「畫」出來。為此,設計者必須在對應的位置加上一大段如下的程式碼:




但是,這裡嚴重違反了Web標準的基本概念-結構與表現要分離。因為它將用於控制網頁表現的程式碼放在結構文件中了。或許你會說它事實上還是把真正的表現代碼放在CSS裡的。但我認為這是一個偷換概念。因為以上這些b標籤跟網頁結構無關,它們都是一些空標籤。也就是說,它的存在並不是為了將某些內容放在文件結構所需的位置。因此它們對於文檔結構來說只是一些廢代碼。

另外一個例子可能更隱蔽。之前我有在alistapart.com上看到如何實現網頁三通欄的文章,其原理大概就是使用三四個div相互嵌套。我認為這也是違反Web標準思想的做法。因為這些div標籤在程式碼中擺放的次序已經不單純是為了結構的需要,而是用於網頁的表現。

當然,我承認,以上的觀點在一定程度是鑽牛角尖(但反過來說,非要實現非圖片圓角不也是在鑽牛角尖麼,呵呵)。有些時候結構和表現並不是那麼輕易的就能分開的,我們為了實現一些豐富的表現不得不讓結構去遷就(想想

的用處)。但是知道什麼是對什麼是錯是很重要的。即使我們有時候不得不做一些錯事。

最後,我想聲明的是,我並不是"非圖片圓角"是無意義或是錯誤的。我也很佩服作者的聰明和靈感。我覺得這樣的技術研究就如同以前用CSS畫國旗一樣,對CSS技術的熟練度很有幫助。但是,它的用途也應該只和CSS國旗一樣局限,不應該在實際應用中採納。因為它違反Web標準的基本原則。
陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
揭開屏幕讀取器的神秘面紗:可訪問的表格和最佳實踐揭開屏幕讀取器的神秘面紗:可訪問的表格和最佳實踐Mar 08, 2025 am 09:45 AM

這是我們在形式可訪問性上進行的小型系列中的第三篇文章。如果您錯過了第二篇文章,請查看“以:focus-visible的管理用戶焦點”。在

將框陰影添加到WordPress塊和元素將框陰影添加到WordPress塊和元素Mar 09, 2025 pm 12:53 PM

CSS盒子陰影和輪廓屬性獲得了主題。讓我們查看一些在真實主題中起作用的示例,以及我們必須將這些樣式應用於WordPress塊和元素的選項。

使用GraphQL緩存使用GraphQL緩存Mar 19, 2025 am 09:36 AM

如果您最近開始使用GraphQL或審查了其優點和缺點,那麼您毫無疑問聽到了諸如“ GraphQl不支持緩存”或

使您的第一個自定義苗條過渡使您的第一個自定義苗條過渡Mar 15, 2025 am 11:08 AM

Svelte Transition API提供了一種使組件輸入或離開文檔(包括自定義Svelte Transitions)時動畫組件的方法。

優雅且酷的自定義CSS捲軸:展示櫃優雅且酷的自定義CSS捲軸:展示櫃Mar 10, 2025 am 11:37 AM

在本文中,我們將深入研究滾動條。我知道,這聽起來並不魅力,但請相信我,一個精心設計的頁面是齊頭並進的

展示,不要說展示,不要說Mar 16, 2025 am 11:49 AM

您花多少時間為網站設計內容演示文稿?當您撰寫新的博客文章或創建新頁面時,您是在考慮

使用Redwood.js和Fauna構建以太坊應用使用Redwood.js和Fauna構建以太坊應用Mar 28, 2025 am 09:18 AM

隨著最近比特幣價格超過20k美元的攀升,最近打破了3萬美元,我認為值得深入研究創建以太坊

NPM命令是什麼?NPM命令是什麼?Mar 15, 2025 am 11:36 AM

NPM命令為您運行各種任務,無論是一次性或連續運行的過程,例如啟動服務器或編譯代碼。

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.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能