等具有語義的標籤定義Html
年輕的時候我也是個教條主義,拒絕table布局。後來那個合適上那個
為了SEO
右鍵查看源文件 可以直接看網頁代碼 table格式現在用的少了 但是有的特殊樣式還是用的比較方便的
新技術的運用帶來更自由的布局結構與配色
關於網頁如何布局
網頁從早期的純文字頁面,到圖片的出現,再到現在多媒體廣泛應用,使得頁面的內容越來越豐富。儘管頁面中的元素日益豐富,但頁面的布局與配色當網頁設計完成後,在互聯網中的呈現基本是一成不變的。隨著近幾年 Flash 技術的應用和 HTML5 的嶄露頭角,使以往不可想像的動態化的網頁布局和配色成為了可能。曲靖網站建設應用了這些最新技術的頁面,不再是一成不變的,頁面的布局和配色會隨著瀏覽者滑鼠的移動,發生動態的變化,呈現出不同的視覺效果。而 Cookies 技術的應用,億企建站使得當瀏覽者下次再訪問同一個網站,Web 伺服器會先看看有沒有瀏覽者上次留下的 Cookies 資料,如果有的話,Web 伺服器就會依據 Cookies 里的內容來判斷瀏覽者,送出特定的網頁內容給你,這一技術的應用,讓不同的瀏覽者訪問同一個站點,看到不同的布局與配色成為了可能。
這個真的是2016年的問題,時間線沒崩壞?!
是的,table已經過時了,毫無疑問。前排居然可以戰起來?!什麼情況!這問題完全無關語義化好嗎,語義化是用來噴div+css的,告訴小盆友要花式用html標籤。
一開始使用table,是因為在網頁布局的時候,大家想要的就是嚴絲合縫表格式樣的豆腐塊。這是從印刷排版時代沿襲至今的排版思考方式。
頁面是一個個豆腐塊,或者說盒子構成。內容+邊距剛好佔據整個版面。不過在遠古時代,各個瀏覽器的迷之解析。css沒法被正確理解,版面崩得不行。
聰明的少年們,想出來一個hack,直接把盒子放在表格的單元格里。
row col都寫死,你告訴我還怎麼崩?!!代價就是多一層嵌套+無法維護。
每次修改布局===layout重寫一次。在那個蠻荒的遠古時代,大家都知道這樣做很蠢。但是為了每個瀏覽器兼容沒辦法。而且頁面量也不多,降低的開發效率也不是不能接受,後面DW出現,WYGWYS式的畫網頁,比苦戰CSS兼容性爽多了。奠定了古代table布局廣大的群眾基礎。它的成功,一方面是自身的努力(頁面不崩),一方面考慮到了歷史的進程。(狗*的IE)後面隨著時代的發展,各家對CSS的實現愈加良好,table失去了其無可取代優勢——保證頁面兼容性。這個時候開發者們就開始黑它的缺點了,
-讓DOM飛來飛去比較麻煩。-非同步載入一堆數據過來要包裝N層才能查插。
-多一層嵌套。
-修改文檔內容工程量大得不要不要的。想減少每次修改的量,使用多個table分離各邏輯模塊,和div+css又有什麼差?
始終前端的朋友們,想要的是像豆腐塊一樣貼合巴適的頁面,CSS盒模型就是用來解決這問題的。現在兼容沒問題了,一切都是那麼的美麗。
不再需要table了,就不用唄,大家轟轟烈烈的重構起來。滿足需求的前提下,用更標準的寫法。前端的同學們又不是真的不會寫代碼(文員,前台干不下去才轉前端真的是段子),這點腦子還是有的。反對一系列對於div+css需要更多修改的說法。一開始沒分割好結構,各種靠position margin padding修修補補才會出現一點修改,css試半天的情況。寫div大小時多想想豆腐塊 0v0
反對css代碼量更大,table只需要填進去的說法。基建不做好,每次徒手擼樹怪樹咯?
補充下table也可以兼容移動端,也可以做響應式。table布局,與rem,%寬度,media query並不衝突。跨終端適配的能力上和div+css方案幾近等價。
table缺陷在於html上太混亂,對於Js,SEO都不友好。
用作hack的古老方案,過時了就承認吧,沒必要詐屍。這都給洗地是多有情懷啊。
如果說現在還有table可以發光發熱的地方,大概在於那些簡單得不行的靜態頁企業站,沒有任何「重」的交互需要。明明叫畫完圖的美工同學順手拖進DW就可以搞定,非要趕潮流雇兩個前端碼農人肉轉碼。(要SEO加幾個隱藏的h1嘛)
使用div: html 和 css 之間的耦合低,便於維護。但是對於 seo 以及網頁閱讀器不夠尊重。
寫html還是語義化優先,然而產品設計的表格複雜樣式往往還是用div寫得爽點。
推薦閱讀:
※一般用什麼軟體來設計網站的頁面?
※如何評價「萌碼」這個網站?
※CSS 中 border-width 為何不支持百分比?
※相對於英文字體設計,中文字體設計是否更難追求形式感和可讀性的兼顧?
※如何在家自學前端?
TAG:網頁設計 | 網頁布局 | DivCSS | 頁面重構 |