feed twitter facebook LinkedIn facebook

Conversación » Conversaciones sobre Programación. Build 2012.01

Mayo 3, 2012 por Víctor Cuervo . 736 visitas 5 Comentarios Imprimir Imprimir

Los grupos de conversación de Facebook sobre lenguajes de programación en español están lanzados y rodando a la perfección. Me alegra mucho ver que la gente está interactuando e intercambiando preguntas, ideas, cursos, manuales,... Qué es lo que perseguíamos. Espero que siga así durante mucho tiempo.

En breve asignaremos administradores a los grupos, para que se pueda diversificar más la actividad y el control de los grupos.

Pero echemos un vistazo a las últimas conversaciones...

HTML5 en Español
https://www.facebook.com/groups/html5.es/
75 miembros

Además se están manteniendo varios documentos:

Java en Español
https://www.facebook.com/groups/java.es/
90 miembros

Javascript en Español
https://www.facebook.com/groups/javascript.es/
66 miembros

jQuery en Español
https://www.facebook.com/groups/jquery.es/
82 miembros

CSS en Español
https://www.facebook.com/groups/css.es/
60 miembros

PHP en Español
https://www.facebook.com/groups/HypertextPreprocessor.es/
63 miembros

XML en Español
https://www.facebook.com/groups/xml.es/
32 miembros

SVG en Español
https://www.facebook.com/groups/svg.es/
21 miembros

 

CSS » Embeber fuentes en CSS3

Enero 15, 2012 por Víctor Cuervo . 425 visitas 3 Comentarios Imprimir Imprimir

Dentro de CSS3 tenemos la capacidad de embeber nuestras propias fuentes dentro de nuestra página web. Abriendonos a un gran abanico de tipografías y evitando las restricciones de las propias fuentes que vienen definidas en el estándar de CSS.

Esto nos dará una gran potencia, ya que simplemente tendremos que generar texto y aplicarles la nueva tipografía gracias a la capacidad de embeber nuestras propias fuentes y no tendremos que recurrir a soluciones como la integración de tipografías con imágenes. Tendremos una página web más ligera.

Lo primero que tenemos que hacer es tener una tipografía. Las extensiones soportadas son TrueType (.ttf), OpenType (.otf) y Scalable Vector Grapgichs (.svg).

Así, nuestra fuente elegida para el ejemplo de embeber fuentes en CSS3 es NisePico.ttf.

La regla que tenemos que meter en CSS3 para embeber nuestra fuente es @font-face. Esta regla lo que hace es definir el nombre de nuestra fuente e indicar de dónde se descarga dicha fuente. Así el código será el siguiente:

@font-face {
     font-family: 'NisePico';
     src: url('NisePico.ttf');
}

Ya simplemente podremos utilizar la fuente NisePico dentro de cualquier uso del font en nuestras CSS. Así, por ejemplo, podemos definirnos el siguiente estilo.

.fuente1 {
     font: 40px 'NisePico', Arial, sans-serif;;
     color:red;
     letter-spacing: 0;
     text-align:center;
     text-shadow: 3px 3px 7px #111;
}

Que asignaremos a la clase de cualquier elemento:

<span class="fuente1">EstO es una fuente NisePicO</span>

Aunque embeber fuentes en CSS3 es muy potente, tenemos que tener cuidado en comprobar que los navegadores sobre los que despleguemos nuestro desarrollo, tienen capacidad de interpretar el @font-face.

El soporte lo podemos encontrar desde Internet Explorer 9, Firefox 6, Chrome 13, Safari 3.2 y Opera 11 en adelante.

JavaScript » Modernizr y las capacidades HTML5 y CSS3

Enero 3, 2012 por Víctor Cuervo . 480 visitas 3 Comentarios Imprimir Imprimir

Modernizr es una librería Javascript que nos va a ayudar con la detección del soporte de capacidades HTML5 y CSS3 de un navegador. Si vamos a utilizar HTML5 o CSS3 en nuestra página web, Modernizr nos va a indicar cuales de los elementos o funcionalidades de estos lenguajes están disponibles en el navegador web que está cargando nuestra página.

Lo primero que tenemos que hacer es ir a la web de Modernizr y descargarnos la librería. Hay que indicar que tenemos una versión para desarrollo y una versión para producción la cual es parametrizable. Para las pruebas puedes utilizar la primera, ya que es la que trae todas las funcionalidades de Modernizr.

Una vez tenemos la librería, tenemos que incluirla en nuestra página, mediante una carga normal de un script:

<script type="text/javascript" src="modernizr.js"></script>

Ahora ya pasamos a preguntar por capacidades HTML5 y CSS3. Por ejemplo, si queremos saber si el navegador tiene soporte para el elemento Canvas pondremos lo siguiente:

if (Modernizr.canvas)
	document.write("SI que existe soporte de canvas<br/>");
else
	document.write("NO existe soporte de canvas<br/>");

Vemos que la variable Modernizr.canvas es la que nos devuelve un true o un false dependiendo de si hay soporte en el navegador o no.

Otra de las variables nos permite conocer si hay soporte del elemento vídeo. En este caso es la variable Modernizr.video. Y el código a utilizar, similar al anterior:

var video = (Modernizr.video)?true:false;
if (video) document.write("Si se soporta el elemento vídeo");
 

Lo mismo pasa con las capacidades de CSS3. Por ejemplo, si queremos saber si el navegador soporta las animaciones de CSS3, podemos preguntar por el atributo Modernizr.cssanimations.

var cssanimations = (Modernizr.cssanimations)?true:false;
if (cssanimations)
  document.write("SI se soporta las animaciones CSS3<br/>");
else
  document.write("NO se soporta animaciones CSS3<br/>");

Así ya tendremos nuestra librería Modernizr cargada y lista para utilizar detectando las capacidades HTML5 y CSS3.

CSS » Múltiples fondos

Marzo 20, 2011 por Víctor Cuervo . 2027 visitas 1 Comentario Imprimir Imprimir

Una de las mejoras menos conocidas en CSS3 es la capacidad de especificar múltiples fondos con la propiedad background. De esta forma los diferentes fondos se irán montando en cascada.

Pero primero revisemos la propiedad background.

background: [color] [image] [repeat] [attachment] [position];

De esta forma, poner una imagen de forma sencilla podría hacerse de la siguiente forma:

background:url(logo.png) no-repeat 50px 700px;

Para poner múltiples fondos con CSS simplemente tendremos que concatenarlos con comas. Así, si queremos tener dos imágenes de fondo lo haremos de la siguiente forma:

background:url(logo.png) no-repeat 50px 700px,
                url(bg.gif) repeat 0 0;

Como el soporte de múltiples fondos no está en todos los navegadores tendremos que utilizar un pequeño truco, y este será especificar varios fondos. Uno de ellos será definido de la forma tradicional:

background:url(bg.gif) repeat 0 0;
background:url(logo.png) no-repeat 50px 700px,
                url(bg.gif) repeat 0 0;  

Así el navegador que no soporte los múltiples fondos, cargará un único fondo, de la forma tradicional.

Las versiones de los navegadores a partir de las cuales se soportan los múltiples fondos con CSS son:

  • Chrome 4.0
  • Safari 4.0
  • Opera 10.10
  • Firefox 3.6
  • Internet Explorer 9

CSS » Redondear bordes con CSS

Marzo 19, 2011 por Víctor Cuervo . 3757 visitas 5 Comentarios Imprimir Imprimir

Gracias a CSS3 podemos redondear los bordes de los elementos. Y es que para redondear los bordes con CSS utilizaremos la propiedad border-radius.

La sintaxis general de border-radius es la siguiente:

border-radius: [tamaño|porcentaje];

De esta forma podemos indicar el tamaño o porcentaje en el que se redondeará cada una de las esquinas de la capa. El valor corresponde con el radio de la circunferencia trazada en la esquina.

Así, si utilizamos:

border-radius: 15px;

Veremos el siguiente resultado:

Border Radius

Podemos especificar un radio para cada una de las esquinas. En este caso se aplicará el orden de las agujas del reloj, empezado por la esquina superior izquierda, siguiendo por la esquina superior derecha, esquina inferior derecha y esquina inferior izquierda.

border-radius: 5px 30px 45px 60px;

Si bien tenemos la capacidad de indicar el tamaño de cada de las esquinas por separado mediante:

border-top-left-radius: [tamaño|porcentaje] [tamaño|porcentaje];
border-bottom-left-radius: [tamaño|porcentaje] [tamaño|porcentaje];
border-top-right-radius: [tamaño|porcentaje] [tamaño|porcentaje];
border-bottom-right-radius: [tamaño|porcentaje] [tamaño|porcentaje;

Cuando identificamos los radios de las esquinas por separado podemos indicar de forma diferente los dos radios que conforman la esquina. Por ejemplo, podríamos modificar la esquina superior izquierda de la siguiente forma:

border-top-left-radius: 400px 200px;

Y obtendremos el siguiente resultado:

Border Radius

Si queremos modificar los dos radios de todas las esquinas podemos utilizar la versión reducida de border-radius:

border-radius: [tamaño|porcentaje] {1,4} [tamaño|porcentaje] {1,4};

Por último tenemos que ser conscientes del soporte de la propiedad border-radius de CSS3. Ya que no todos los navegadores van a poder ejecutarla. En esos casos, los bordes que hayamos redondeado no se verán.

La implementación de border-radius que hemos visto es la de la W3C. Hay implementaciones propietarias en los motores de renderizado de los browsers. Este es el caso de mozilla. Dónde las propiedades para redondear los borders con CSS están especificadas como:

-moz-border-radius: [tamaño|porcentaje];
-moz-border-top-left-radius: [tamaño|porcentaje] [tamaño|porcentaje];
-moz-border-bottom-left-radius: [tamaño|porcentaje] [tamaño|porcentaje];
-moz-border-top-right-radius: [tamaño|porcentaje] [tamaño|porcentaje];
-moz-border-bottom-right-radius: [tamaño|porcentaje] [tamaño|porcentaje;

En el caso de Webkit (sería, por ejemplo, para versiones antiguas de Safari) se soportaba mediante el prefijo -webkit:

-webkit-border-radius: [tamaño|porcentaje];
-webkit-border-top-left-radius: [tamaño|porcentaje] [tamaño|porcentaje];
-webkit-border-bottom-left-radius: [tamaño|porcentaje] [tamaño|porcentaje];
-webkit-border-top-right-radius: [tamaño|porcentaje] [tamaño|porcentaje];
-webkit-border-bottom-right-radius: [tamaño|porcentaje] [tamaño|porcentaje;

Por lo cual, si queremos buscar compatibilidad con nuestros ejemplos anteriores podemos poner lo siguiente:

border-radius: 15px;
-moz-border-radius: 15px;
-webkit-border-radius: 15px;
border-radius: 5px 30px 45px 60px;
-moz-border-radius: 5px 30px 45px 60px;
-webkit-border-radius: 15px;
border-top-left-radius: 400px 200px;
-moz-border-top-left-radius: 400px 200px;
-webkit-border-radius: 15px;

Los navegadores a partir de los cuales se empezó a dar soporte a border-radius son:

  • Chrome 0.2 (con -webkit) y Chrome 4.0 (con el estándar)
  • Opera 10.5
  • Safari 3.0 (con -webkit) y Safari 5.0 (con el estándar)
  • Firefox 1.0 (con -moz) y Firefox 4.0 (con el estándar)
  • Internet Explorer 9