Contenido

Como conseguir compatibilidad entre navegadores siempre

19 Jun

+ 20

Cuando has terminado una aplicación y la abres con un navegador diferente al que lo habías hecho durante la fase de desarrollo, te das cuenta de que te queda prácticamente el mismo tiempo que has tardado en desarrollar la aplicación puliendo los detalles en los diferentes navegadores.

Este es el mayor problema con el que nos encontramos los desarrolladores web y por el que más me han solicitado ayuda por mail. Ya hemos hablado varias veces de por que ocurre esto, y básicamente es por que cada equipo de desarrollo encargado de desarrollar cada uno de los navegadores interpreta de una forma u otra los estandares definidos por la W3C. De ahí que aparezcan tests con los que la W3C se asegura de que los navegadores han entendido lo que solicitaban.

Por suerte o por desgracia, existen centenares de navegadores y nunca podemos saber a ciencia cierta que navegador va a usar cada visita, por ese motivo tenemos que pulir nuestro código, añadir opciones específicas (los llamados hacks) o incluso desarrollar sitios aposta para abarcar el máximo de estos navegadores.

Solo la experiencia nos hará reducir el tiempo que perdemos en estas “modificaciones”. Hay mucha gente muy buena, con muchísima experiencia que comparte sus conocimientos y de esta gente tenemos que aprender, por ello una lista de “normas” a tener en cuenta antes de empezar nos podría ayudar a conseguir el equilibrio perfecto

  1. Siempre usa el DOCTYPE strict y valida los estandares HTML/CSS
  2. Usa siempre un sistema para resetear tus CSS
  3. Usa opacity:0.99 en elementos de texto para limpiar el renderizado de Safari
  4. Nunca redimensiones imagenes desde el CSS o HTML
  5. Revisa el renderizado de la fuente en todos los navegadores. Nunca uses Lucida.
  6. El tamaño del texto es % en el body y em para el resto
  7. Todos los divs flotantes deben llevar display:inline y overflow:hidden
  8. Los contenedores deben tener overflow:auto y activa hasLayout usando un width o un height
  9. No uses ningún estilo CSS3 extravagante
  10. No uses imagenes PNG transparentes a menos que hayas cargado el apha.

Guias de estilos soportados en clientes de Correo

19 Jun

+ 3

Si alguna vez has intentado generar un mail en formato HTML sabrás los problemas con los que nos encontramos al visualizar dicho correo en los diferentes cliente disponibles, ya sean Offline u Online.

Para estos casos, es bueno tener una lista como esta con los estilos disponibles para cada unos de los clientes de correo, que pese a no cubrir todos los disponibles (imagino que debe de haber millones, entre offline y online) nos consigue dar una idea realmente clara de que estilos podemos usar y cuales no.

Si trabajamos con ello a diario, podremos descargarlo en formato PDF o en un formato Excel.

20 soluciones a problemas comunes de CSS

16 Jun

+ 4

La gente de Noupe ha hecho una recopilación de los 20 problemas más comunes de los que nos podemos encontrar en CSS. Conociendo estos problemas y las soluciones no se nos resisitirá ningún diseño en ningún navegador.

Haz flip a las páginas con Safari

2 Jun

+ 6

Mediante el uso de la propiedad CSS (-webkit-transform), propuesta por el equipo de WebKit para transformar la salida por pantalla del HTML, podremos girar cualquier página usando un pequeño enlace javascript.

anieto2k-flip

javascript:document.body.style['-webkit-transform']='rotate(180deg)';
javascript:document.body.style['-webkit-transform']='rotate('+prompt('degrees',180)+'deg)';

Guarda estos bookmarks entre tus marcadores y podrás girar cualquier página (solo en Safari y WebKit).

Flip / Flip2

Via

2 propiedades ocultas de Firefox 3

23 May

+ 4

Desde SitePoint nos traen dos propiedades ocultas de Firefox 3. Dos más a añadir a las que ya conocemos y que nos gustan tanto.

1) Soft hyphens

En los navegadores actuales, podemos tener problemas con los tamaños de los elementos y el texto que tenga dentro. Si una palabra es demasiado larga, no ajusta correctamente el tamaño del elemento al valor que le hemos indicado.

<div style="width: 10em; border: 1px solid red;">
	  Supercalifragilisticexpialidocious
</div>

shy-none

Ahora con la nueva versión, tenemos la propiedad soft hyphens, que se encarga de acortarnos la palabra en al tamaño que le indicamos al elemento contenedor.

<div style="width: 10em; border: 1px solid red;">
	  Supercalifragilistic&shy;expialidocious
</div>

shy-ok

2) Inline Block

Otro problema que tenemos con los navegadores actuales, es el problema de posicionamiento de elementos de inline.

//HTML
<ul class="gallery">
  <li>
    <div class="caption">A short caption</div>
    <div class="thumb"><img src="thumb1.jpg"/></div>
  </li>
  <li>
  	<div class="caption">A short caption</div>
  	<div class="thumb"><img src="thumb2.jpg"/></div>
	</li>
</ul>
//CSS
.gallery li {
  float: left;
  width: 100px;
}

cssgallery-float

Con la nueva versión y usando la propiedad inline-block, podremos solucionar este problema fácilmente.

//HTML
<ul class="gallery">
	  <li>
     <div class="caption">A short caption</div>
	    <div class="thumb"><img src="thumb1.jpg"/></div>
	  </li><li>
	    <div class="caption">A short caption</div>
	    <div class="thumb"><img src="thumb2.jpg"/></div>
	  </li><li>
	  …
	</ul>
//CSS
.gallery li {
	  display: inline-block; 
	  width: 100px;
	} 

	/* In an IE-only style sheet */
	.gallery li {
	  display: inline;
	}

cssgallery-inlineblock-bottom

Con vertical-align, podremos elegir hacia donde se ha de alinear (verticalmente) el conjunto de elementos.

cssgallery-inlineblock-top

Wordpress 2.6 incluirá Google Gears para trabajar offline

16 May

+ 27

Alex me avisa de un nuevo Changeset (el 7938) en el que podemos ver como la próxima versión de Wordpress, la 2.6, integrará la posibilidad de trabajar offline con los contenidos de tu blog.

wordpress-google-gears-init

Una vez actualizado a la última versión, te encuentras la pantalla anterior informandote de que disponemos de esta funcionalidad y que si la activamos Google Gears empezará a almacenar las CSS, contenidos y ficheros necesarios para trabajar offline, que podemos llegar a notar el aumento de tiempo en la carga de la página. La primera vez si que tarde, despues no es tan exagerado.

wordpress-google-gears-info

Si no queremos instalar esta funcionalidad, Wordpress no deja un enlace en la parte destinada a la información del Blog en el cual podremos instalar Google Gears. Por si queremos dejarlo para más adelante.

wordpress-google-gears-activate

Si hemos aceptado la instalación de Gears, al entrar en nuestro Panel Administrador nos encontraremos con una ventana de Google Gears que nos solicitará permiso para empezar a registrar datos, si aceptamos no nos volverá a solicitar esta activación.

wordpress-google-gears-saving

Al entrar en por primera vez en nuestro Panel de Administrador despues de haber instalado Google Gears automáticamente comenzará a almacenar en local los ficheros y contenidos para usarlos offline. Una vez terminado podremos continuar con nuestra tarea diaría.

Esta opción es ideal para gente que como a mi, los fines de semana me voy a la casa de campo y no puedo actualizar con artículos pendientes que me gustaría ir editando. Así, podré llevar en el portatil almacenado todo el contenido del blog, para intentar actualizarlo con mayor frecuencia. Nos vendrá de perlas hasta que los navegadores integren Almacenamiento DOM y se haya de migrar todo esto :D

Google DocType, documentación para desarrolladores web

15 May

+ 9

La propia página de Google Doctype, lo resume en una sola línea.

Google Doctype is an open encyclopedia and reference library. Written by web developers, for web developers.[...]

Osea

Google Doctype es una enciclopedia abierta y una librería de referencia. Escrita por desarrolladores web, para desarrolladores web.[...]

Con esa línea nos deja entrever lo que nos vamos a encontrar en su interior:

  • Artículos sobre seguridad
  • Artículos sobre Javascript
  • Artículo sobre CSS

Todo ello 100% libre bajo la licencia Creative Commons 3.0 Attribution, osea que podremos usarlos simplemente linkando la fuente de donde los hemos sacado.

Si echamos un vistazo algo más exhaustivo, nos encontramos una pantalla en la que navegar por los artículos además de fácilmente asombra la rapideza con la que aparecen los artículos. Desde HOWTO’s en los que nos muestran código de como hacer algunas de las tareas comunes de cada día (Reconocer el navegador, Verificar la definición de una variable, …) y tareas no tan comunes (Detectar el TextResize, Calcular el espacio de scroll, …)

Otra sección interesante es la recopilación de referencias a los diferentes elementos de los diferentes lenguajes usados en la capa cliente externa del desarrollo web (HTML, CSS, Javascript(DOM)), allí se reunen la documentación necesaria para que no tengas que rebuscar por toda internet.

Personalmente solo puedo decir que ya tengo otro acceso directo formando parte de la barra de marcadores de Firefox :D

pi.debugger, el mejor sustituto de Firebug

10 May

+ 6

Los que me leen a diario saben las maravillas que siempre hablo de Firebug y saben que para mi es la mejor aplicación para Firefox y con la que cada día me ahorro horas de trabajo debugueando aplicaciones.

Lamentablemente no siempre puedo disponer de ella, mucha veces navegadores como IE, Safari, Opera me limitan su uso y he de buscar alternativas. Son muchas las herramientas que hay para todos esos navegadores, pero ninguna tan parecida a Firebug.

pidebugger

pi.debugger, es una herramienta muy completa, desarrollada en Javascript que nos emula el funcionamiento de Firebug. En la imagen vemos las opciones básicas con las que Firebug nos asombraba en aquella versión 0.x. Pudiendo ver la estructura HTML de la página, el contenido CSS y el DOM de la página.

[Descargar][Demo]

slideMenu con MooTools

3 May

+ 0

Jordi ha publicado un, poco común, post-tutorial de Javascript. Y la verdad es que creo que ha aportado un grano de arena más a esta gran comunidad de mentes inquietas explicando como ha integrado un slideMenu en su página personal. Enhorabuena Jordi.

CSS Masks, ya disponibles en WebKit

24 Abr

+ 0

Hoy la gente de Webkit, anuncia que la última versión de su navegador dispone de CSS Masks, una nueva funcionalidad CSS que permite aplicar un estilo de máscara a imágenes y elementos.

-webkit-mask (background)
-webkit-mask-attachment (background-attachment)
-webkit-mask-clip (background-clip)
-webkit-mask-origin (background-origin)
-webkit-mask-image (background-image)
-webkit-mask-repeat (background-repeat)
-webkit-mask-composite (background-composite)
-webkit-mask-box-image (border-image)

Estas propiedades, pronto formarán parte del núcleo de Safari, así que no estaría de más ir echandole un vistazo.

Los nuevos tags

WebKit, es bastante famoso por seguir los estándares web y ser pionero (cogido de la mano con Opera) en integrarlos en las versiones beta de su navegador, además es el componente usado de base del navegador predeterminado de los sistemas operativos de Apple, pero con la creación de estos tags creo que está entrando en un terreno delicado, ya que a las pruebas me remito para recordar al querido Internet Explorer, el cual empezó integrando ActiveX, y los problemas que ha causado.

Por el momento están desarrolladas como posibles mejoras para un futuro navegador, a modo de propuestas para ir poniendo los dientes largos a más de uno, pero …