2010-05-28 50 views
4

我有一張桌子,有10列。我想控制每列的​​寬度。 每一列都是獨一無二的,現在我創建一個外部CSS樣式爲每列:使用內聯css來使用一次性屬性總是不好的主意?

​​

我知道有避免內聯樣式的最佳做法。 我批准使用外部CSS來查看任何與look'n'feel相關的內容:字體,顏色,圖像。 但是在這種情況下使用外部CSS真的更好嗎?

它不會產生額外的維護成本。
製作起來比較容易。

缺點我能想到的:如果你有獨立的設計師和開發團隊
- 使用內嵌樣式將迫使設計人員修改的內容文件(ASPX在我的情況)。 它可能使用更多的帶寬。

還有什麼我錯過了?

重要:我問只有一個地方使用的風格永遠不會應用到一個元素,而不是全球性主題,如一個特定的列寬的一部分,具體情況。

+1

外部CSS可能導致的另一個問題是很多未使用的選擇器。例如,可能很難記住從一個不同的文件中刪除關聯的CSS(這可能會隨着時間的推移而增加)。您可能會看到這個Railscast(儘管我不知道它是否適用於Rails之外):http://railscasts.com/episodes/180-finding-unused-css – 2010-05-28 17:36:52

回答

2

style=""糟糕的原因有很多。我認爲它是我在代碼庫中遇到的任何地方的錯誤。以下是一些原因:

  1. style=比其他CSS選擇器具有更高的優先級,使其難以在樣式表中進行更改;樣式表必須更努力地覆蓋這些。
  2. style=當您需要進行全局更改時,代碼中很難找到規則。
  3. 您在每個網頁瀏覽下載此CSS代碼。
  4. 如果您對同一個HTML代碼庫有多個樣式表,則style = rules不是樣式表的一部分,因此不可更改。

但是,如果您要生成內容並且很難在靜態CSS文件中描述此內容,則可能還需要生成CSS以匹配該內容。儘管存在缺陷,簡單地生成規則通常更容易。但是,如果您生成的內容可以在CSS文件中輕鬆描述,因爲生成的結構不會經常更改,或者因爲您可以同時輕鬆生成HTML和CSS文件,所以最好不要使用style=

用於替代style=可能適合一些建議:

  1. ,而不是內聯樣式,使用類名。如果您的表中有許多具有相同屬性的列,並且您希望始終具有相同的屬性,則工作良好。然後你的樣式表可以保持固定,而你的HTML是流暢的,因爲CSS只引用類。這可能是我使用的方法。
  2. 使用JQuery或其他JavaScript庫在頁面加載後以編程方式設置對象的樣式。
1

更容易產生並不是一個真正有效的參數 - 人們喜歡將大塊代碼分割成更小的塊 - 與代碼和標記相同。

但是: +不需要額外的HTTP連接(除非您已經下載.css文件反正) - 每個頁面被髮送的時間,這個CSS與發送=>更高的帶寬 - 設計師需要修改CSS中應用代碼(壞習慣)

通常情況下,你不應該 - 除非它是一個真正的好的想法,通過性能調整google does

+0

「更容易生成」可以是一個有效的參數,具體取決於需要多少開發時間才能做到「正確」。開發者不是免費的。當然,做得不對 - 可能導致維護債務,所以你必須小心。但是這當然值得考慮:從「純粹」方法中獲得多少收益? – 2010-06-01 12:22:00

+0

它可以是一個有效的參數,但是它不適用於此:將它全部放在一個文件中並不容易 - 程序員傾向於在多個文件之間分割代碼以分離並進行概述。 – Konerak 2010-06-01 12:37:59

相關問題