2010-09-14 6 views
14

Semblable à la sélection img[title="test"] puis-je en quelque sorte sélectionner les images qui ont une propriété de style de float mis à left?CSS Sélectionnez Images avec style = "float: left" possible?

Je veux définir les marges gauche et inférieure qui ne s'appliquent pas aux images flottantes.

Merci.

+1

Qu'est-ce qui les place à 'float: left'? Cela ne peut-il pas également définir les marges gauche et inférieure à 0? –

+0

C'est une interface CMS qui est utilisée pour cela et c'est un peu compliqué pour certains utilisateurs de définir des marges. De plus, l'interface CMS permet uniquement de définir horiz. et vert. marges en même temps. Donc deux par deux pas pour chacun. – Francisc

Répondre

27

solution Peter W doit être corrigé comme ceci: (changé ~= à *=)

img[style*="float:left"] { 
    margin: 5px 15px 0px 0px; 
} 

img[style*="float:right"] { 
    margin: 5px 0px 0px 15px; 
} 

Le seul problème est qu'il fait une correspondance exacte, donc float:right correspondra, alors que float: right habitude (notez l'espace supplémentaire).

J'ai testé avec succès dans Chrome et IE9, mais dans IE mode d'émulation ne fonctionnera pas ...

+0

Ceci est très utile! –

+0

Une chose très utile dans la typographie de style! – czLukasss

3

Pas possible sans JS. Vous pouvez mettre un cours sur les images ou leurs parents et faire une règle, cependant.

+0

Ce sont des images placées par les utilisateurs via un CMS. – Francisc

+0

Merci, meder. – Francisc

2

Utilisez ceci:

img[style~="float:left"] { 
    margin: 5px 15px 0px 0px; 
} 

img[style~="float:right"] { 
    margin: 5px 0px 0px 15px; 
} 

Vous pouvez lire tout CSS2 Selectors à l'un de ces sites:

+0

Cela fonctionnerait si le flottant n'était pas dans un fichier CSS et dans une balise de style en ligne. – Francisc

+1

Si c'était dans un fichier CSS, vous pouviez modifier les classes, et ce problème n'était probablement pas nécessaire. – Omiod

18

Juste pour développer ce un peu, ce que je me sers pour tous mes images . Il attrape les flotteurs ainsi que les images alignées.

img[align="left"], 
img[style*="float: left"], 
img[style*="float:left"]{ 
    margin: 5px 15px 0px 0px; 
} 
img[align="right"], 
img[style*="float: right"], 
img[style*="float:right"]{ 
    margin: 5px 0px 0px 15px; 
} 
+0

Il vous manque une virgule dans la ligne 'float: right'. –

+0

Correction, maintenant je ferais mieux de vérifier mon site ... merci l'homme. – Cloudkiller

+0

Pas de problème. J'ai aimé l'idée, mais ça ne fonctionnait pas au début. J'ai pensé que d'autres ne prendraient pas autant de temps pour le déboguer ... –