¡¡Compartenos!!

martes, 13 de diciembre de 2011

Hacks CSS para dejar vuestros diseños web ajustados

Cuantas veces habremos odiado los webmaster, a los distintos navegadores y sus particulares maneras de interpretar el CSS. Malditos....
Pues aqui os traigo una manera de hacer que todas las cositas que siendo puristas no ajustamos al milimetro y como hacerlo para que ajusten.
Siempre esta la manera profesional de hacerlo, y la "otra" manera.
En este articulo, ire recopilando todos los que vaya viendo y necesitando usar. Asi que este articulo sera recurrente aparecera cada vez que lo modifique en la primera posicion.



Para Safari y Webkit:

/* saf3+, chrome1+ */
@media screen and (-webkit-min-device-pixel-ratio:0) {
    
    /* Todo lo que pongamos aqui dentro seran etiquetas normales de CSS */    
    /* Como si fuesen etiquetas normales */
div.myClass  { color: red  }

}

Para IE7:

body{
background: #fff !important; /* Firefox y los demas */
*background: #000 !important; /* Solo IE7 */
*background: #000; /* Solo IE6 */
}

Todas las versiones de IE:
#somediv{
width: 100px\9;
}

IE8 estandar solamente:

#somediv{
  width /*\**/: 100px\9;
}

Mas hacks para varios:

/***** Selector Hacks ******/
 
/* IE6 and below */
* html #uno  { color: red }
 
/* IE7 */
*:first-child+html #dos { color: red } 
 
/* IE7, FF, Saf, Opera  */
html>body #tres { color: red }
 
/* IE8, FF, Saf, Opera (Everything but IE 6,7) */
html>/**/body #cuatro { color: red }
 
/* Opera 9.27 and below, safari 2 */
html:first-child #cinco { color: red }
 
/* Safari 2-3 */
html[xmlns*=""] body:last-child #seis { color: red }
 
/* safari 3+, chrome 1+, opera9+, ff 3.5+ */
body:nth-of-type(1) #siete { color: red }
 
/* safari 3+, chrome 1+, opera9+, ff 3.5+ */
body:first-of-type #ocho {  color: red }
 
/* saf3+, chrome1+ */
@media screen and (-webkit-min-device-pixel-ratio:0) {
 #diez  { color: red  }
}
 
/* iPhone / mobile webkit */
@media screen and (max-device-width: 480px) {
 #veintiseis { color: red  }
}
 
 
/* Safari 2 - 3.1 */
html[xmlns*=""]:root #trece  { color: red  }
 
/* Safari 2 - 3.1, Opera 9.25 */
*|html[xmlns*=""] #catorce { color: red  }
 
/* Everything but IE6-8 */
:root *> #quince { color: red  }
 
/* IE7 */
*+html #dieciocho {  color: red }
 
/* Firefox only. 1+ */
#veinticuatro,  x:-moz-any-link  { color: red }
 
/* Firefox 3.0+ */
#veinticinco,  x:-moz-any-link, x:default  { color: red  }
 
/* FF 3.5+ */
body:not(:-moz-handler-blocked) #cuarenta { color: red; }
 
 
/***** Attribute Hacks ******/
 
/* IE6 */
#once { _color: blue }
 
/* IE6, IE7 */
#doce { *color: blue; /* or #color: blue */ }
 
/* Everything but IE6 */
#diecisiete { color/**/: blue }
 
/* IE6, IE7, IE8 */
#diecinueve { color: blue\9; }
 
/* IE7, IE8 */
#veinte { color/*\**/: blue\9; }
 
/* IE6, IE7 -- acts as an !important */
#veintesiete { color: blue !ie; } /* string after ! can be anything */
 
/* IE8, IE9 */
#anotherone  {color: blue\0/;} /* must go at the END of all rules */

/* IE6 y 7 */
min-height:300px;
//height:300px; /* matches only IE6, IE7 */

selector, x:-IE7 { } /* IE7 only */
selector,{} /* lte ie7 */
.suckyie6.someClass {} /* lte ie6  */

/* Property prefix hacks */
 
/* IE6 only - any combination of these characters */
_ - £ ¬ ¦
 
/* IE6/7 only - any combination of these characters */
! $ & * ( ) = % + @ , . / ` [ ] # ~ ? : < > |
 
 
/* @media hacks */
 
/* IE6/7 only (via Keith Clarke) */
@media screen\9 { }
 
/* IE6/7/8 (via Keith Clarke) */
@media \0screen\,screen\9 {} 
 
/* IE8 (via Keith Clarke) */
@media \0screen { }
 
/* IE8/9 */
@media screen\0 { }

No hay comentarios:

Publicar un comentario