2010-06-03 57 views
4

有沒有人知道一個好的JavaScript庫來獲取DOM中給定元素的原始(即不計算)風格?換句話說,可以用來在Firebug的樣式選項卡中生成結果。像Firebug一樣,它應該考慮CSS的繼承,快捷屬性和所有其他細微差別。CSS樣式信息庫

+1

這裏不是一個聰明人,我沒有使用它,但[firebug lite](http://getfirebug.com/firebuglite)是所有javasript是不是?那是否符合你的要求? – 2010-06-03 10:28:33

+0

當smartass變得有用的時候沒什麼問題! :)這是一個很好的(也是非常明顯的)想法 - 我會檢查一下源代碼。乾杯。 – 2010-06-03 10:52:56

回答

1

基礎上的評論,你可能有興趣在一個不錯的Firebug的精簡版bookmarkmarklet鏈接:

http://www.latentmotion.com/how-to-use-firebug-in-ie6-and-all-other-browsers/

才找到螢火蟲精簡版,我開始了我自己的定製版本:

http://latentmotion.com/jquery-bookmarklet/ (注意:點擊「Reveal Box Boundaries」,然後點擊頁面上的html標籤,你會看到樣式屬性出現在右邊,也可以用作書籤)

爲了完成上述書籤,我用(鏈接和數組):

http://www.latentmotion.com/jquery-bookmarklet/example-jquery-bookmarklet.js

 var allStyles = ["azimuth","background" ,"backgroundAttachment","backgroundColor","backgroundImage","backgroundPosition","backgroundRepeat","border","borderBottom","borderBottomColor","borderBottomStyle","borderBottomWidth","borderCollapse","borderColor","borderLeft","borderLeftColor","borderLeftStyle","borderLeftWidth","borderRight","borderRightColor","borderRightStyle","borderRightWidth","borderSpacing","borderStyle","borderTop","borderTopColor","borderTopStyle","borderTopWidth","borderWidth","bottom","captionSide","clear","clip","color","content","counterIncrement","counterReset","cssFloat","cue","cueAfter","cueBefore","cursor","direction","display","elevation","emptyCells","font","fontFamily","fontSize","fontSizeAdjust","fontStretch","fontStyle","fontVariant","fontWeight","height","left","letterSpacing","lineHeight","listStyle","listStyleImage","listStylePosition","listStyleType","margin","marginBottom","marginLeft","marginRight","marginTop","markerOffset","marks","maxHeight","maxWidth","minHeight","minWidth","orphans","outline","outlineColor","outlineStyle","outlineWidth","overflow","padding","paddingBottom","paddingLeft","paddingRight","paddingTop","page","pageBreakAfter","pageBreakBefore","pageBreakInside","pause","pauseAfter","pauseBefore","pitch","pitchRange","playDuring","position","quotes","richness","right","size","speak","speakHeader","speakNumeral","speakPunctuation","speechRate","stress","tableLayout","textAlign","textDecoration","textIndent","textShadow","textTransform","top","unicodeBidi","verticalAlign","visibility","voiceFamily","volume","whiteSpace","widows","width","wordSpacing","zIndex"]; 

如果有人有更好的辦法知道,我很感興趣,也聽吧:)

+0

這是有趣的東西,雖然我的問題的主要觀點是聲明與計算方面。最好的方法似乎是編寫一個CSS解析器,並處理可用的樣式表。不幸的是,這似乎並不適合用戶代理(或者我猜是用戶)樣式表。 – 2010-06-07 12:03:59

+0

是的。我在腳本中的下一步是創建一個包含所有html元素的iframe,然後獲取它們的樣式,然後針對具有焦點的dom元素的樣式進行差異化。如果有更好的方法,我也很想知道它是什麼。 – Matrym 2010-06-07 19:32:12