Retroceder   Foros del Web > Diseño de Sitios web > CSS

Respuesta
 
Herramientas Desplegado
Antiguo 22-abr-2008, 15:27   #1 (permalink)
pipeio ha deshabilitado el karma
 
Fecha de Ingreso: abril-2008
Mensajes: 6
Triste Problemas con los selectores condicionales

Hola, esto es mi primer mensaje. Así es que supongo que será un poco chorra Pero realmente llevo un buen rato dándole vueltas y no sé porque no me funciona.
Tengo uno selector condicional en la página principal para coger un css u otro dependiendo si el usuario carga la web mediante IE o el resto de navegadores.
FF no coge el css que es sólo para IE, como debe ser. Pero IE6 no coge su css. En cambio si sólo dejo el link para IE con su comentario condicional y elimino el link para el resto de navegadores, entonces sí que IE6 coge el link que está dentro del comentario condicional. Espero que haya quedado claro. Aqui va el código:

Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3c.org/TR/xhtml1/DTD/xhtml1-strict.dtd ">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Restauración Olga y Ana</title>
<link rel="stylesheet" type="text/css" href="estilos/estilos.css"/>
<!--[if IE]>
	<link rel="stylesheet" type="text/css" href="estilos/estilosie.css"/>
<![endif]-->
</head>

<BODY>
...
</BODY>
¿Tiene algo que ver que para mostrar la página simplemente este pulsando el "vista previa en IExplorer 6.0" / "vista previa en FireFox" del Dreamweaver 8.0?

Muchas gracias desde ya
pipeio está desconectado   Responder Citando
Antiguo 22-abr-2008, 16:36   #2 (permalink)
nedrek está en el buen camino
 
Avatar de nedrek
 
Fecha de Ingreso: abril-2008
Ubicación: Valencia, España
Mensajes: 151
Re: Problemas con los selectores condicionales

Como "nivel inicial":

Primero siempre los de IE, que serán los "generales".
Después los restantes.

Si lo haces como anteriormente, vas a tener que ser muy específico en cada una de las reglas, si lo haces de esta otra manera, crea la hoja completa para IE, y después haz los ajustes que quieras para los demás browsers.

Código HTML:
<!--[if IE]>
	<link rel="stylesheet" type="text/css" href="estilos/estilosie.css"/>
<![endif]-->

<link rel="stylesheet" type="text/css" href="estilos/estilos.css"/>
Así debería funcionarte sin problemas.
nedrek está desconectado   Responder Citando
Antiguo 22-abr-2008, 17:08   #3 (permalink)
Colaborador
Mikmoro es realmente agradableMikmoro es realmente agradableMikmoro es realmente agradableMikmoro es realmente agradableMikmoro es realmente agradableMikmoro es realmente agradable
 
Avatar de Mikmoro
 
Fecha de Ingreso: octubre-2006
Ubicación: A tu espalda
Mensajes: 3.458
Re: Problemas con los selectores condicionales

Cita:
Iniciado por nedrek Ver Mensaje
Como "nivel inicial":

Primero siempre los de IE, que serán los "generales".
Después los restantes.

Si lo haces como anteriormente, vas a tener que ser muy específico en cada una de las reglas, si lo haces de esta otra manera, crea la hoja completa para IE, y después haz los ajustes que quieras para los demás browsers.

Código HTML:
<!--[if IE]>
	<link rel="stylesheet" type="text/css" href="estilos/estilosie.css"/>
<![endif]-->

<link rel="stylesheet" type="text/css" href="estilos/estilos.css"/>
Así debería funcionarte sin problemas.
Ten en cuenta la prioridad de la hojas; siempre prevalece la regla de la hoja que se lea después, a no ser que digas lo contrario con algunos de los métodos para ello.

Si lo hicieras así, pasaría lo siguiente:

- en la hoja de IE pongo por ejemplo body {margin: 10px;}
- y en la hoja genérica pongo body {margin: 20px;}

¿Qué leerá IE? 20px. ¿Por qué? porque primero leerá 10 y luego 20, y se quedará con la última lectura que haya hecho.

Por eso hay que ponerlas justamente al revés:

Cita:
<link rel="stylesheet" type="text/css" href="estilos/estilos.css"/>
<!--[if IE]><link rel="stylesheet" type="text/css" href="estilos/estilosie.css"/>
<![endif]-->
es decir, tal y como estaban, ya que en ese caso IE leerá primero 20px de la hoja genérica, que luego contradice con su propia hoja que dice 10px. Así que leerá 10px. No sé si me explico bien.

pipeio: hay que tener en cuenta que cada regla que quieras diferente para IE y ya esté en la hoja general la tienes que contradecir a la fuerza, no basta con no ponerla, porque IE leerá las dos hojas. Si quieres un margen de 0px y en la general pone 10px, no bastará con que no pongas nada, sino que has de poner 0px a la fuerza para contradecir la regla que ya ha leido.

¿Qué te está pasando en tu caso? Ni idea. Pon los dos códigos css a ver si hay alguna cosa rara.

Mikel.
Mikmoro esta en línea ahora   Responder Citando
Antiguo 23-abr-2008, 11:33   #4 (permalink)
pipeio ha deshabilitado el karma
 
Fecha de Ingreso: abril-2008
Mensajes: 6
Alegría Re: Problemas con los selectores condicionales

¡Muchisisisisimas gracias Mikel!
Era justo eso que me has comentado. En los estilos generales tenía un background-image, y en los estilos para IE no había puesto el background-image. Mi idea era que no saliera el background-image, pero como tu bien dices, IE ha leido ambas css y ha hecho una "unión" entre ellas. Especificando un background-image distinto en la hoja de estilos para IE ha "machacado" la general.

Entonces, una pregunta que me surge ahora, a la hora de definir 2 hojas de estilo diferentes para IE vs. el resto, en el css de IE ¿sólo se pone las diferencias con la original? ¿o se copia toda la hoja de estilos y se cambia lo necesario? ¿como lo suele hacer la gente?

¡Gracias de antemano!
pipeio está desconectado   Responder Citando
Antiguo 23-abr-2008, 11:36   #5 (permalink)
Colaborador
Mikmoro es realmente agradableMikmoro es realmente agradableMikmoro es realmente agradableMikmoro es realmente agradableMikmoro es realmente agradableMikmoro es realmente agradable
 
Avatar de Mikmoro
 
Fecha de Ingreso: octubre-2006
Ubicación: A tu espalda
Mensajes: 3.458
Re: Problemas con los selectores condicionales

No, sólo las diferencias y las cosas que no sean así. Aunque es lo mismo quiero decir: si quieres en uno un margen de 10 y en el otro de 20, en esa regla basta con que pongas el margen de 20 y nada más. Pero recuerda que si no quieres que tenga borde y estaba puesto, tedrás que ponerle border none.

Es decir, efectivamente sólo las diferencias pero supongo que ya me entiendes a qué poner atención, si no heredará siempre.

Mikel.
Mikmoro esta en línea ahora   Responder Citando
Antiguo 23-abr-2008, 11:38   #6 (permalink)
pipeio ha deshabilitado el karma
 
Fecha de Ingreso: abril-2008
Mensajes: 6
Alegría Re: Problemas con los selectores condicionales

Muchas gracias por la respuesta clara e inmediata.
¡Me ha quedado claro!
pipeio está desconectado   Responder Citando
Respuesta

Calificación: Calificación de Tema: 2 votos, 4,50 de promedio.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 17:46.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93