上次講到「欲練 css ,必先宮 ie」,如果你宮了ie然而還是覺得不得要領,那就該懷疑自己是不是有傳說中的table強迫症了。
在csdn社群上,時不時能夠看到一些頁面整體布局的問題,要求用div做一些table才能做到的,否則就以此為把柄說xhtml+css布局方法不好。其實,首先要做的是改變思維,以適應xhtml+css的布局。
xhtml+css能夠實現的是一種流布局,也就是隨著內容的長度自動增長區域,並且最終導致整個頁面增長,這時候瀏覽器就必須顯示滾動條。table強迫症的乙個徵兆就是極力避免流布局,希望以瀏覽器的可視區域為布局目標,要求在可視區域中劃分內容區域而不是在頁面上劃分內容區域。實際上xhtml是無法針對瀏覽器設計的,因為它僅僅包含語義,或者說是內容,而瀏覽器如何去表現這些內容是我們無法確定的。css提供了我們控制表現方式的一種途徑,但這僅僅是針對主流瀏覽器的,而且瀏覽器支援的「指令集」還有稍為的差別(說到這,我真希望能夠為乙個瀏覽器寫css然後編譯為全平台相容**),最後這些指令暫時還僅僅支援針對頁面的流式布局控制。因此,如果你決定要開始寫符合語義的xhtml並且僅僅用css控制布局,首先就要把思路轉變為面向頁面(或者說是文件)的布局控制,而非面向瀏覽器可視區域的布局控制。
接下來肯定有人要說,「那你就是承認了有些布局老方法很容易做到,但新方法很難做到啦」。這是當然的,然而這不成為我們繼續使用table的理由。這時候要反過來**原始目標了,我們是為什麼要控制布局?低層次的需求是為了美觀,誰都希望同樣的內容能夠以更好的視覺效果展示在使用者眼前;高層次的需求是為了控制受眾的瀏覽方式,讓他們能夠按我們預先設計好的方式來區分頁面內容的輕重點,按我們的期望優先瀏覽某些內容,同時也幫助他們更快的找到他們想要的內容,而不會在我們的**內感到沮喪。既然我們確定了這時控制布局的目標,那麼我們再來看看css是不是「沒辦法把事情做好」。首先,css也能做出美觀的頁面,雖然某些布局做不到,但是在css的限制下做到同等美觀程度的頁面是肯定沒問題的。其次,css也能讓設計變得友善,不會說css的設計就肯定是「乾淨」到使用者無法一眼找到他想要的功能。因此,雖然css無法實現某些特定的布局效果,但對於設計師來說它能夠達到老方法所能達到的同等效果,這就足夠了。
另乙個table強迫症的徵兆就是,習慣為每乙個視覺上的元素對應乙個xhtml元素。在table中,無論視覺效果有多複雜,我們總能不停的切割table,甚至table套table,直到準確定位每乙個特定的元素。然而應用了css之後,這就是不必要的,甚至會給設計師帶來麻煩,因為xhtml+css就是為了內容和布局分離,所以如果乙個視覺元素與內容無關,那麼它就不應當出現在xhtml中,自然也就不會對應乙個xhtml元素。
例如有乙個**當前欄目的徽標,這個徽標沒有任何的語義,而xhtml中也有文字內容描述當前欄目了,那麼這個徽標就並不一定要對應乙個
又例如:before和:after這兩個偽選擇器,允許你建立插入在匹配元素前後的元素,這樣就能夠實現非內容視覺效果僅在css中插入。常見的用法包括,插入clear到浮動元素之後以確保父元素的完整包含,又或者是引用語句的前後自動加上引號。事實表明,css是很適合於將非內容的元素從xhtml中分離出來的,因此我們在設計xhtml時就不能夠總想著要有什麼效果,而應該單純想著資訊的組織形式。
最後,如果要我為table強迫症開處方的話,我還是會選擇《css mastery/精通css》。看完之後,你自然能夠解除上述的煩惱,理解到css布局帶來的便利,從而選擇開始用純css的思維來進行設計。如果你關注css方面的內容,可以考慮訂閱我的blog:
你有 lt table gt 強迫症嗎?
上次講到 欲練 css 必先宮 ie 如果你宮了ie然而還是覺得不得要領,那就該懷疑自己是不是有傳說中的table強迫症了。在csdn社群上,時不時能夠看到一些頁面整體布局的問題,要求用div做一些table才能做到的,否則就以此為把柄說xhtml css布局方法不好。其實,首先要做的是改變思維,以...
強迫症的序列
小a是乙個中度強迫症患者,每次做陣列有關的題目都異常難受,他十分希望陣列的每乙個元素都一樣大,這樣子看起來才是最棒的,所以他決定通過一些操作把這個變成乙個看起來不難受的陣列,但他又想不要和之前的那個陣列偏差那麼大,所以他每次操作只給這個陣列的其中n 1個元素加1,但是小a並不能很好的算出最優的解決方...
在這個遊戲探索中容易犯下的強迫症,你有嗎?
不知不覺,生化危機這個遊戲從第一部到現在,乃至到最新發布的重製版,它已經陪伴我們度過了許多個年頭,在整個遊戲探索過程中,我們總是不可避免犯下許多強迫證。比如看到喪屍的時候再對方倒下時總是會習慣性劃上兩刀?下面我們以本文來為大家簡單盤點一下,在這個遊戲探索過程中我們總是容易犯下的強迫症。有什麼好玩的單...