Nasıl CSS Seçicileri Python içinde Kullanılır

Nasıl CSS Seçicileri Python içinde Kullanılır

Aspose.HTML FOSS içinde Python için seçici motoru, sınıf, id, tip, öznitelik ve pseudo-sınıf seçicilerini standart özgüllük ile değerlendirir. Bu kılavuz, kurulum için pip kullanarak — select() ve element_matches()‘i güçlendiren aynı motor — kademeli olarak seçici eşleşmesini gösterir.

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: Birden Çok Seçicinin Eşleştiği Bir Öğeyi Oluşturun

Hem sınıf hem de kimlik taşıyan bir öğe, .foo, #bar ve div seçicileri tarafından aynı anda eşleşir:

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

Adım 4: Özellik Önceliğine Bırak

Çakışan kuralları ekleyin — ID seçicisinin (1,0,0) sınıf seçicisinin (0,1,0) değerini yener:

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

Adım 5: Satır içi bildirimle geçersiz kıl

Satır içi bildirimler (1,0,0) satır içi önceliğe sahiptir ve herhangi bir seçici önceliğine sahip yazar kurallarını yener:

inline = el.style
inline.set_property("color", "green")
print(el.get_computed_style().get_property_value("color"))

Yaygın Sorunlar ve Çözümler

Doğru görününen bir seçici hiçbir şeyi eşleştirmez. Sözdizimi hataları içeren seçici metni ayrıştırılamaz — motor tahmin etmek yerine bunu raporlar; seçici dizesini kontrol edin.

:where() şu şeyden farklı davranır :is(). Bu tasarım gereği: :where() sıfır özgüllük katar, :is() argümanınınkini katıyor.

Bir tip seçici beklenmedik şekilde kaybeder. Tip seçiciler en düşük özgüllük sınıfına sahiptir (0,0,1); aynı elemandaki herhangi bir class veya id kuralı onlardan daha üstündür.

Sıkça Sorulan Sorular

Bir stil sayfası olmadan bir seçici sorgusu çalıştırabilir miyim?

Evet — select() bir seçiciyi doğrudan bir ağaç üzerinde değerlendirir ve element_matches() tek bir öğeyi test eder.

Özgüllük nasıl hesaplanır?

specificity() hem sorgular hem de kademelenme tarafından kullanılan standart (id, class, type) demetini döndürür.

Hangi pseudo-sınıflar modellenmiştir?

Yapılandırılmış formlar :is(), :where(), :has(), :not() için, karmaşık argümanlarla ve nth-child tarzı yapısal seçicilerle mevcuttur.

Ayrıca Bakınız

 Türkçe