我在我的網站實現了Eric Meyer的reset.css,並且效果很好,但是這是一個小問題。因爲這個CMS用戶可以自由地格式化他們的文章的內容,並且重置的CSS重置他們文本的格式。阻止邁耶重置CSS動態內容混亂
任何想法如何防止reset.css繼承傳播到動態內容?
您所輸入的內容非常值得歡迎。
我在我的網站實現了Eric Meyer的reset.css,並且效果很好,但是這是一個小問題。因爲這個CMS用戶可以自由地格式化他們的文章的內容,並且重置的CSS重置他們文本的格式。阻止邁耶重置CSS動態內容混亂
任何想法如何防止reset.css繼承傳播到動態內容?
您所輸入的內容非常值得歡迎。
它會一直傳播(這就是reset.css :)的一點),但是如果您還沒有這樣做,那麼您當然應該確保reset.css是您網頁中第一個鏈接的樣式表 - 任何自定義樣式將覆蓋重置樣式。
如果問題在於樣式太「重置」,並且您希望爲您的動態內容設置更爲合理的默認設置(例如加權字體大小,邊距,行高等),您可以創建自己的例如,使用ID選擇器將基線CSS樣式僅應用於動態內容區域。
我遇到過這樣的問題,我的解決方案是將由所見即所得編輯器生成的動態內容封裝到具有唯一類的div中,在那裏我創建了一個具有標準屬性的重置樣式表!
例:
div.wrap_to_prevent {風格,款式,風格 }
div.wrap_to_prevent輸入,
div.wrap_to_prevent textarea的,
格。 wrap_to_prevent h1 {style,style, style}
。
。
等
基本上,我用了一個復位樣式表,但之前所有的CSS樣式的帶班我的div,這樣的,它只是影響到該分區中的代碼,從而創造一個品牌新內容的一套規則。
由於90%我的項目中使用所見即所得的編輯器,這種解決方案我能解決這同樣的問題...
不能告訴,如果這對你的作品,但不妨一試!
讚賞你的想法,但爲此我將不得不將值重置爲我不知道的系統默認值。就像div.wrap_to_prevent表{padding:[val] px;}中的表{padding:0px;},所以我需要知道值...我希望我正確思考...看到我的觀點? – 2010-06-22 09:24:55
看到這個鏈接,所有的HTML 4.01/XHTML 1.0標籤,如果你點擊某個標籤,你會看到有默認的行爲... http://www.w3schools.com/tags/default.asp(這是一個開始) – Zuul 2010-06-22 09:35:19
由於埃裏克邁耶他自己說,他的CSS Reset頁:
這裏給出的復位風格 故意非常通用。例如, 不是爲身體元素設置的任何默認顏色或背景 。 我不特別推薦 你只是在你自己的項目中使用它的未改變的 狀態。應調整,編輯,擴展 ,否則將調整爲匹配您的特定 重置基準。填寫您的首選 顏色的頁面,鏈接等。
換句話說,這是一個起始 點,而不是一個自足的無框黑盒子 。
從外觀上看,你發現CSS Reset對你來說有點太過分了。因此,我會調整您遇到問題的項目。例如,當您遇到表格問題時,我會刪除重置目標表的CSS部分,從而將其留在瀏覽器默認位置,或者在重置後添加您自己的額外CSS以專門爲您的表格設置樣式辦法。
加入你自己是更好的選擇。重置的目的是消除您不希望的事情(更重要的是)消除瀏覽器默認值之間的差異。 – Quentin 2010-06-22 09:14:36
我讚賞你的答案。謝謝,但你可以知道重設我想要的樣式的重要價值嗎?例如,我的情況下,復位CSS有表{padding:0px;}這與所見即所得產生的動態內容搞混了。但對於我來重置填充,我將不得不設置一個默認值,這是我不知道它是什麼。但如果我使用螢火蟲調試樣式繼承,如果我從表中刪除填充重置CSS可以正常工作...但我的觀點是,我如何刪除樣式屬性,當我在螢火蟲做?我的意思是不覆蓋它的一些價值,但刪除它 – 2010-06-22 09:30:49
如果你想離開風格的瀏覽器默認情況下,你需要排除他們從重置。但是,正如David所說,更好的方法是添加自己的樣式。 也許最適合您的解決方案是重新引入特定瀏覽器的默認樣式?你可以找到大多數瀏覽器的默認樣式 - 請參閱http://stackoverflow.com/questions/214378/how-can-i-locate-the-default-style-sheet-for-a-browser - 也許你應該說,選擇Firefox作爲您的首選「外觀」,然後在重置後爲表格添加其默認樣式。 – 2010-06-22 09:46:23
CMS是否創建內聯樣式?如果是這樣,這些應該覆蓋reset.css文件中的樣式。
如果CMS包含它自己的.css文件,請確保它出現在生成的html輸出中的reset.css文件之後。
好點,但實際上並沒有使用任何來自cms的特定css文件。 基本上我想我需要Zuul寫的創建一個自定義的包裝div,然後使用特定的CSS來覆蓋值,但我的問題是,我不知道元素的系統/瀏覽器默認值....你認爲我必須刪除CSS重置並查看系統默認值,然後應用? – 2010-06-22 09:40:53
如果您需要使用css重置,解決此問題的唯一可靠方法是使用iframe
元素作爲動態內容。 iframe
的主要問題在於它們不能根據原始文檔的大小自動調整高度。如果你能解決這個問題,我會說這是最簡單的方法。
儘管這也是一個可能的解決方法,但我有一些與jQuery的DOM操作,並不會工作。感謝您的輸入! – 2010-06-22 09:46:41
@byte_slave不客氣。DOM操作仍然有效,如果它位於同一個域中,則可以訪問iframe的內容。如果你必須複製元素,它只會變得更復雜。 – 2010-06-22 09:54:01
它應該傳播到所有的樣式。這是重置的一點。如果他們的樣式如粗體文本沒有顯示出來,那麼你做錯了什麼。 – 2010-06-22 08:37:52
粗體顯示它更多的表格邊框和我正在談論的列表元素 – 2010-06-22 08:57:17