2010-11-12 4 views
1

Je suis en train d'analyser une feuille de style css avec le module python cssutils. L'analyseur émet une erreur lors de l'accès au sélecteur "[dir = ltr] div.label div.label".Erreur d'analyse de feuille de style pour [dir = rtl] lors de l'utilisation du module python cssutils

Je voudrais trouver un moyen de modifier le CSS pour rendre l'analyseur heureux et maintenir la même fonctionnalité.

Quelle serait la manière standard pour cela:

div.row div.label { 
float: left; 
width: 18%; 
text-align: right; 
} 
div.row div.formw { 
width: 80%; 
} 
[dir=ltr] div.row div.label, [dir=rtl] div.row div.formw { 
float: left; 
text-align: right; 
} 
[dir=rtl] div.row div.label, [dir=ltr] div.row div.formw { 
float: right; 
text-align: left; 
} 

Note: « dir » est utilisé pour contrôler la direction du texte pour les langues comme l'arabe ou l'hébreu.

http://www.unics.uni-hannover.de/nhtcapri/bidirectional-text.html

Répondre

3

il est un peu plus lent, mais

*[dir=ltr] div.row div.label, *[dir=rtl] div.row div.formw { 
float: left; 
text-align: right; 
} 
*[dir=rtl] div.row div.label, *[dir=ltr] div.row div.formw { 
float: right; 
text-align: left; 
} 

devrait fonctionner. Evidemment changer * avec l'élément avec cet attribut si c'est possible

+0

Il semble que cela fonctionne pour l'instant. Il l'analyse maintenant et n'ignore pas le sélecteur. Merci! – vejeta

+1

'[dir = ltr]' et '* [dir = ltr]' sont des sélecteurs identiques - le seul inconvénient de performance est l'ajout du caractère '*', et si vous travaillez avec un analyseur seul, il n'y a vraiment rien à craindre sur. – BoltClock

Questions connexes