Python içinde CSSOM ile Çalışma

Python içinde CSSOM ile Çalışma

Aspose.HTML FOSS for Python, CSS nesne modelini uygular: stil sayfaları canlı kural nesnelerine ayrıştırılır, belgelere eklenir ve gerçek bir kademelendirme ile çözülür. Bu kılavuz bir öğeyi stillendirir ve hesaplanmış sonucu okur, kurulum için pip kullanarak.

Adım Adım Kılavuz

Adım 1: Paketi Kurun

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

Adım 2: Gerekli Sınıfları İçe Aktarın

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

Adım 3: Stil Verilmiş Bir Öğeyi Oluşturun

Bir belge ve bir sınıf ile bir kimlik (id) içeren bir öğe oluşturun — ikisi de seçici eşleşmesine katılacak:

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

Adım 4: Stil Sayfasını Ayrıştır ve Ekle

replace_sync() stil sayfası metnini ayrıştırır; attach_style_sheet() bunu belgeye kaydeder:

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

Adım 5: Hesaplanmış Stili Oku

ID seçicisi (özgüllük 1,0,0) sınıf seçicisinden (0,1,0) daha üstündür, bu yüzden mavi kazanır:

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

Yaygın Sorunlar ve Çözümler

Hesaplanan değer stil sayfamı (stylesheet) göz ardı ediyor. Sayfa, şunun aracılığıyla eklenmelidir. Document.attach_style_sheet() before get_computed_style() çağrılır.

Satır içi stil, bir stylesheet kuralına yenilir. Yazar kuralları işaretlenmiş !important önemsiz olmayan satır içi bildirimleri aşar; öncelikleri şununla inceleyin get_property_priority().

Aynı özgüllüğe sahip iki kural şaşırtıcı bir kazanan ortaya çıkarır. Daha sonraki kurallar eşit özgüllük eşitliğini kazanır — sayfa içindeki kural sırası önemlidir.

Sık Sorulan Sorular

Satır içi stilleri programlı olarak nasıl ayarlarım?

Elementin style bildirimi aracılığıyla: onu bir değişkene atayın ve set_property() metodunu çağırın.

get_computed_style hangi nesneyi döndürür?

Bir ComputedStyleDeclaration; değerleri get_property_value() ile okuyun.

Medya, keyframe ve font-face kuralları modellenmiş midir?

Evet — ayrıştırılmış sayfalar, CSSMediaRule, CSSKeyframesRule ve CSSFontFaceRule içeren bir CSSRuleList içinde tiplenmiş kurallar içerir.

Ayrıca Bakınız

 Türkçe