Artículos
CSS

Embeber fuentes en CSS3

Creado: 15/Ene/2012 Actualizado: 25/Ago/2021

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:

EstO es una fuente NisePicO

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.

Código Fuente

Descárgate el código fuente de Embeber fuentes en CSS3
Y si te ha gustado nuestro código fuente puedes regalarnos una estrella Star

Test CSS

¿Te atreves a probar tus habilidades y conocimiento en CSS con nuestro test?

Test CSS
Artículos
Java

Convertir un fichero ISO en UTF-8

Creado: 14/Ene/2012 Actualizado: 29/Dic/2014

Apoyándonos en los ejemplos que nos enseñaban a generar ficheros en ISO y a generar ficheros en UTF-8, así como en los que leian de un fichero en ISO y leian un fichero en UTF-8 vamos a construir un código que nos permita hacer la conversión. Es decir, convertir un fichero ISO en un fichero UFT-8.

Para convertir un fichero ISO en UTF-8, la idea es muy sencilla, lo que tendremos que hacer es abrir un stream de lectura sobre un fichero ISO y un stream de escritura sobre un fichero UTF-8.

Para realizar la escritura del fichero ISO utilizamos un BufferedReader sobre un InputStreamReader. Será en el InputStreamReader dónde indicaremos la codificación del fichero a leer. La codificación «8859_1» es la que representa el ISO.

El código será el siguiente:

BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream("FicheroISO1.txt"), "8859_1"));

La apertura del stream de escritura será muy similar, pero en este caso utilizando un BufferedWriter y un OutputStreamWriter. Al igual que en la anterior línea de código, es el OutputStreamWriter con el que indicamos la codificación. Esta será utf-8.

Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("FicheroSalidaUTF8"), "utf-8"));

Ya solo nos queda ir leyendo del BufferedReader y volcando sobre el .

String sCadena;
while ((sCadena = in.readLine())!=null) {
  System.out.println(sCadena);
  out.write(sCadena);
}

El último paso de nuestro código de conversión es el cierre de los ficheros.

in.close();
out.close();

Con una lectura/escritura y teniendo en cuenta las codificaciones de los ficheros, hemos conseguido, de una forma sencilla, convertir un fichero ISO en UTF-8.

Artículos
HTML5

Cargar un vídeo de diferentes formatos con HTML5

Creado: 12/Ene/2012 Actualizado: 09/Ene/2025

En el ejemplo cargar un vídeo con HTML5 veíamos una forma sencilla de cargar un vídeo del formato Ogg con código HTML5. En este caso vamos a ver cómo cargar un vídeo desde diferentes orígenes con diferentes formatos.

Es decir, vamos a indicarle a nuestro navegador dónde puede encontrar diferentes formatos. Esto se hace así debido a que el navegador puede no reconocer y cargar alguno de los formatos. En ese caso, al indicarle una lista, cargará el primero de los formatos que consiga interpretar.

Recordamos los formatos con los que se trabaja en HTML5:

  • MPEG-4, extensiones .mp4 o .m4v
  • Flash, la extensión .flv
  • Ogg, la extensión .ogv
  • WebM, extensión .webm

Si el formato es único nos vale con indicar el origen en el atributo src del elemento VIDEO.

<video src="/videos/tecla.ogv" controls="controls" width="300" height="150">  
  Tu navegador no soporta el elemento <code>video</code>.  
</video>

Pero para cargar un vídeo de diferentes formatos con HTML5 tenemos que apoyarnos en el elemento SOURCE. El elemento SOURCE contendrá un atributo src que indique el origen del vídeo y otro atributo type dónde indicaremos el tipo del elemento multimedia que vamos a cargar.

El elemento SOURCE será un elemento anidado dentro del elemento VIDEO.

Así, nuestro código para que el vídeo pueda ser cargado de diferentes formatos es el siguiente:

<video controls="controls" width="300" height="150">
  <source src="/videos//tecla.ogv" type="video/ogg">
  <source src="/videos/tecla.mp4" type="video/mp4">
  <source src="/videos/tecla.webm" type="video/webm">
  Tu navegador no soporta el elemento <code>video</code>
</video>

Vídeos sobre HTML5

Disfruta también de nuestros artículos sobre HTML5 en formato vídeo. Aprovecha y suscribete a nuestro canal.

Test HTML5

¿Te atreves a probar tus habilidades y conocimiento en HTML5 con nuestro test?

Test HTML5
Artículos
HTML5

Cargar un vídeo en HTML5

Creado: 10/Ene/2012 Actualizado: 09/Ene/2025

Cargar un vídeo en HTML 4.01 era una misión quizás un poco compleja. Esto era por varias cosas, por un lado no existía código estándar para cargar vídeos, si no que se utilizaba un código para cargar cualquier tipo de objeto. Por otro lado existía diferentes formatos de vídeos a cargar que se soportaban dependiendo del navegador y plugin que tuvieses: RealTime, QuickTime, Windows Media Player,…

Resultado de esa situación fue resultado el tomar a Flash como el formato más estable de la red (sitios como Youtube ofrecian, y ofrecen, el contenido en formato Flash), lo que hizo posible su expansión.

Con la llegada de HTML 5 se ha empezado a trabajar en la estandarización a la hora de cargar un vídeo y de los formatos que se van a soportar. Bueno, en este segundo punto quizás haya más discusión y tiranteces en la estandarización y sigue sin existir un consenso.

Pero vamos manos a la obra… Si queremos cargar un vídeo en HTML 5 tenemos que utilizar la etiqueta VIDEO, la cual tiene el siguiente formato.

<video src="video" width="300" height="150"></video>

Como podemos comprobar el elemento VIDEO en HTML 5 es un elemento sencillo de utilizar.

Así, si queremos cargar un vídeo que se llame «tecla.ogv», simplemente tenemos que utilizar el siguiente código:

<video src="videos/tecla.ogv" width="300" height="150">
</video>

Una de la cosas básicas que debemos de saber a la hora de cargar un vídeo es el tipo de formatos que soportan en HTML 5. Veamos por encima los que existen y sus extensiones:

  • MPEG-4, es el formato basado en el contenedor QuickTime. Suelen ser extensiones .mp4 o .m4v
  • Flash, son los vídeos de Adobe Flash que suelen tener la extensión .flv
  • Ogg, es un estándar opensource independiente de la plataforma. Suelen tener la extensión .ogv
  • WebM, es otro contenedor de vídeo desarrollado por Google. Suele tener la extensión .webm

Más que formatos deberíamos de referirnos a ellos como contenedores multimedia, ya que dentro albergan pistas de vídeo, pistas de audio, metainformación,…

Siguiendo con nuestro ejemplo, podemos dotar de información al navegador, si este no es capaz interpretar la etiqueta VIDEO. Para ello introducimos dicha información dentro de la etiqueta VIDEO.

<video src="videos/tecla.ogv" width="300" height="150">  
  Tu navegador no soporta el elemento <code>video</code>.  
</video>

En esta pequeña introducción a cómo cargar un vídeo con HTML 5 tenemos que aprender a poner los controles de manejo de vídeo y estos serán un atributo de la etiqueta vídeo llamado controls.

Así, finalmente, nuestro código queda de la siguiente forma:

<video src="videos/tecla.ogv" controls="controls" width="300" height="150">  
  Tu navegador no soporta el elemento <code>video</code>.  
</video>

Vídeos sobre HTML5

Disfruta también de nuestros artículos sobre HTML5 en formato vídeo. Aprovecha y suscribete a nuestro canal.

Test HTML5

¿Te atreves a probar tus habilidades y conocimiento en HTML5 con nuestro test?

Test HTML5
Artículos
Java

Obtener la ruta absoluta de un fichero con Java

Creado: 07/Ene/2012 Actualizado: 29/Dic/2014

Si queremos saber dónde se encuentra un fichero ubicado en el disco duro deberemos de obtener la ruta absoluta del fichero. Para poder llevar a cabo esto nos vamos a basar en los métodos de la clase File de Java.

Lo primero será instanciar la clase File con el fichero del que queremos obtener la ruta absoluta.

File fichero = new File("test.txt");

Ahora simplemente deberemos de apoyarnos en el método .getAbsolutePath() para obtener la ruta absoluta. La línea de código será la siguiente:

System.out.println("La ruta del fichero es: " + fichero.getAbsolutePath());

Como vemos, en un simple método tenemos la ruta absoluta de un fichero con Java.

Vídeos sobre Java

Disfruta también de nuestros artículos sobre Java en formato vídeo. Aprovecha y suscribete a nuestro canal.

Test Java

¿Te atreves a probar tus habilidades y conocimiento en Java con nuestro test?

Test Java
Artículos
jQuery

Efecto leer más texto simplificado con jQuery

Creado: 06/Ene/2012 Actualizado: 27/Ago/2021

El otro día veíamos como poder generar un efecto leer más texto con jQuery sobre un texto que no tenía estructura predefinida y que se encontraba dentro de un DIV.

Hoy vamos a ver como simplificar este ejemplo si tenemos la estructura del texto predefinida. Con lo que nos quedará un efecto leer más texto simplificado.

Y es que si podemos estructurar el texto sobre el que queremos realizar el efecto sería bueno que lo insertásemos en capas SPAN. En concreto en tres capas SPAN.

  • summary, con el texto de resumen.
  • complete, con el resto del texto.
  • more, con el texto «leer más».

Es importante que utilicemos elementos SPAN ya que estos son inline y se mostrarán todos seguidos, si saltos y darán uniformidad al texto.

La estructura quedará de la siguiente forma:


	

Lorem ipsum dolor sit amet, vis alterum feugiat sanctus ea. Affert facete eu cum, ut dicta vitae quo. Cum id aeque option epicuri, nec oblique suscipit ad. Et sea odio adhuc altera. Verterem nominati an mel, his diam consetetur ei. Eligendi principes sed no, ubique patrioque vix cu, soluta veritus percipit vim ex.

Pro populo dolorem eu. Justo conclusionemque sea ne. At dicat putent eum. Reprimique delicatissimi vel et.

Posse constituam pro eu. Sit graecis appetere at, id his quas possit platonem, ius at nobis decore ullamcorper. Vix ne latine iudicabit constituto, justo fastidii eleifend et pro, ei sit solet dicant mediocrem. Te sit cibo percipit persecuti. Debet convenire suavitate ei vis. Pri utinam labitur temporibus ex.

Leer mas...

El código jQuery se quedará simplificado ya que solo tendremos que controlar el .toggle() sobre el elemento «more». Es decir, el cambio de estado de este elemento.

$(document).ready(function(){		
	$(".more").toggle(function() {
	    $(this).text("Leer menos...").siblings(".complete").show();
	}, function() {
	    $(this).text("Leer mas...").siblings(".complete").hide();
	});	
});

En cada uno de los cambios de texto realizamos las tres acciones apoyadas en los métodos .text() para cambiar el texto del elemento «more», .siblings() para ir a por el elemento hermano «complete» y .show()/.hide() para ocultar o mostrar el texto.

Vemos que con la estructuración predefinida de la página se nos simplifica mucho el código jQuery ya que nos evitamos la reestructuración del contenido «al vuelo» con jQuery.

Código Fuente

Descárgate el código fuente de Efecto leer más texto simplificado con jQuery
Y si te ha gustado nuestro código fuente puedes regalarnos una estrella Star
Artículos
jQuery

Efecto slide con jQuery

Creado: 05/Ene/2012 Actualizado: 27/Ago/2021

El efecto slide es el que nos permite realizar un desplazamiento de un elemento en alguna dirección (izquierda, derecha, arriba o abajo). En las siguientes líneas veremos lo sencillo que es hacerlo con jQuery.

En nuestro ejemplo vamos a desplazar una capa que tengamos en la página, para ocultarla. De esta manera aplicaremos el efecto slide en ese momento.

Lo primero que tenemos que saber es que la función que oculta un elemento en jQuery es .hide(). Pero si vemos la sintaxis (la más común) de esta función:

.hide(velocidad, [funcion_callback])

Nos damos cuenta que solo podemos aplicar una velocidad de ocultación y una función de callback para ejecutar cuando se termine la ocultación. Entonces, ¿dónde ejecuto el efecto?

Para ello tenemos la librería jQuery UI, que es una extensión al core de jQuery, dotándole de capacidades gráficas como la de los efectos.

Así en jQuery UI encontraremos una extensión de la función .hide() para que podamos aplicar efectos. Lo mismo sucede con las funciones .show() y .toggle(). De esta manera la función .hide() podrá recibir un efecto como parámetro.

El efecto se compondrá de dos partes:

  • Nombre del efecto
  • Parámetros del efecto

En el caso del efecto slide podemos indicar como parámetros la dirección (izquierda, arriba,…), distancia (punto del elemento en el que se aplicará el efecto) y el modo (si es show o hide).

De esa manera nuestro efecto saliendo hacía la izquierda sería algo así:

$(this).hide("slide", { direction: "left" }, 5000);

Dónde this será el elemento sobre el que aplicamos el efecto. Por ejemplo, si queremos desplazar una capa:

El código jQuery nos quedará de la siguiente forma:

$(document).ready(function(){
  $("#micapa").click(function(){		
    $(this).hide("slide", { direction: "left" }, 5000);
  });
});

Hemos utilizado el método .click() para lanzar el efecto cuando se pulse sobre la capa.

Con esos sencillos pasos tenemos completado el efecto slide con jQuery.

Código Fuente

Descárgate el código fuente de Efecto slide con jQuery
Y si te ha gustado nuestro código fuente puedes regalarnos una estrella Star
Artículos
jQuery

Efecto leer más texto con jQuery

Creado: 04/Ene/2012 Actualizado: 27/Ago/2021

En el ejemplo de hoy vamos a ver como podemos codificar el efecto leer más texto con jQuery. La idea es tener un texto, del cual solo mostraremos su contenido inicial y un enlace que indique «leer más». Al pulsar sobre el enlace «leer más» se producirá el efecto leer más texto que consiste en mostrar el contenido completo del texto.

Seguro que habéis visto el efecto leer más texto en muchas web, como por ejemplo en los comentarios de YouTube.

Lo primero será poner el texto en nuestra página. El texto será completo y se encontrará dentro de una capa DIV.

Lorem ipsum dolor sit amet, vis alterum feugiat sanctus ea. Affert facete eu cum, ut dicta vitae quo. Cum id aeque option epicuri, nec oblique suscipit ad. Et sea odio adhuc altera. Verterem nominati an mel, his diam consetetur ei. Eligendi principes sed no, ubique patrioque vix cu, soluta veritus percipit vim ex.
Pro populo dolorem eu. Justo conclusionemque sea ne. At dicat putent eum. Reprimique delicatissimi vel et.
Posse constituam pro eu. Sit graecis appetere at, id his quas possit platonem, ius at nobis decore ullamcorper. Vix ne latine iudicabit constituto, justo fastidii eleifend et pro, ei sit solet dicant mediocrem. Te sit cibo percipit persecuti. Debet convenire suavitate ei vis. Pri utinam labitur temporibus ex.

Siempre que utilicemos jQuery es bueno el utilizar clases o indicadores para acceder a los elementos. En este caso hemos utilizado el id «comentario» para identificar claramente nuestro texto.

Ahora ya vamos con nuestro código jQuery, el cual colocaremos en la cabecera de nuestra página dentro del método .ready().

Acordaros que el método .ready() se ejecuta una vez que se ha cargado toda la página, asegurando así la consistencia de nuestro código a la hora de acceder a los elementos.

Lo primero que hacemos es establecer el número de caracteres que se previsualizarán y extraeremos la subcadena que representan del contenido del texto. El contenido nos lo dará el método .html() sobre la capa «comentario» y la subcadena la conseguimos mediante el método Javascript .substr().

var caracteresAMostrar = 300;
var contenido = $(".comentario").html();
		
if (contenido.length > caracteresAMostrar) {
  var resumen = contenido.substr(0, caracteresAMostrar);
  var todo = contenido.substr(caracteresAMostrar, contenido.length - caracteresAMostrar);				
}

En la variable resumen dejamos el resumen de texto a mostrar, mientras que en la variable todo dejamos el resto del contenido.

Ahora, con estos textos vamos a modificar la estructura de la página (si nos hubiesen dado esta estructura previa nos ahorraríamos estos pasos, pero hemos preferido partir de un texto completo).

En la nueva estructuración crearemos dentro del DIV el texto, un SPAN donde tendremos el resto del texto y otro SPAN con la frase Leer Más. Luego veremos que este texto lo modificamos dependiendo de si hay que «Leer más o leer menos».

var nuevocontenido = resumen + '' + todo + '
Leer mas...'; $(".comentario").html(nuevocontenido);

El código jQuery de esta parte queda de la siguiente forma:

var caracteresAMostrar = 300;
var contenido = $(".comentario").html();
		
if (contenido.length > caracteresAMostrar) {
  var resumen = contenido.substr(0, caracteresAMostrar);
  var todo = contenido.substr(caracteresAMostrar, contenido.length - caracteresAMostrar);

  var nuevocontenido = resumen + '' + todo + '
Leer mas...'; $(".comentario").html(nuevocontenido); }

Ahora tenemos que codificar el efecto leer más texto en jQuery. Y este paso es sencillo. Ya que si pinchamos sobre «leer más» habrá que hacer visible la parte definida como «more» y poner un texto «leer menos». Y si pulsamos sobre «leer menos» realizaremos el efecto contrario, que será esconder «more» y poner el texto «leer más».

Como estamos hablando de un cambio de estado de un elemento. De nuestro elemento «more». Lo que haremos será apoyarnos en el método .toggle(), el cual efectua una acción u otra cada vez que pulsemos sobre el elemento.

El código jQuery quedará de la siguiente forma:

$(".more").toggle(function() {
    $(this).text("Leer menos...").siblings(".complete").show();
}, function() {
    $(this).text("Leer mas...").siblings(".complete").hide();
});

Vemos que utilizamos varios métodos de jQuery:

  • .text(), nos permite cambiar el texto del elemento por «leer menos» o «leer más».
  • .siblings(), nos permite acceder a los elementos que está en nuestra misma estructura del DOM, el id se lo pasamos por parámetro.
  • .show(), muestra el contenido del elemento.
  • .hide(), oculta el contenido del elemento.

Con esto ya tenemos todo nuestro código jQuery y el efecto leer más texto conseguido.

Código Fuente

Descárgate el código fuente de Efecto leer más texto con jQuery
Y si te ha gustado nuestro código fuente puedes regalarnos una estrella Star
Artículos
Javascript

Modernizr y las capacidades HTML5 y CSS3

Creado: 03/Ene/2012 Actualizado: 25/Ago/2021

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:

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
"); else document.write("NO existe soporte de canvas
");

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
"); else document.write("NO se soporta animaciones CSS3
");

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

Código Fuente

Descárgate el código fuente de Modernizr y las capacidades HTML5 y CSS3
Y si te ha gustado nuestro código fuente puedes regalarnos una estrella Star

Vídeos sobre Javascript

Disfruta también de nuestros artículos sobre Javascript en formato vídeo. Aprovecha y suscribete a nuestro canal.

Test Javascript

¿Te atreves a probar tus habilidades y conocimiento en Javascript con nuestro test?

Test Javascript
Blog

Feliz 2012

Creado: 01/Ene/2012 Actualizado: 27/Ago/2021

Desde Línea de Código os queremos desear un ¡Feliz 2012!

Deseamos que en este nuevo año sigamos aprendiendo y divirtiéndonos todos juntos con la programación y las nuevas tecnologías.