2010-09-14 20 views
14

Similar a la selección de img[title="test"] ¿puedo de alguna manera seleccionar imágenes que tengan una propiedad de estilo de float establecida en left?CSS Seleccionar imágenes con style = "float: left" possible?

Quiero establecer los márgenes izquierdo e inferior que no se aplican a las imágenes flotantes derechas.

Gracias.

+1

¿Qué los configura para 'float: left'? ¿No puede eso también establecer los márgenes izquierdo e inferior en 0? –

+0

Es una interfaz CMS que se utiliza para hacer eso y es un poco complicado para algunos de los usuarios establecer márgenes. Además, la interfaz CMS solo permite configurar horiz. y vert. márgenes al mismo tiempo. Entonces, dos por dos, no para cada uno. – Francisc

Respuesta

27

Peter W tiene que ser arreglado así: (cambiado ~= a *=)

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

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

El único problema es que hace una coincidencia exacta, por lo que coincidirá con float:right, mientras float: right costumbre (nótese el espacio adicional).

He probado con éxito en Chrome e IE9, pero en IE modo de emulación no va a funcionar ...

+0

¡Esto es muy útil! –

+0

¡Algo muy útil en la tipografía de estilo! – czLukasss

3

No es posible sin JS. Sin embargo, puedes poner una clase en las imágenes o sus padres y hacer una regla.

+0

Son imágenes que los usuarios colocan a través de un CMS. – Francisc

+0

Gracias, meder. – Francisc

2

Utilice esta:

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

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

Usted puede leer todo acerca de CSS2 selectores en uno de estos sitios:

solución
+0

Eso funcionaría si el flotador no estuviera en un archivo CSS y en una etiqueta de estilo en línea. – Francisc

+1

Si estaba en un archivo CSS, podría editar las clases, y este problema probablemente no era necesario. – Omiod

18

Sólo para ampliar esto un poco, esto es lo que he estado usando para todos mis imágenes . Captura flotadores, así como imágenes que están alineadas.

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

Falta una coma en la línea 'float: right'. –

+0

Solucionado, ahora es mejor que vaya a consultar mi sitio ... gracias hombre. – Cloudkiller

+0

No hay problema. Me gustó la idea detrás de esto, pero al principio no funcionaba. Pensé que otros no tardarían tanto en depurarlo ... –

Cuestiones relacionadas