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 CSSStyleSheetAdı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.