我覺得我在用我的網頁上的語義標記不錯,但我仍然有類像這樣的一把:XHTML/CSS標記語義如何?
/**** Aligns ****/
.right_align { text-align: right; }
.left_align { text-align: left; }
.center_align { text-align: center; }
從技術上講,是一個禁忌。但是當你只想在表格中放置一些文本時,我應該用語義標記獲得多大的瘋狂?
我覺得我在用我的網頁上的語義標記不錯,但我仍然有類像這樣的一把:XHTML/CSS標記語義如何?
/**** Aligns ****/
.right_align { text-align: right; }
.left_align { text-align: left; }
.center_align { text-align: center; }
從技術上講,是一個禁忌。但是當你只想在表格中放置一些文本時,我應該用語義標記獲得多大的瘋狂?
爲什麼你想對齊文本?
問題的答案是您需要爲選擇器設置的id或class的名稱。你想調整它,因爲這是一個價格?
table .price {
text-align: right
}
問問你自己爲什麼做要應用一個特定的風格,一切都會變得清晰。
我可能對它做了過分的評價,但是我的最後一個工作項目非常接近100%語義 - 我需要的任何語義都不是語義的(比如填充div,我不能沒有這個佈局需求) jQuery的。
語義標記是一個令人欽佩的目標,但在現實世界中,您有時必須做出妥協。在某些情況下,唯一明智的做法是打破語義,然後拋出一個right_align
。
編輯:人們似乎誤解了我的觀點。您應儘可能使用語義標記。但是,在某些情況下,它確實只是一種風格選擇,並且數據可以用來描述或分類數據。這通常適用於表格數據的大部分,特別是如果它是動態生成的。
我遇到過客戶希望能夠動態控制數據網格中顯示的列的情況。沒有辦法事先知道他們要選擇顯示什麼類型的數據。如果他們想要一種將動態生成的列居中或右對齊的方式,最好讓中心和右對齊類可供他們使用,而不是讓他們在任何地方都使用屬性。
就像Jeremy Keith一樣,我也將自己形容爲「邊緣語義精神病」。但我投了這個答案,因爲我同意人們可能會誤解這一點。 – 2008-11-16 02:49:45
謝謝,安迪,我很感激。當涉及到語義標記時,我傾向於相當困難,但是我已經被客戶端的bug咬了太多次,太熱切了。 :) – 2008-11-16 03:02:42
如果您希望表格單元與對齊之間的緊密耦合,您可以直接在標籤上指定屬性style="text-align:right"
。無論如何,如果你不把它用於抽象層次,那麼就沒有理由通過一個類來增加額外的間接級別。
100%的語義標記是一個愚蠢的目標。你的平面設計師會說,「讓我們對齊這個」,原因將是「因爲它看起來很好」。你應該做什麼,在div上添加一個「lookgoodthatway」類?只要對齊它,並繼續你的生活! :)
我嘗試考慮爲什麼我想要一個列右對齊表中。例如,如果該列包含貨幣金額,那麼我會使用名爲currency的樣式而不是right_align。
根據經驗,出於可用性的原因,您應該在儘可能多的行上放置標記。
我用下面的符號
matcher,¶ matcher¶ {¶ ··attribute:·property;¶ }¶
你問爲什麼?這解決了碰撞的許多問題,因爲它減少了2個不同位置可能發生的不相關變化(導致碰撞)的2個不相關變化的次數,並且當碰撞發生時,它更容易看到造成它的原因和選擇正確的解決方案。
這是因爲SCM的DIFF是面向行的,如果您將所有內容放在一行上,您會得到2個選擇,一個完整集或一個完整集。
此外,我發現,如果堅持使用特定的風格,可以很容易地編寫檢測CSS中錯誤的lint檢查代碼。
對於insance,現貨錯別字:
matcher
matcher,
{
attribute property
attribute
}
在這種情況下,代碼簡單地檢查空白和定界符一致性還檢測編碼錯誤!
如果您動態添加它,這並不意味着您的網站在沒有Javascript的情況下將無法正確顯示,從而使其不易訪問,違揹我們爲什麼使用語義標記的精神? – 2008-11-15 21:58:01
好點。我沒有做盡可能多的測試,但我很確定這個網站在沒有JS的情況下可以訪問。在沒有CSS,沒有JS的情況下,它幾乎100%可用。 – alex 2008-11-15 22:02:53