Re: [問題] 不使用table的原因..?
※ 引述《eliang ()》之銘言:
: ※ 引述《dken (我想退伍啦~~)》之銘言:
: : table 最初的定義本來就是來呈現表單資料的,
: : 如果要拿來做為排版,也是可以,但是現在是愈來不建議這種方式。
: : 如果要排版,最好還是用 <div> 來做,
: : 因為他的彈性比較大,而且比起 table 所使用的 tags 來的節省,
: : 另外再搭配 javascript 和 css,可以做出很炫的排版效果。
: : 再者,
: : 如果你是純手工的硬派網頁設計者,
: : 你會發現用 <div> 來寫網頁,會方便許多,
: : 尤其是搭配 css。自己試著用 <div> 來玩玩看,
: : 應該會體會的出來,乾淨的網頁,用原始碼模式來看,
: : 應該會看到排版整齊的 tags,而不是一堆 attributes
: : 穿插其中,因為 attributes 這部份都由 css 處理了。
: : 另外,就是牽涉到語意和無障礙的問題,
: : 這個部份我就不知道怎麼講了,有經驗者或許可以分享一下。
: 我學會用 XHTML+CSS 排版已經滿久了,
: 但我現在設計網頁仍然以 <table> 排版為主,
: 除非是老闆有要求, 或是自己想學習,
: 我不用 <div> 排版的原因有兩個: 1.費時費力 2.不夠乾淨
: 1. 費時費力
: 因為現在還沒有一個好的視覺編輯器能夠支援標準的 XHTML+CSS,
: 所以只能用手工打造,
: 再加上每個瀏覽器對 CSS 的解讀方式都不一樣,
: 造成設計者要一試再試, 有時候為了調整一個小東西,
: 就要花掉一兩個小時,
: 這樣倒不如用 <table> 反而比較快,
: 這點我希望未來能有一個能支援 XHTML+CSS 的視覺編輯器,
: 不但能視覺式的編輯文件,
: 而且能幫我們處理瀏覽器不一致的問題
: 2. 不夠乾淨
: 另外, 照理說在寫 XHTML 時, 要顧慮的是文件的結構, 而不管文件呈現方式,
: 但是在我發現只顧慮文件結構是不夠的,
: 我寫 XHTML 時, 常需要給 CSS "留後路", 以保持改變外觀的彈性,
: 例如, 我常需要加入很多沒意義的 wrapper:
: <body>
: <div id="root">
: <div id="main">
: 這裡才是主內容...
: </div>
: </div>
: </body>
: 像 #root 和 #main 都是沒意義的東西,
: 但是為了到時候能讓 CSS 有彈性地呈現外觀, 那兩個 wrapper 是必要的,
: 但在文件結構上, 那兩個標籤根本沒意義,
: 只使得文件看起來更亂而已,
: 這點我就希望未來的 CSS 能設計得更好,
: 目前流行的 CSS 1.0 我覺得除了上述那一點之外,
: 還有很多地方需要改進,
: 最後結論就是, 我會看實際應用來決定要不要用 <div> 排版,
: 如果老闆交付的工作根本用不到, 我就會用 <table> 排版,
: 反正看起來都一樣而且錢拿得一樣多, 為什麼不選擇輕鬆一點的方式?
對於要使用 AJAX 開發來說 id <-- 就會有很大的用途....
而且並非是無意義的名稱
另外如果是以設計的角度來看用<div>的編排初期一定會造成很大的視覺障礙
整個網站的外觀是很抽像的...
另外因為每個 id or class 可能都需要訂名稱 , 才能讓整體的彈性達到最佳化
所以要想名稱也是頭大的問題,加上網頁開發者多半沒有做文件的習慣,最後可能
還會出現重複訂名,或是忘記名稱等問題....
但是為何目前趨勢會往較為繁鎖的開發方式前進,主要是現在網站能提供的服務
越來越多樣化,早期AP提功的功能如 Office , Excel , 公司內部簽核系統..
漸漸轉向至網頁操作 , 所以網站開發目前的開發方式逐漸需要將軟體工程的
那套方式拿來應用.....
所以開始須要進行 SA , 將網站功能模組化 , 甚至把 Design Pattern 的東西
套用至網站的開發過程中 , 所以理想的狀態是 , 分析者會將網站功能頁面列出
, 上面會包含某個頁面所需要的區塊 , 以及每個區塊的 id 名稱 , 樣式表名稱
, 在交由實作人員將程式開發完成 , 最後把使用的 Template 交給設計人員,
設計人員在去設計每個區塊要呈現的樣貌以及排放的位置.
主要就是要把工作完整的切開來運作 , 讓每個開發的角色能專心做好該做的事情..
用 <table> 開發的確是很快速且很直覺的能看到編排的效果 , 但會這樣覺得
其實有很大部份是因為 , 早期很多的網站開發 , 程式都兼美工了 , 因為大家都
熟 <html> , 所以撰寫程式時直接把 html code 包在程式中是最快的開發方式 ,
整個專案一人全包.....
但是後續的維護以及調整才是災難的開始 , 最常遇到的就是 , 乾脆整個站重寫...
網站提供的服務越來越多 , 整個架構也會越來越大 , 事前的分析越完整 , 把分工
建立的越明確 , 事後維護的速度將會是另人吃驚的 .
我會寫程式 , 我只要將心力放在網站運作的邏輯 , 甚至可以不會 html
(這點目前已經達成了 ,很多開發 AP 的人 , 可以輕易的來開發 網頁程式
Java , .NET 開發人員有一些就已經轉型成網站的工程師 )
我是設計 , 我就只要花心力在設計的工作上....
這樣要更動那個部份的東西其實不會影響另外一方的工作 ,
才會是一個有效率的開發
但是當然還是根據不同的需求會有不同的作法了,如果只是要做簡單的靜態網站
,其實用那種方式都能做,殺雞焉用牛刀呢 :) , 但最好是兩種方式都要熟悉 ,
未來我認為使用 <div> 開發的方式會越來越普遍 ...^^
以上一些經驗的分享... :)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 60.248.155.94
推
01/02 13:19, , 1F
01/02 13:19, 1F
討論串 (同標題文章)