Python में CSSOM के साथ कैसे काम करें

Python में CSSOM के साथ कैसे काम करें

Aspose.HTML FOSS for Python CSS ऑब्जेक्ट मॉडल को लागू करता है: स्टाइलशीट्स लाइव रूल ऑब्जेक्ट्स में पार्स होते हैं, डॉक्यूमेंट्स से जुड़ते हैं, और वास्तविक कैस्केड के माध्यम से हल होते हैं। यह गाइड एक एलिमेंट को स्टाइल करता है और गणना किया गया परिणाम पढ़ता है, इंस्टॉलेशन के लिए pip का उपयोग करते हुए।

कदम-दर-कदम गाइड

चरण 1: पैकेज इंस्टॉल करें

git clone https://github.com/aspose-html-foss/Aspose.HTML-FOSS-for-Python.git
cd Aspose.HTML-FOSS-for-Python
pip install -e .

चरण 2: आवश्यक क्लासेस आयात करें

from aspose_html.dom import Document
from aspose_html.cssom import CSSStyleSheet

चरण 3: स्टाइल्ड एलिमेंट बनाएं

एक दस्तावेज़ और एक तत्व बनाएँ जिसमें एक क्लास और एक आईडी हो — दोनों सेलेक्टर मिलान में भाग लेंगे:

doc = Document()
el = doc.create_element("div")
el.set_attribute("class", "foo")
el.set_attribute("id", "bar")
doc.append_child(el)

चरण 4: शैलीपत्र को पार्स करें और संलग्न करें

replace_sync() शैलीपत्र पाठ को पार्स करता है; attach_style_sheet() इसे दस्तावेज़ के साथ पंजीकृत करता है:

sheet = CSSStyleSheet()
sheet.replace_sync(".foo { color: red } #bar { color: blue }")
doc.attach_style_sheet(sheet)

चरण 5: गणना किया गया शैली पढ़ें

आईडी सेलेक्टर (विशिष्टता 1,0,0) क्लास सेलेक्टर (0,1,0) से अधिक महत्व रखता है, इसलिए नीला जीतता है:

style = el.get_computed_style()
print(style.get_property_value("color"))

सामान्य समस्याएँ और समाधान

गणना किया गया मान मेरी स्टाइलशीट को नजरअंदाज करता है। शीट को इसके माध्यम से संलग्न किया जाना चाहिए। Document.attach_style_sheet() before get_computed_style() कहा जाता है।

एक इनलाइन स्टाइल स्टाइलशीट नियम से हार जाता है। लेखक नियम चिह्नित !important गैर-महत्वपूर्ण इनलाइन घोषणाओं से ऊपर होते हैं; प्राथमिकताओं को जांचें … के साथ get_property_priority().

समान विशिष्टता वाले दो नियम एक आश्चर्यजनक विजेता देते हैं। बाद के नियम समान-विशिष्टता टाई में जीतते हैं — शीट के अंदर नियम क्रम महत्त्वपूर्ण है।

अक्सर पूछे जाने वाले प्रश्न

मैं प्रोग्रामेटिकली इनलाइन स्टाइल्स कैसे सेट करूँ?

एलिमेंट की style घोषणा के माध्यम से: इसे एक वेरिएबल को असाइन करें और उस पर set_property() को कॉल करें।

क्या ऑब्जेक्ट get_computed_style लौटाता है?

एक ComputedStyleDeclaration; मानों को get_property_value() से पढ़ें।

क्या मीडिया, कीफ़्रेम, और फ़ॉन्ट-फ़ेस नियमों को मॉडल किया गया है?

हाँ — पार्स किए गए शीट्स में टाइप्ड नियम शामिल होते हैं, जिसमें CSSMediaRule, CSSKeyframesRule और CSSFontFaceRule एक CSSRuleList में होते हैं।

यह भी देखें

 हिन्दी