Foros del Web » Creando para Internet » CSS »

"hackear" ie7 (CSS)

Estas en el tema de "hackear" ie7 (CSS) en el foro de CSS en Foros del Web. Mi web se visualiza muy bien en IE9 y en IE8 (Aunque de aqui solo me falte por solucionar el tema de esquinas redondeadas.) El ...
  #1 (permalink)  
Antiguo 09/11/2012, 09:08
 
Fecha de Ingreso: octubre-2010
Ubicación: Madrid
Mensajes: 38
Antigüedad: 14 años, 1 mes
Puntos: 4
Pregunta "hackear" ie7 (CSS)

Mi web se visualiza muy bien en IE9 y en IE8 (Aunque de aqui solo me falte por solucionar el tema de esquinas redondeadas.)

El verdadero problema es ie7. (se me ven mal absolutamente todas las páginas. Me explico:

El problema es que tengo un solo CSS para albergar los estilos de mi web, y ya en una de las páginas, en este caso la home.html, la tengo "hackeada" de la siguiente manera:

Código:
article {
    height: 310px;
	*height: 330px; // El asterisco significa que solo lo leen las versiones de IE7.
    width: 100%;
    z-index: 1000;
}
Ahora lo que me pasa es que al hackear la siguiente pagina, en este caso fotografia.html, me pide un *height: 640px; Muy diferente al height que tengo puesto en home.html como puedes ver.

Entonces, una orden me anula la otra. El problema es que tengo la soluccion en la mano con una contradicción, y ahora no se que camino elegir para "hackearlo".

He leido en internet lo siguiente:

1. Que haga CSS diferentes para cada pagina hackeada. (me parece una estupida idea..si tengo 15 html, tendria que hacer 15 css......

Y lo que he pensado es... meter en la cabecera de cada pagina HTML lo que debería de hackear..... Pero.... no creo que valide. A parte, es una buena práctica? Qué podría hacer?.

Gracias por vuestra colaboración.
  #2 (permalink)  
Antiguo 09/11/2012, 09:53
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.489
Antigüedad: 22 años, 3 meses
Puntos: 2114
Respuesta: "hackear" ie7 (CSS)

¿Y cómo haces para que coja una altura diferente cada article en cada página para otros navegadores? Hazlo igual para el hack de IE7, ¿no?

Otra pregunta sería que si realmente es necesario aplicar un height para lo que quieres hacer.
  #3 (permalink)  
Antiguo 09/11/2012, 10:47
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 8 meses
Puntos: 336
Respuesta: "hackear" ie7 (CSS)

Ninguna de las acciones que has realizado tienen relación alguna con un "hackeo", hackear es controlar información ajena sin tener estos permisos.

Lo que estás haciendo se llama simplemente "desarrollar una hoja de estilos".

en cuanto a tu problema, lo que te sugiero es que en estos casos no hagas hojas de estilo, utiliza estilos en cascada dentro del mismo archivo, o sea:

en home.html donde está el artículo pones

Código HTML:
Ver original
  1. article {
  2.     *height: 330px; // El asterisco significa que solo lo leen las versiones de IE7.
  3. }
  4. ...

mientras que en fotografía.html

Código HTML:
Ver original
  1. article {
  2.     *height: 640px; // El asterisco significa que solo lo leen las versiones de IE7.
  3. }
  4. ...

También me uno a lo que pregunta Bonez:

realmente es necesario aplicar un height para lo que quieres hacer?

si lo que deseas es ocupar toda la página hay algunos trucos mejores para hacerlo :)
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #4 (permalink)  
Antiguo 09/11/2012, 15:05
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 4 meses
Puntos: 1567
Respuesta: "hackear" ie7 (CSS)

Primero, no me preocuparía mucho por validar el css (eso sí, que la sintáxis sea correcta)
Segundo, si tenés varios height diferentes para cada página, no es "estupido" sino necesario que reescribas el valor para la propiedad (recordá que los css se leen secuencialmente, a partir de ahi

<link rel="stylesheet" type="text/css" href="estilos.css" media="screen" />
estilos.css

Código CSS:
Ver original
  1. article {
  2.     height: 310px;
  3.     *height: 330px; /* valor por defecto para IE7 asumiendo que de tus 15 html haya varios que requieren este height */
  4.     width: 100%;
  5.     z-index: 999; /* no funciona sin absolute o fixed */
  6.     border: solid 1px #000;
  7.     display: block;
  8. }

posteriormente a la llamada al archivo de estilos, en cada página que lo requiera

Código CSS:
Ver original
  1. <!--[if IE 7]>
  2.  
  3. <style type="text/css">
  4. /*<![CDATA[*/
  5.  
  6. article {
  7. height: 600px; /* o lo que se necesite */
  8. }
  9.  
  10. /*]]>*/
  11. </style>
  12. <![endif]-->

De paso te aclaro que la propiedad z-index no funciona si no declarás un position absolute ó fixed.
Supongo también que en alguna parte implementas algún tipo de reset para darle display block a tus article e incluís
Código HTML:
Ver original
  1. <!--[if lt IE 9]><script type="text/javascript" src="html5ie.js"></script><![endif]-->
ó similiar

SAludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.

Última edición por emprear; 09/11/2012 a las 15:10
  #5 (permalink)  
Antiguo 10/11/2012, 07:22
 
Fecha de Ingreso: octubre-2010
Ubicación: Madrid
Mensajes: 38
Antigüedad: 14 años, 1 mes
Puntos: 4
Respuesta: "hackear" ie7 (CSS)

Muchas gracias Bonez y Stramin, tenéis razón, no debí de haber empleado height, debí de haber empleado un padding o en su defecto un margin, ambos me valían, pero con las prisas de entregar el proyecto se me pasó completamente.. y ahora tengo un lío de CSS que ni si quiera se si me dará tiempo solucionar. ¡Estoy en pleno aprendizaje!

Gracias Emprear a ti también, muy buenos consejos todos, os lo agradezco mucho. Si me preocupa tanto la validación es porque en el proyecto me la puntuarán con gran miramiento.

En un principio había pensado la solución que stramin me propuso: Incluir el código CSS en la cabecera. Pero no sé si esto es una práctica demasiado cuestionable.

Que locura... es que por decirlo así.. tengo el "css" plenamente montado y cada cosa que cambio me vuelve un poco locatis.

Karma para vosotros.

Etiquetas: html, ie7, internetexplorer
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:00.