2010-04-10 17 views
5

फ़ायरफ़ॉक्स, ओपेरा और IE में मैं उन्हें के माध्यम से प्राप्त कर सकते हैं:मैं वेबकिट में सभी समर्थित सीएसएस गुण कैसे प्राप्त करूं?

>> for (k in document.body.style) console.log(k) 
-> cssText 
    length 
    parentRule 
    getPropertyValue 
    getPropertyCSSValue 
    removeProperty 
    getPropertyPriority 
    setProperty 
    item 
    getPropertyShorthand 
    isPropertyImplicit

अपडेट:: नवीनतम WebKit does enumerate over CSS properties in HTMLElement.style उसी तरह सब कुछ खत्म हो

>> for (k in document.body.style) console.log(k) 
-> opacity 
    background 
    height 
    textAlign 
    . 
    ... long list ... 
    . 
    pointerEvents

वेबकिट में परिणाम काफी अलग है ब्राउज़र करते हैं।

उत्तर

6

जवाब

>> document.defaultView.getComputedStyle(document.body, '') 
-> CSSStyleDeclaration 
    0: "background-attachment" 
    1: "background-clip" 
    2: "background-color" 
    3: "background-image" 
    4: "background-origin" 
    5: "background-position" 
    6: "background-repeat" 
    7: "background-size" 
    8: "border-bottom-color" 
    9: "border-bottom-left-radius" 
    ...

उसकी solution के लिए एंटोन Byrna के लिए धन्यवाद है।


एक समस्या अभी भी बनी हुई है: getComputedStyle()background और border तरह शॉर्टकट वापस नहीं करता है।

+0

'document.body.style' Iterating जावास्क्रिप्ट शैली गुण प्रदान करता है। 'document.defaultView.getComputedStyle (document.body, '') 'केवल सीएसएस गुण हैं। जैसे 'पृष्ठभूमि एटैचमेंट' बनाम 'पृष्ठभूमि-अनुलग्नक'। –

+0

'वारिस', प्रतिशत, टेक्स्ट-तल जैसे मूल्यों के अपने संभावित संकेत प्राप्त करने के किसी भी तरीके से; उनमें से प्रत्येक के लिए। जेएस का उपयोग करते हुए भी। –

1

मुझे जावास्क्रिप्ट एक्सेस के बारे में निश्चित नहीं है, लेकिन आप यहां सभी समर्थित गुण (यहां तक ​​कि स्वामित्व) देख सकते हैं: CSS property names

+4

सीएसएस संपत्ति के नामों के लिए लिंक http://trac.webkit.org/browser/trunk/Source/WebCore/css/CSSPropertyNames.in –

+0

@Ghodmode धन्यवाद, मैंने अपना जवाब तय कर दिया। – fuxia

संबंधित मुद्दे