css: dir=“rtl” VS style=“direction:rtl”
Je sais comment le style de la direction est sur la ligne
<div dir="rtl">foo</div>
div[dir="rtl"]
{
....;
}
Mais comment style
<div style="direction:rtl">foo</div> ?
Les deux se comporte comme prévu (à droite "alignement" du texte) mais j'ai besoin de plus fin de peaufinage pour certains éléments à l'intérieur (float, text-align...) et je ne parviens pas à configurer ma règle correctement dans le second cas.
Je ne peux pas modifier le code html. Je dois utiliser style="direction:rtl".
OriginalL'auteur frenchone | 2014-03-19
Vous devez vous connecter pour publier un commentaire.
Que vous ne pouvez pas modifier le code HTML, un vraiment vraiment hacky sélecteur serait:
JSFiddle démo.
Remarque que je suis en utilisant
style*=
plutôt que de simplementstyle=
que cela permettra également de faire correspondre les éléments qui ont plus que justedirection:rtl
déclarée à l'intérieur de l'élémentstyle
propriété.Pour la force supplémentaire dans le sélecteur, vous pouvez également utiliser
[style*="direction: rtl"]
pour gérerstyle
attributs qui séparent les valeurs des propriétés de l'espace:Alternativement dans ce cas, vous pourriez juste le match sur un
style
attribut qui contient des "rtl", comme je suis sûr que cette combinaison de caractères n'est pas utilisé dans tous les autres biens (en ignorant les ressources externes comme image d'arrière-plan des noms de fichier):mise à Jour de JSFiddle démo.
div:nth-child(5) { ... }
.1+ Vous pouvez également utiliser
div[style~="direction:rtl"]
qui vont travailler dans des cas comme celui-ci: jsfiddle.net/5tS8u .. "représente un attribut dont la valeur est un espace-liste séparée" .. developer.mozilla.org/en-US/docs/Web/CSS/Attribute_selectorsest une meilleure sélecteur le sélecteur ne peut pas être séparés par un espace blanc (par exemple, il peut finir dans un
;
(ce qui brise ton JSFiddle démo: jsfiddle.net/5tS8u/1)).+1 mais que faire si il ressemble à
direction: rtl
? 🙂bon point, j'ai mis à jour la réponse légèrement.
OriginalL'auteur James Donnelly
juste ajouter une classe "rtl" à la balise html
OriginalL'auteur טאבו ישראל שרות לקוחות