原文:Responsive design works best as a nip'n'tuck
作者:David Heinemeier Hansson(Ruby On Rails創作者,Basecamp聯合創始人)
響應式設計的技術如今已經發展到了令人驚奇的程度,藉助最新的CSS特性和JavaScript,你可以讓網頁在不同設備(尺寸)下擁有完全不同的樣式。現在應該思考的問題是我們是否總需要這麼做。
現在我們做響應式的主流方法是:在不同尺寸間做樣式切換時,使用同樣的結構,僅僅變換其中元素的樣式(修改樣式或者隱藏)。其實這個方法有不合理的地方,而且實現起來不簡單,效率也不高。使用保持HTML結構不變的方法做響應式設計可並不什麼值得炫耀的成就。
我們在Basecamp對待這些技術的態度是「適可而止」(as a nip’n’tuck)。如果你只是對元素針對不同尺寸進行一些伸縮,那麼響應式設計實現起來就很容易。如果再繼續朝對樣式進行全面改造的方向走下去,就越來越沒有意義了。
如果你選擇的建站框架可以輕鬆地在不同條件下使用不同模板,那就更可以儘量少地使用響應式技術了。Rails 4.1 新增了一個特性:通過使用variant,可以根據請求訪問頁面的設備的類型,返回不同的HTML模板。Basecamp的移動端視圖就用到了這個特性,而沒有採用目前廣泛流行的響應式設計。
通過給不同設備返回對應的HTML結構,我們不再需要包含那些在當前設備下被隱藏的沒用的數據,單個頁面上需要控制的變量也減少了。這種情況下修改內容時也不再擔心會有副作用。