Académique Documents
Professionnel Documents
Culture Documents
fundamentales
del desarrollo de
aplicaciones HTML5
| i
VP Y PUBLICADOR Don Fowley
EDITOR Bryan Gambrel
DIRECTOR DE VENTAS Mitchell Beaton
DIRECTOR EJECUTIVO DE MARKETING Chris Ruel
DIRECTOR DE PRODUCTO DE MICROSOFT Rob Linsky de Microsoft Learning
ASISTENTE DE PROGRAMA EDITORIAL Jennifer Lartz
DIRECTORA ADJUNTA DE MARKETING Debbie Martin
DIRECTOR SNIOR DE PRODUCCIN Janis Soo
DIRECTOR DE PRODUCCIN ASOCIADO Joel Balbin
DIRECTOR CREATIVO Harry Nolan
DISEO DE PORTADA Georgina Smith
TECNOLOGA Y MEDIOS Tom Kulesa/Wendy Ashenberg
Este libro lo realiz Aptara, Inc. usando Garamond y lo imprimi y encuadern Bind Rite Robbinsville.
La portada la imprimi Bind-Rite Robbinsville.
Copyright 2013 por John Wiley & Sons, Inc. Todos los derechos reservados.
Ninguna parte de esta publicacin puede ser reproducida, almacenada en sistemas de recuperacin o transmitida en
cualquier forma o por cualquier medio, ya sea electrnico, mecnico, fotocopia, grabacin, escaneo o de otro modo,
excepto segn lo permitido bajo las Secciones 107 o 108 de la ley de Propiedad Intelectual de Estados Unidos de
1976, sin la autorizacin previa por escrito de la editorial, o la autorizacin a travs del pago por ejemplar de la
tarifacorrespondiente al Copyright Clearance Center, Inc. 222 Rosewood Drive, Danvers, MA 01923, sitio web
www.copyright.com. Las solicitudes de permiso a la editorial debern dirigirse a Permissions Department,
JohnWiley&Sons, Inc., 111 River Street, Hoboken, NJ 07030-5774, (201)748-6011, fax (201)748-6008,
sitio web http://www.wiley.com/go/permissions.
Microsoft, ActiveX, Excel, InfoPath, Microsoft Press, MSDN, OneNote, Outlook, PivotChart, PivotTable, PowerPoint,
SharePoint, SQL Server, Visio, Visual Basic, Visual C#, Visual Studio, Windows, Windows 7, Windows Mobile,
Windows Server y Windows Vista son marcas comerciales o marcas registradas de Microsoft Corporation en los
EstadosUnidos y/u otros pases. Otros nombres de productos y compaas mencionados aqu pueden ser marcas
comerciales de sus respectivos propietarios.
Los ejemplos de compaas, organizaciones, productos, nombres de dominio, direcciones de correo electrnico,
logotipos, personas, lugares y acontecimientos mencionados son ficticios. No se pretende ni se debe inferir de
ningnmodo relacin con ninguna empresa, organizacin, producto, nombre de dominio, direccin de correo
electrnico,logotipo, persona, lugar o acontecimientos reales.
El libro expresa puntos de vista y opiniones del autor. La informacin contenida en este libro se proporciona sin
ninguna garanta expresa, implcita ni estatuaria. Ni los autores, John Wiley & Sons, Inc., Microsoft Corporation,
nisus revendedores o distribuidores sern responsables de cualquier dao causado o presuntamente causado directa
oindirectamente por este libro.
ISBN978-1-118-35993-8
10987654321
www.wiley.com/college/microsoft
o llame al nmero de telfono gratuito de MOAC: 1+(888) 764-7001 (solo EE. UU. y Canad)
CONTRATO DE LICENCIA DEL USUARIO
FINAL DE WILEY PARA EL EBOOK DE MOAC
Y EL CONTENIDO PARA EL INSTRUCTOR
Este es el Contrato de Licencia del Usuario Final limitado de John Wiley and Sons, Inc. (Wiley), que rige el uso que
hace del eBook de Microsoft Official Academic Course (eBook de MOAC) y del contenido relacionado (Contenido
para el Instructor) de Wiley. AL ACCEDER, DESCARGAR O UTILIZAR EL EBOOK DE MOAC O EL CONTENIDO PARA EL
INSTRUCTOR, USTED ACEPTA LOS TRMINOS Y CONDICIONES DE ESTE CONTRATO. SI NO LOS ACEPTA, NO ACCEDA,
DESCARGUE NI UTILICE EL EBOOK DE MOAC NI EL CONTENIDO PARA EL INSTRUCTOR.
Licencia:
Por medio de este documento, Wiley concede al miembro, instructor o estudiante del Programa Microsoft IT Academy
(usted) derechos que puede ejercer en virtud de este contrato, y usted acepta una licencia no exclusiva y no
transferible para utilizar el eBook de MOAC y el Contenido para el Instructor solo segn los siguientes trminos
y condiciones:
a. Usted reconoce que los eBooks de MOAC y el Contenido para el Instructor se le licencian por un periodo
breve y que el uso que haga de estos est sujeto a los trminos y condiciones de este contrato.
b. Los siguientes son dos conjuntos independientes de derechos de uso. Solo uno de estos conjuntos
seaplicaa su caso.
i. Si usted es un miembro activo del Programa Microsoft IT Academy:
1. Los eBooks de MOAC son solo para el uso de los instructores y estudiantes.
2. Solo puede descargar la cantidad de copias del ttulo del eBook de MOAC aplicable necesarias
para los instructores que imparten la clase correspondiente a dicho ttulo y para los estudiantes
que asisten a la misma.
3. Solo puede distribuir los ttulos del eBook de MOAC a los instructores que imparten una de las
clases correspondientes a dicho ttulo y a los estudiantes que asisten a la misma, a travs de:
o correo electrnico;
o un dispositivo USB seguro conectado directamente a los dispositivos personales
delosestudiantes;
o un sitio web protegido con contrasea al que solo tengan acceso los instructores
yestudiantes.
4. Solo puede distribuir el Contenido para el Instructor a los instructores, con fines de preparacin
y enseanza de una de las clases correspondientes al ttulo del eBook de MOAC asociado.
5. Antes de proporcionar acceso de cualquier tipo a un eBook de MOAC, se le notificar a cada
persona que solo puede acceder o utilizar un eBook de MOAC si acepta hacer uso de este en
cumplimiento con los siguientes criterios:
o Solo se utilizar el eBook de MOAC para fines personales de entrenamiento.
o Solo se instalar el eBook de MOAC en un dispositivo que sea de propiedad de
lapersonao que est bajo el control de esta.
o No se copiar, modificar, imprimir, transmitir, publicar, mostrar, vincular,
reenviar ni distribuir el eBook de MOAC, ni total ni parcialmente.
o Solo se podr utilizar el ttulo del eBook de MOAC mientras dure la clase en la que la
persona est participando, es decir, mientras se ensee el ttulo del eBook de MOAC
o por un periodo de ciento ochenta (180) das, lo que sea mayor. Despus de esto, se
deben eliminar de forma segura todas las copias del ttulo del eBook de MOAC que la
persona posea o que estn bajo su control.
o El uso que se haga de los ttulos del eBook de MOAC tambin cumplir con todos los
trminos, condiciones o licencias adicionales que se apliquen, que acompaen o que
seincluyan en el eBook de MOAC.
www.wiley.com/college/microsoft
o llame al nmero de telfono gratuito de MOAC: 1+(888) 764-7001 (solo EE. UU. y Canad)
| iii
6. Antes de proporcionar acceso de cualquier tipo al Contenido para el Instructor, se le notificar
a cada instructor que solo puede acceder o utilizar el Contenido para el Instructor si acepta
hacer uso de este en cumplimiento con los siguientes criterios:
o Solo se utilizar el Contenido para el Instructor con fines de preparar y ensear la sesin
de entrenamiento.
o Solo se instalar el Contenido para el Instructor en un dispositivo que sea de propiedad
del instructor o que est bajo el control de este.
o No se copiar, modificar, imprimir, transmitir, publicar, mostrar, vincular,
reenviar ni distribuir el Contenido para el Instructor, ni total ni parcialmente.
o Solo se podr utilizar el Contenido para el Instructor mientras dure la clase en la que el
instructor ensea el ttulo del eBook de MOAC relacionado o por un periodo de ciento
ochenta (180) das, lo que sea mayor. Despus de esto, se deben eliminar de forma
segura todas las copias del ttulo del Contenido para el Instructor que el instructor
poseao que estn bajo su control.
o El uso que se haga del Contenido para el Instructor tambin cumplir con todos los
trminos, condiciones o licencias adicionales aplicables, que acompaen o que se
incluyan en el Contenido para el Instructor.
ii.
Si es un estudiante, usted reconoce y acepta que:
1. Actualmente asiste a la clase de un miembro de IT Academy Program que ensea el eBook
de MOAC.
2. Solo utilizar los eBooks de MOAC para fines personales de entrenamiento.
3. Solo instalar el eBook de MOAC en un dispositivo que sea de su propiedad o que usted
controle.
4. No copiar, modificar, imprimir, transmitir, publicar, mostrar, vincular, reenviar
nidistribuir el eBook de MOAC, ni total ni parcialmente.
5. El uso que haga de los ttulos del eBook de MOAC tambin cumplir con todos los trminos,
condiciones o licencias adicionales que se apliquen, que acompaen o que se incluyan en
elttulo del eBook de MOAC.
c. Salvo segn se autorice expresamente en la seccin b anterior, no puede cargar, copiar, modificar,
transmitir, hacer trabajos derivados, reenviar ni distribuir ningn eBook de MOAC ni Contenido para el
Instructor, ni total ni parcialmente, creado mediante descompilacin, as como tampoco el cdigo fuente
de ningn eBook de MOAC o Contenido para el Instructor. No puede imprimir copias de ningn eBook
de MOAC ni Contenido para el Instructor completo; sin embargo, puede imprimir pginas individuales o
secciones de los captulos del eBook de MOAC especficamente para su uso en el aula. No puede utilizar
ni total ni parcialmente el eBook de MOAC ni el Contenido para el Instructor con fines de retribucin
monetaria por medio de la venta, reventa, prstamo, transmisin, contratacin o cualquier otra forma
de explotacin del eBook de MOAC o del Contenido para el Instructor. Si transmite la propiedad de
cualquier eBook de MOAC o Contenido para el Instructor a terceros, se pondr trmino a su licencia
automticamente. Dicha terminacin ser adicional y sustituir cualquier recurso de equidad, civil
odeotro tipo disponibles para Wiley.
d. Solo podr utilizar el ttulo del eBook de MOAC y el Contenido para el Instructor mientras dure la clase en
la que se ensee el ttulo del eBook de MOAC especfico o por un periodo de ciento ochenta (180) das, lo
que sea mayor. Despus de esto, deber eliminar de forma segura todas las copias del ttulo del eBook de
MOAC y del Contenido para el instructor que posea o estn bajo su control.
e. LOS EBOOKS DE MOAC Y EL CONTENIDO PARA EL INSTRUCTOR SE LICENCIAN TAL CUAL Y SEGN
DISPONIBILIDAD, SIN GARANTAS DE NINGN TIPO.
f. Usted reconoce que todos los derechos (incluyendo, sin limitacin, la propiedad intelectual, las patentes
ylos secretos empresariales) en los eBook de MOAC y el Contenido para el Instructor son propiedad nica
y exclusiva de Wiley y sus licenciantes. La aceptacin de este contrato no lo convierte en propietario de
los eBooks de MOAC ni del Contenido para el Instructor, sin embargo, s le concede una licencia limitada
para utilizar el eBook de MOAC y el Contenido para el Instructor de acuerdo con las disposiciones de este
contrato. Usted acepta proteger el eBook de MOAC y el Contenido para el Instructor del uso, la carga,
la descarga, la reproduccin o la distribucin no autorizados. Adems, acepta no traducir, descompilar,
desensamblar ni realizar ingeniera inversa de ninguno de los eBooks de MOAC ni del Contenido para el
Instructor. Wiley se reserva todos los derechos que no se le concedan expresamente en este contrato.
www.wiley.com/college/microsoft
iv | o llame al nmero de telfono gratuito de MOAC: 1+(888) 764-7001 (solo EE. UU. y Canad)
Prlogo del editor
La visin editorial de Wiley para la serie de cursos Microsoft Official Academic Course es
proporcionar a los alumnos e instructores las habilidades y los conocimientos necesarios para
usar la tecnologa de Microsoft de forma eficaz en todos los aspectos de sus vidas personales
y profesionales. Para que los educadores y alumnos aprovechen al mximo las herramientas
de software de Microsoft y sean ms productivos, se requiere una enseanza de calidad.
Por tanto, nuestra misin es hacer que nuestros programas de enseanza sean compaeros
docentes de confianza de por vida.
Para lograr esta misin, Wiley y Microsoft se han asociado y han desarrollado programas
educativos de la ms alta calidad dirigidos a trabajadores de la informacin, profesionales de
TI y desarrolladores. Los materiales creados por esta asociacin llevan el nombre comercial
Microsoft Official Academic Course, asegurando a instructores y alumnos por igual que el
contenido de estos libros de texto est totalmente respaldado por Microsoft, y que proporciona
informacin e instruccin sobre los productos de Microsoft de la ms alta calidad. Los libros
de texto de Microsoft Official Academic Course son, de alguna manera, ms oficiales:
constituyen el material didctico oficial para los miembros de Microsoft IT Academy.
La serie de cursos Microsoft Official Academic Course se centra en el desarrollo laboral.
Estos programas estn dirigidos a aquellos alumnos que buscan ingresar al mercado laboral,
cambiar de trabajo o embarcarse en nuevas carreras como trabajadores de la informacin,
profesionales de TI y desarrolladores. Los programas Microsoft Official Academic Course
atienden estas necesidades haciendo hincapi sobre escenarios con entornos de trabajo
autnticos con una gran cantidad de proyectos, ejercicios, casos prcticos y evaluaciones.
Los cursos de Microsoft Official Academic Course estn asignados a la extensa investigacin
y anlisis de trabajo en tareas de Microsoft, la misma investigacin y anlisis que se usa para
desarrollar los exmenes de Microsoft Technology Associate (MTA) y Microsoft Certified
Solutions Developer (MCSD). Los libros de texto se centran en competencias reales de los
puestos de trabajos reales. Mientras los alumnos trabajan en los proyectos y ejercicios de
los libros de texto, mejoran su nivel de conocimiento y su capacidad para aplicar la ltima
tecnologa de Microsoft a las tareas diarias. Estos alumnos tambin obtienen credenciales
paracrear un Currculum Vitae que sirva de ayuda a la hora de encontrar un trabajo,
mantenerel trabajo actual o continuar con su educacin.
El concepto de aprendizaje permanente es hoy una necesidad mxima. Los puestos de trabajo,
e incluso categoras laborales completas, estn cambiando con tanta rapidez que ninguno de
nosotros puede seguir siendo competitivo y productivo sin actualizar continuamente nuestras
habilidades y capacidades. Las ofertas de Microsoft Official Academic Course, y su enfoque
en la preparacin de exmenes de certificacin de Microsoft, proporcionan un medio para que
las personas adquieran y actualicen de forma eficaz sus habilidades y conocimientos. Wiley
apoya a los alumnos en este esfuerzo a travs de la elaboracin y distribucin de estos cursos
como editor acadmico oficial de Microsoft.
Actualmente, las publicaciones educativas deben prestar atencin a la hora de proporcionar
gran calidad de impresin y contenido electrnico slido. Mediante la integracin de los
productos Microsoft Official Academic Course, WileyPLUS y las certificaciones de Microsoft
estamos en mejores condiciones para poder ofrecer soluciones eficientes de aprendizaje a los
alumnos y profesores por igual.
Joseph Heider
Director general y Vicepresidente Senior
www.wiley.com/college/microsoft
o llame al nmero de telfono gratuito de MOAC: 1+(888) 764-7001 (solo EE. UU. y Canad)
| v
Prefacio
www.wiley.com/college/microsoft
o llame al nmero de telfono gratuito de MOAC: 1+(888) 764-7001 (solo EE. UU. y Canad)
vi |
Recorrido por el libro ilustrado
Caractersticas pedaggicas
El libro de texto MOAC de Aspectos fundamentales del desarrollo de aplicaciones HTML5 est
diseado para cubrir todos los objetivos de aprendizaje del examen MTA 98-375, que se conoce
como su dominio del objetivo. Los objetivos del examen Microsoft Technology Associate
(MTA) se destacan a lo largo del libro de texto. Muchas caractersticas pedaggicas se han
desarrollado de forma especfica para los programas Microsoft Official Academic Course.
Mediante una extensa informacin sobre los procedimientos y conceptos tcnicos integrados, a lo
largo del libro de texto se plantean desafos para el alumno y el instructor por igual. El Recorrido
por el libro ilustrado que aparece a continuacin proporciona una gua de caractersticas que
contribuyen al plan pedaggico del programa Microsoft Official Academic Course. La siguiente
es una lista de las principales caractersticas de cada leccin diseada para preparar a los alumnos
para el xito a medida que continan con su educacin en TI, con los exmenes de certificacin
yen el entorno de trabajo:
Cada leccin comienza con una Matriz de objetivo del examen. Ms que una lista
estndar de objetivos de aprendizaje, la matriz de objetivo del examen correlaciona cada
conocimiento de software tratado en la leccin con el dominio del objetivo del examen
especfico.
Instrucciones paso a paso concisas y frecuentes ensean a los alumnos caractersticas
nuevas y ofrecen la oportunidad de ponerlas en prctica. Los pasos numerados proporcionan
instrucciones paso a paso detalladas que sirven de ayuda para que los alumnos adquieran
conocimientos de software.
Ilustraciones: las imgenes en pantalla proporcionan informacin visual a medida que
losestudiantes van realizando los ejercicios. Estas imgenes refuerzan los conceptos clave,
proporcionan pistas visuales acerca de los pasos que se deben realizar y permiten a los
alumnos comprobar su progreso.
Trminos clave: al comienzo de la leccin se muestra el vocabulario tcnico importante
con definiciones. Cuando se usan estos trminos ms adelante en la leccin, aparecen en
fuente negrita cursiva y se definen. El Glosario contiene todos los trminos clave con sus
definiciones.
Un atractivo punto de uso son las ayudas para el lector, que se encuentran a lo largo
delas lecciones e indican a los alumnos por qu un tema es importante (Conclusin)
ylesproporcionan consejos tiles (Tome nota). Las ayudas para el lector tambin
proporcionan informacin adicional relevante o general que agrega valor a la leccin.
Las caractersticas de Certificacin disponible que aparece por todo el texto sealan a
los alumnos dnde se cubre un objetivo especfico de certificacin. Proporcionan a los
estudiantes la oportunidad de comprobar el grado de comprensin sobre ese objetivo
MTAparticular y, si fuera necesario, revisar la seccin de la leccin donde se trata.
MOACofrece una preparacin completa para la certificacin MTA.
Preguntas al final de la leccin: la seccin Evaluacin de conocimientos ofrece una gran
variedad de preguntas que pueden ser de varias opciones, verdadero o falso, de relacionar
ode rellenar espacios en blanco.
Ejercicios del final de la leccin: los escenarios posibles de Evaluacin de competencias
y los escenarios posibles de Evaluacin de aptitudes son proyectos que ponen a prueba
lacapacidad de los alumnos para aplicar lo que han aprendido en la leccin.
www.wiley.com/college/microsoft
o llame al nmero de telfono gratuito de MOAC: 1+(888) 764-7001 (solo EE. UU. y Canad)
| vii
viii | Recorrido por el libro ilustrado
Caractersticas de la leccin
Figura 1-3
Pasos generales para
crear una aplicacin
2 | Leccin 1
En esta seccin, se describen los pasos generales que conlleva la creacin de una
Acaba de empezar un contrato en prcticas en Malted Milk Media, una agencia aplicacin. En la Figura 1-3 se indican los pasos, que se explican a continuacin.
creativa que crea aplicaciones multimedia para clientes. La compaa va a empezar Planear el proyecto: piense qu tipo de aplicacin desea crear. Elija lo que elija,
a usar HTML5 en sus proyectos prximamente. Su jefe le encarg que estudiara es mejor que sea sencillo mientras aprende a desarrollar aplicaciones HTML5.
HTML5 y las tecnologas relacionadas, y que presentara un informe con los cambios Una vez que decida la accin principal de la aplicacin, cree un esquema del
importantes de HTML 4.01 a HTML5. Tambin debe incluir informacin sobre cmo flujo general de la aplicacin de principio a fin. Determine tambin el tipo de
se puede usar HTML5 para crear aplicaciones de pantalla tctil para PC, pizarras, interactividad del usuario que desea incluir, por ejemplo una interfaz tctil, si
tabletas y smartphones. necesita guardar datos fuera de la aplicacin, y si la aplicacin debe conectarse
a otras aplicaciones o servicios (por ejemplo, una fuente RSS).
Disear la interfaz de usuario: al disear la interfaz de usuario, determine cmo
Comprender los aspectos fundamentales de la plataforma desea que los usuarios vean la aplicacin. Agrupe el contenido de manera que tenga
lgica. Empiece con el listado de los comandos que necesita para que la aplicacin
funcione como se espera. Rena imgenes y clips multimedia si es necesario.
HTML5 es el estndar HTML ms reciente y una familia de tecnologas que incluye En la actualidad, las aplicaciones requieren como mnimo un icono de selector,
HTML, CSS y JavaScript. Aunque el estndar HTML5 no estar terminado hasta que representa a la aplicacin.
CONCLUSIN dentro de unos aos, los exploradores web ms modernos ya admiten elementos Actualizar el manifiesto de la aplicacin: todas las aplicaciones requieren un archivo
de HTML5. El desarrollo de aplicaciones HTML5 para exploradores web y de de manifiesto. En el archivo de manifiesto se describen las propiedades de la aplicacin y
dispositivos mviles lleva cierto camino recorrido.
TOME NOTA
*
Si bien HTML5 se
encuentra todava en
desarrollo, la mayora
de los exploradores
web principales, como
Microsoft Internet
Explorer, Google
Chrome, Mozilla Firefox,
Opera y Apple Safari, son
compatibles con muchos
elementos HTML5. Es importante recordar que HTML5 es un estndar y, a la vez, una combinacin o familia
de nuevas etiquetas de marcado HTML, CSS, JavaScript y otras tecnologas relacionadas.
Hojas de estilo en cascada define los estilos de HTML en un archivo independiente, de
LISTO PARA CERTIFICACIN forma que resulta muy fcil cambiar fuentes, tamaos de fuente y otros atributos en un
Cules son las tres archivo CSS. Estos cambios quedan reflejados en todos los archivos HTML que hacen
tecnologas principales referencia el archivo CSS. La ltima versin de CSS es CSS3. JavaScript es un lenguaje
de la familia HTML5? de scripting (un lenguaje de programacin que utiliza scripts y no requiere un compilador)
1.1 que agrega interactividad a las pginas web.
www.wiley.com/college/microsoft
o llame al nmero de telfono gratuito de MOAC: 1+(888) 764-7001 (solo EE. UU. y Canad)
Recorrido por el libro ilustrado | ix
Figura 1-5
Parte de la pgina web
de ejemplos de MSDN
Developer Network
2. Desplcese hacia abajo y haga clic en el vnculo HTML5 del panel izquierdo,
que actualmente est cerca de la parte de abajo de la lista.
3. Entre las muestras, busque una aplicacin que indique HTML5 despus de la descripcin
de la aplicacin, por ejemplo la muestra sobre control de existencias. Haga clic en el
vnculo a la aplicacin.
4. En la pgina que se abre se indica el programa necesario para abrir y editar los archivos
de la aplicacin, y las tecnologas incluidas en la aplicacin. La muestra de control de
existencias requiere Visual Studio 12 e incluye JavaScript y HTML5, como se muestra
en la Figura 1-6.
Figura 1-6
Ver la pgina web de una
aplicacin de ejemplo
5. Haga clic en el vnculo Explorar cdigo, en StocksSample en el panel izquierdo, en Administracin del ciclo de vida de las aplicaciones | 11
html y en dashboard.html. Se muestra el cdigo HTML. Desplcese por el marcado
para hacerse una idea del tipo de cdigo que veremos muchas veces en este libro.
6. Haga clic en css, en el panel izquierdo, y en dashboard.css. Se muestra el cdigo CSS.
Imgenes de LISTO PARA CERTIFICACIN
Cul es la diferencia entre
La administracin del estado es el proceso de mantener la informacin de la pgina web
durante varias solicitudes de la misma pgina web o de otra. La primera vez que un usuario
solicita acceso a una aplicacin, se crea el estado de la sesin. El estado termina cuando
la pantalla
estado de sesin y estado
de la aplicacin? el usuario cierra la sesin.
1.2 Una alternativa para el estado de sesin es el estado de la aplicacin. El estado de la
aplicacin se crea cuando el explorador web enva la primera solicitud para una pgina
LISTO PARA CERTIFICACIN web al servidor web y termina cuando el usuario cierra el explorador.
Cul es la importancia de La informacin de estado persistente son datos que una aplicacin necesita una vez
la informacin de estado que termina la sesin. Muchas aplicaciones web necesitan almacenar datos (hacerlos
persistente? persistentes) para que los usuarios puedan retomar donde quedaron cuando regresan al sitio.
1.2
Almacenar datos de estado mediante almacenamiento local y de sesiones
Alerta de
en la World Wide Web. Define las acciones que realizan los servidores y exploradores
web en respuesta a los comandos de los usuarios. Por ejemplo, cuando se especifica un
localizador uniforme de recursos (URL) en el campo de direccin de un explorador, el
certificacin
60 | Leccin 3 explorador enva un comando HTTP al servidor web solicitando la pgina web. HTTP
es un protocolo sin estado, es decir, no conserva datos de una sesin para la siguiente.
Al cerrar el explorador despus de visitar un sitio web, los datos no se guardan.
disponible
Los vnculos apareceran en una pgina web como se muestra en la Figura 3-5.
El siguiente es un ejemplo de marcado para vnculos Anterior-Inicio-Siguiente, con barras Con objeto de minimizar las limitaciones del protocolo HTTP, los desarrolladores utilizan
LISTO PARA CERTIFICACIN
verticales despus de cada elemento de navegacin para separarlo visualmente de los dems: Cmo administra HTML5
las cookies, pequeos archivos que contienen informacin sobre el usuario y el sitio web
los datos de estado?
visitado, y que se guardan en el equipo del usuario. Cuando un usuario vuelve a un sitio
<nav>
1.2
visitado, el explorador enva las cookies al servidor web. Las cookies ayudan al servidor
<a href="http://www.example.com/Services">Anterior</a> | web a recordar a un usuario y personalizar la experiencia de usuario en ese sitio.
<a href="http://www.example.com">Inicio</a> |
Sin embargo, las cookies han demostrado ser un riesgo de seguridad. Adems, si la cantidad
<a href="http://www.example.com/About">Siguiente</a> de datos fuera muy grande, como todos los datos se transmiten entre el explorador y el
</nav> servidor con cada peticin, se causara una considerable disminucin del rendimiento para
<br /> el usuario. En HTML5, los desarrolladores pueden usar el almacenamiento web, que ofrece
ms flexibilidad, conjuntos de datos ms grandes y mejor rendimiento.
Los vnculos apareceran en una pgina web como se muestra en la Figura 3-6.
El mtodo localStorage permite a los usuarios guardar grandes cantidades de datos de una sesin
La navegacin aparece a menudo en una lista vertical, que aprender a crear ms adelante LISTO PARA CERTIFICACIN
para otra sesin (persistencia de datos) y no hay lmite en cuanto a la duracin de la existencia
en esta leccin. Qu dos mtodos
de los datos. El mtodo sessionStorage conserva los datos nicamente durante una sesin (hasta
JavaScript/HTML5
permiten que una
que se cierra el explorador), algo que tambin se conoce como almacenamiento por pestaa.
Figura 3-6
aplicacin almacene Utilizando estos mtodos, datos concretos se transfieren solo cuando se solicitan, de
Navegacin Anterior- datos persistentes? forma que es posible almacenar una cantidad de datos relativamente grande sin ralentizar
Inicio-Siguiente con barras 1.2 la conexin o el sitio.
verticales entre los vnculos
<h1><a id="symphonies">Sinfonas</a></h1>
<h1><a id="raves">Raves</a></h1>
www.wiley.com/college/microsoft
o llame al nmero de telfono gratuito de MOAC: 1+(888) 764-7001 (solo EE. UU. y Canad)
x | Recorrido por el libro ilustrado
22 | Leccin 2
Los desarrolladores del sitio web de Malted Milk Media le pidieron que estudie
el nuevo marcado disponible en HTML5. Estn particularmente interesados en la
etiquetas relacionadas con multimedia y grficos. Su tarea es aprender todo lo que
pueda sobre las nuevas etiquetas de marcado HTML5, as como preparar breves
descripciones y ejemplos de cada una de ellas.
Todas las pginas HTML contienen etiquetas. Una etiqueta es una palabra clave entre
corchetes angulares. La mayora de las etiquetas se utilizan en pares: una se conoce
como la etiqueta de apertura o inicio, y la otra es la etiqueta de cierre o final. En Ayuda para el lector
un par de etiqueta se distingue entre maysculas y minsculas, y en una etiqueta
de cierre se deben usar maysculas o minsculas de la misma forma que en la de
apertura. Una etiqueta de cierre es idntica a una etiqueta de apertura, excepto
Tome nota
que la de cierre contiene una barra diagonal antes de la palabra clave.
Las etiquetas rodean contenido y lo definen. Por ejemplo, este marcado crea un
encabezamiento de primer nivel:
<h1>Pet Care 101</h1>
HTML tambin utiliza algunas etiquetas individuales, por ejemplo <br /> para un salto
de lnea y <hr /> para una lnea horizontal. En HTML 4, estas etiquetas se denominan
etiquetas vacas porque no requieren una etiqueta de cierre. HTML5 es menos restrictivo
que HTML 4. No es necesario incluir etiquetas de cierre para todos los elementos (aunque
algunos elementos todava requieren las etiquetas inicial y final), y las etiquetas se pueden Compilar la interfaz de usuario mediante HTML5: organizacin, entrada y validacin | 55
escribir en maysculas o minsculas. Con todo, en este libro se usan etiquetas de apertura
y cierre, y solo minsculas, en aras de la homogeneidad. Figura 3-1
Hay muchas etiquetas disponibles para las pginas HTML. Algunas de las etiquetas ms Comparacin entre partes de
usadas se enumeran en la tabla 2-1. Las cuatro primeras (<html>, <head>, <title> y <body>) un documento con marcado
son necesarias en todas las pginas web. HTML 4.01 y HTML5
Tabla 3-1
Nuevas etiquetas de Etiqueta Descripcin
marcado HTML5 para
organizar el contenido <address> Define un rea para la informacin de contacto de una pgina o seccin.
y crear la estructura <article> Define un artculo, por ejemplo de una revista o un peridico, entrada
Administrar la interfaz grfica mediante CSS | 163
de blog o contenido similar.
<body> <aside> Define contenido independiente del contenido de la pgina, pero
<div>Ejemplo de cuadro</div> relacionado con l; se parece a una barra lateral en captulos de libros
</body> y artculos de revistas.
</html>
<details> Contiene informacin adicional sobre texto que la rodea. Crea un widget
2. Guarde el archivo como L7-box-exercise.html. Visualice el archivo en un explorador interactivo que el usuario puede mostrar u ocultar
web, donde tendr un aspecto parecido al de la Figura 7-4.
<footer> Define un pie de pgina para un documento o una seccin. Puede
incluir el autor del documento, informacin de contacto, informacin
Figura 7-4 de copyright y vnculos a las condiciones de uso.
Cuadro con esquinas
redondeadas
<header> Define un encabezado para un documento o una seccin. Puede contener
contenido introductorio o vnculos de navegacin.
<hgroup> Agrupa los encabezados y subencabezados (mediante las etiquetas <h1>
3. Para agregar una sombra paralela, agregue la lnea siguiente al elemento de estilo: a <h6>) si hay encabezados de varios niveles.
box-shadow: 5px 5px 5px #999; <nav> Define un bloque de vnculos de navegacin.
4. Guarde el archivo y visualice el resultado en un explorador web. El cuadro debe <section> Define una seccin de un documento, por ejemplo captulos, partes
parecerse al de la Figura 7-5. de una tesis o partes de una pgina web, cuyo contenido es distinto
al de las dems secciones.
Figura 7-5 <summary> Define un encabezado visible para un elemento de detalles. El usuario
puede hacer clic en l para mostrar u ocultar informacin.
Cuadro con esquinas
redondeadas y una <wbr> Define un salto de lnea posible. Cuando una palabra es muy larga,
sombra paralela o existe la posibilidad de que el explorador cree un salto lnea en el
lugar equivocado, puede usar el elemento <wbr> para partir la lnea
5. Deje el archivo, la herramienta de edicin y el explorador web abiertos si va a llevar o palabra correctamente.
a cabo el siguiente ejercicio durante esta sesin.
APLICAR TRANSPARENCIA
Un elemento opaco no permite que pase la luz, mientras que s se puede ver a travs de
un elemento transparente. Si bien los trminos son contrarios, reduciendo la opacidad
de un elemento o aumentando su transparencia, finalmente se llega al mismo punto.
En la Figura 7-6 se muestra el efecto de transparencia (u opacidad reducida) en una
imagen. La imagen original est a la izquierda; la imagen con un 50 % de transparencia
aplicado est a la derecha.
Tablas de fcil lectura
Figura 7-6
Transparencia aplicado
a una imagen
Fotos
LISTO PARA CERTIFICACIN La sintaxis para aplicar una transparencia a una imagen u otro elemento es:
Qu propiedad de
CSS permite aplicar opacity: value
transparencia a una
El valor es un valor de punto flotante entre 0,0 (100 % transparente) y 1,0 (100 % opaco).
imagen o un elemento?
Para aplicar una transparencia de 45 %, por ejemplo, se usara el valor 0,55 (1,0 0,45).
3.4
www.wiley.com/college/microsoft
o llame al nmero de telfono gratuito de MOAC: 1+(888) 764-7001 (solo EE. UU. y Canad)
Recorrido por el libro ilustrado | xi
Aunque en este ejemplo se utiliza la palabra clave auto, se puede usar cualquiera de los
valores de grid-rows y grid-columns indicados en la tabla 5-2.
La especificacin para los diseos de plantilla de cuadrcula es todava una versin en
borrador y, en el momento de escribir este libro, no la admite ningn explorador web.
Con todo, podra encontrar alguna plantilla de cuadrcula en el examen MTA 98-375.
En consecuencia, debe consultar la ltima especificacin del mdulo de diseo de
plantilla de cuadrcula CSS de W3C al prepararse para el examen.
Evaluacin de conocimientos 10. Cul es el formato de la etiqueta de HTML5 que valida una direccin de correo
electrnico?
Rellene los espacios en blanco a. <input label="email" name="URL">
b. <form id="email">
Complete las oraciones siguientes escribiendo la palabra o palabras correctas en los c. <label for="email">Correo electrnico</label>
espacios en blanco proporcionados. d. <input type = "email" name = "email">
1. es la parte de un sitio o aplicacin web con la que interacta
el usuario. Verdadero/Falso
2. En el modelo de cuadros CSS de W3C original, el es el espacio
Haga un crculo alrededor de la V si el enunciado es verdadero o alrededor de la F
entre el borde y el contenido del cuadro.
si el enunciado es falso.
V F 1. En una tabla, el elemento tfoot debe aparecer antes del elemento tbody.
V F 2. Puede usar nmeros o letras para cada elemento de una lista ordenada.
V F 3. Puede especificar la altura de un elemento de entrada utilizando el atributo size.
V F 4. El elemento de etiqueta muestra la leyenda, o ttulo, para una tabla.
V F 5. El elemento nav define un bloque de vnculos de exploracin.
Evaluacin de competencias
Evaluacin de
Escenario 3-1: Marcado para un artculo de boletn competencias
Sally Rowe, la controladora de documentos en Malted Milk Media, desea publicar una
Evaluacin de conocimientos serie de artculos en la intranet de la empresa con respecto a la seguridad y el control de
versiones de documentos. Necesita crear un esqueleto del marcado de HTML5 para un
Preguntas
artculo que aparecer en el boletn mensual en lnea creado por uno de los desarrolladores
web. Cada artculo tendr un ttulo y subttulo, varios prrafos de texto, y su nombre y
la fecha del artculo en el pie de pgina. Cmo debe verse el marcado de su artculo?
Evaluacin de conocimientos
Rellene los espacios en blanco
Complete las oraciones siguientes escribiendo la palabra o palabras correctas en los
espacios en blanco proporcionados.
1. es la parte de un sitio o aplicacin web con la que interacta
el usuario.
2. En el modelo de cuadros CSS de W3C original, el es el espacio
entre el borde y el contenido del cuadro.
www.wiley.com/college/microsoft
o llame al nmero de telfono gratuito de MOAC: 1+(888) 764-7001 (solo EE. UU. y Canad)
Convenciones y caractersticas
que se usan en este libro
En este libro se usan determinadas convenciones para fuentes, smbolos y ttulos que
resaltan la informacin importante y llaman la atencin sobre determinados pasos.
Paraobtener ms informacin sobre las caractersticas de cada leccin, consulte
laseccinRecorrido por el libro ilustrado.
Convencin Significado
Esta caracterstica proporciona un breve resumen
CONCLUSIN
del material que se trata en la seccin que sigue.
CERRAR
Las palabras en letras maysculas indican instrucciones
para abrir, guardar o cerrar archivos o programas.
Tambin sealan los elementos que se deben comprobar
o las acciones que se deben realizar.
LISTO PARA CERTIFICACIN
Esta caracterstica seala un punto en el texto donde se
cubre un objetivo especfico de certificacin. Proporciona
la oportunidad de comprobar el grado de comprensin
de ese objetivo MTA particular y, si fuera necesario,
revisar la seccin de la leccin donde se trata.
Las ayudas para el lector aparecen en recuadros sombreados
TOME NOTA*
* que se encuentran en el texto. Tome nota proporciona
consejos tiles relacionados con tareas o temas concretos.
Estas notas proporcionan referencias a cualquier informacin
X REF
tratada en otra parte del libro de texto o describen
caractersticas interesantes de HTML5 que no se abordan
directamente en el tema o ejercicio actual.
Alt + Alt Un signo ms (+) entre dos nombres de teclas indica que se
deben presionar ambas teclas al mismo tiempo. Las teclas
que se le indique que debe presionar en un ejercicio,
aparecern en el tipo de fuente que se muestra aqu.
Ejemplo Los trminos clave aparecen en negrita y cursiva.
www.wiley.com/college/microsoft
o llame al nmero de telfono gratuito de MOAC: 1+(888) 764-7001 (solo EE. UU. y Canad)
xii |
Programa de apoyo para el instructor
Los programas Microsoft Official Academic Course van acompaados de una generosa
variedad de recursos que incorporan extensas imgenes del libro de texto para formar
un paquete pedaggico coherente. Estos recursos proporcionan todo el material que los
instructores necesitan usar para impartir sus cursos. Los recursos disponibles en lnea
para su descarga incluyen:
DreamSpark Premium est diseado para proporcionar herramientas de desarrollo
ms fciles y econmicas, productos y tecnologas disponibles para profesores
y alumnos en los laboratorios, aulas y en los equipos de los alumnos. Existe una
suscripcin gratuita disponible durante tres aos para usuarios MOAC cualificados.
Nota: Microsoft Visual Studio y Microsoft Expression se pueden descargar desde
DreamSpark Premium para que los estudiantes los usen en este curso.
Las Guas del instructor contiene las soluciones a todos los ejercicios del libro
detexto y programas de estudio de varios plazos. Las guas del instructor tambin
incluye resmenes de captulos y notas de la leccin. La Gua del instructor
estdisponible desde el sitio del libro complementario
(http://www.wiley.com/college/microsoft).
El banco de pruebas contiene cientos de preguntas en formato de varias opciones,
verdadero o falso, respuesta corta y redaccin, y est disponible para la descarga
desde el sitio del libro complementario del instructor
(www.wiley.com/college/microsoft). Se proporciona una clave de respuestas completa.
Un juego completo de presentaciones de PowerPoint e imgenes est disponible
enel sitio del libro complementario del instructor
(http://www.wiley.com/college/microsoft) para mejorar las presentaciones en el aula.
Se proporcionan aproximadamente 50 diapositivas de PowerPoint para cada leccin.
Adaptadas a la cobertura de actualidad del texto y a la matriz de conocimientos, estas
presentaciones estn diseadas para transmitir conceptos clave abordados en el texto.
Todas las imgenes del texto son del sitio del libro complementario del instructor
(http://www.wiley.com/college/microsoft). Puede integrarlas en las presentaciones
de PowerPoint o crear sus propias transparencias y documentos. Mediante el uso de
estas imgenes en las conversaciones en el aula, puede ayudar a centrar la atencin
de los alumnos sobre los elementos clave de las tecnologas tratadas y ayudarles
aentender cmo usarlas eficazmente en el entorno de trabajo.
Cuando se trata de mejorar la satisfaccin en el aula, no hay mejor fuente de ideas
e inspiracin que sus colegas. La red de profesorado de Wiley, Wiley Faculty
Network, conecta a los profesores con la tecnologa, facilita el intercambio de
procedimientos recomendados, y contribuye a aumentar la eficiencia y la eficacia
de la enseanza. Las actividades de la red de profesorado incluyen entrenamiento
tecnolgico y tutoriales, seminarios virtuales, intercambio de conocimientos e ideas
entre iguales, asesoramiento personal e intercambio de recursos. Para obtener ms
detalles, visite www.WhereFacultyConnect.com.
www.wiley.com/college/microsoft
o llame al nmero de telfono gratuito de MOAC: 1+(888) 764-7001 (solo EE. UU. y Canad)
| xiii
xiv | Programa de apoyo para el instructor
www.wiley.com/college/microsoft
o llame al nmero de telfono gratuito de MOAC: 1+(888) 764-7001 (solo EE. UU. y Canad)
xiv |
Programa de apoyo para el alumno
Recursos adicionales
Sitio web del libro complementario (www.wiley.com/college/microsoft)
El sitio del libro complementario para alumnos de la serie MOAC incluye recursos, archivos
de ejercicios y vnculos web que se usarn junto con este curso.
www.wiley.com/college/microsoft
o llame al nmero de telfono gratuito de MOAC: 1+(888) 764-7001 (solo EE. UU. y Canad)
| xv
xvi | Programa de apoyo para el alumno
www.wiley.com/college/microsoft
o llame al nmero de telfono gratuito de MOAC: 1+(888) 764-7001 (solo EE. UU. y Canad)
xvi |
Programa de apoyo para Contenido
el alumno |
| xvii
www.wiley.com/college/microsoft
o llame al nmero de telfono gratuito de MOAC: 1+(888) 764-7001 (solo EE. UU. y Canad)
| xvii
Reconocimientos
Yuke Wang, Universidad de Texas en Dallas Douglas Tabbutt, Blackhawk Technical College
Palaniappan Vairavan, Universidad de Bellevue David Koppy, Universidad de Baker
Harold Buz Lamson, Instituto tcnico ITT Sharon Moran, Centro de Estudios Tcnicos Superiores
Colin Archibald, Centro de Estudios Superiores de Hillsborough
de Valencia Keith Hoell, Briarcliffe College and Queens College
Catherine Bradfield, DeVry University Online (CUNY)
Robert Nelson, Universidad de Blinn Mark Hufnagel, Distrito Escolar de Lee County
Kalpana Viswanathan, Universidad de Bellevue Rachelle Hall, Centro de Estudios Superiores de Glendale
Bob Becker, Universidad de Vatterott Scott Elliott, Christie Digital Systems, Inc.
Carol Torkko, Universidad de Bellevue Gralan Gilliam, Kaplan
Bharat Kandel, Missouri Tech Steve Strom, Centro de Estudios Superiores de Butler
Linda Cohen, Centro de Estudios Tcnicos Superiores John Crowley, Centro de Estudios Superiores
de Forsyth del Condado de Bucks
Candice Lambert, Centros tecnolgicos Metro Margaret Leary, Centro de Estudios Superiores del Norte
Susan Mahon, Universidad de Collin de Virginia
Mark Aruda, Centro de Estudios Tcnicos Superiores Sue Miner, Centro de Estudios Superiores de Lehigh
de Hillsborough Carbon
Claude Russo, Centro de Estudios Tcnicos Superiores Gary Rollinson, Cabrillo College
de Brevard Al Kelly, University of Advancing Technology
Heith Hennel, Valencia College Katherine James, Seneca College
Adrian Genesir, Western Governors University David Kidd, Western Governors University
Zeshan Sattar, Zenos
www.wiley.com/college/microsoft
o llame al nmero de telfono gratuito de MOAC: 1+(888) 764-7001 (solo EE. UU. y Canad)
xviii |
Contenido breve
Leccin 1: A
dministracin del ciclo de vida de las aplicaciones 1
Leccin 2: C
ompilar la interfaz de usuario mediante HTML5: texto,
grficos y multimedia 21
Leccin 3: C
ompilar la interfaz de usuario mediante HTML5:
organizacin, entrada y validacin 53
Leccin 4: C
omprender los principios bsicos de CSS: flujo
decontenido, posicionamiento y estilo 87
Leccin 5: C
omprender los principios bsicos de CSS: Diseos 110
Leccin 6: A
dministracin del flujo de texto mediante CSS 137
Leccin 7: A
dministracin de la interfaz grfica mediante CSS 159
Leccin 8: C
omprensin de los principios bsicos de JavaScript
ycodificacin 189
Leccin 9: C
reacin de animaciones, trabajo con grficos y acceso
adatos 215
Leccin 10: C
odificacin de JavaScript para los recursos de interfaz
tctil, dispositivo, sistema operativo y ms 243
Apndice 268
ndice 269
www.wiley.com/college/microsoft
o llame al nmero de telfono gratuito de MOAC: 1+(888) 764-7001 (solo EE. UU. y Canad)
| xix
Contenido
Leccin 1: A
dministracin del ciclo de Comprender las entidades 24
Comprender el elemento doctype 25
vida de las aplicaciones 1 Explorar el marcado de una pgina web sencilla 26
Elegir y configurar etiquetas HTML5 para mostrar
Matriz de objetivo del examen 1 contenido de texto 29
Trminos clave 1 Elementos de texto de HTML 4 con nuevo significado
Comprender los aspectos fundamentales o funcionalidad 29
de la plataforma 2 Nuevos elementos de texto en HTML5 31
Novedades en HTML5? 3 Elementos de texto que no se usan en HTML5 32
Crear aplicaciones 5 Elegir y configurar etiquetas HTML5 para mostrar
Explorar el empaquetado y el entorno de tiempo grficos 34
de ejecucin 7 Usar los elementos figure y figcaption35
Comprender el proceso de host 7 Crear grficos con canvas 38
Comprender el paquete de la aplicacin y el contenedor Conceptos bsicos de canvas 39
de la aplicacin 8 Crear el contorno de una forma 40
Comprender las credenciales y los conjuntos Proporcionar una imagen o un texto alternativo
de permisos 10 para exploradores antiguos 41
Comprender y administrar los estados Crear grficos con SVG 42
de la aplicacin 10 Cundo usar el elemento canvas en lugar de SVG 44
Almacenar datos de estado mediante almacenamiento Elegir y configurar etiquetas HTML5 para reproducir
local y de sesiones 11 archivos multimedia 45
AppCache para archivos sin conexin 11 Comprender y usar las etiquetas de vdeo 45
Comprender las interfaces y los gestos tctiles 12 Comprender y usar las etiquetas de audio 47
Aprovechar las habilidades y el contenido HTML5 Resumen de conocimientos 49
existentes para aplicaciones de pizarra o tableta 13 Evaluacin de conocimientos 49
Depurar y aprobar aplicaciones HTML5 13 Evaluacin de competencias 51
validar cdigo HTML5 14
Evaluacin de aptitudes 52
Validar un paquete 14
Publicar una aplicacin en una tienda 16 Leccin 3: Compilar la interfaz de
Resumen de conocimientos 17
usuario mediante HTML5:
Evaluacin de conocimientos 18
Evaluacin de competencias 20
organizacin, entrada y
Evaluacin de aptitudes 20 validacin 53
Matriz de objetivo del examen 53
Leccin 2: Compilar la interfaz de usuario Trminos clave 53
mediante HTML5: texto, Elegir y configurar etiquetas HTML5 para organizar
grficos y multimedia 21 contenido y formularios 54
Comprender la semntica HTML 54
Matriz de objetivo del examen 21 Usar etiquetas para agregar estructura a un documento
Trminos clave 21 HTML55
Comprender los principios bsicos de HTML 22 Elementos de encabezado y pie de pgina 56
Marcado bsico y estructura de la pgina 22 Elemento de seccin 57
Usar atributos 23 Elemento nav 59
Anidar elementos 24 Elemento de artculo 61
www.wiley.com/college/microsoft
o llame al nmero de telfono gratuito de MOAC: 1+(888) 764-7001 (solo EE. UU. y Canad)
xx |
Contenido | xxi
Elemento aside 61 Usar caja flexible para diseos sencillos y cuadrcula para
Usar etiquetas para crear tablas y listas 64 diseos complejos 112
Crear tablas 64 Usar una caja flexible para establecer alineacin,
Crear listas 69
direccin y orientacin de contenido 114
Elegir y configurar etiquetas HTML5 para la entrada Trabajar con cajas flexibles y elementos de caja
y validacin 72 flexible116
Comprender la entrada y los formularios 73 Aplicar escala proporcional dentro de una caja flexible 116
Explorar la creacin de formularios, y los valores y atributos Cambiar la direccin de elementos secundarios en una caja
de entrada 77 flexible122
Comprender la validacin 81 Ordenar y organizar contenido 126
Resumen de conocimientos 83 Usar diseos de cuadrcula para establecer alineacin,
Evaluacin de conocimientos 84 direccin y orientacin de contenido 128
Evaluacin de competencias 86 Crear una cuadrcula con las propiedades de CSS para
filas y columnas 130
Evaluacin de aptitudes 86
Comprender las plantillas de red 132
Leccin 4: Comprender los principios Resumen de conocimientos 133
bsicos de CSS: flujo de Evaluacin de conocimientos 133
Evaluacin de competencias 135
contenido, posicionamiento
Evaluacin de aptitudes 136
y estilo 87
Matriz de dominio de objetivos 87
Leccin 6: Administracin del flujo de
Trminos clave 87 texto mediante CSS 137
Comprender los principios bsicos de CSS 87 Matriz de objetivo del examen 137
Usar las herramientas adecuadas 88
Explorar el vnculo entre HTML y CSS 89
Trminos clave 137
Separar contenido de estilo 91 Administrar el flujo del contenido de texto mediante
Comprender selectores y declaraciones 92 CSS 137
Entender fuentes y familias de fuentes 94 Comprender y usar regiones para hacer fluir el
Administrar el flujo de contenido 96 contenido de texto entre varias secciones 139
Posicionar elementos individuales 99 Fluir contenido dinmicamente entre contenedores 140
Aplicar posicionamiento flotante 99 Texto desbordante 142
Aplicar posicionamiento absoluto 100 Implementacin de Microsoft de regiones de CSS 142
Administrar desbordamiento de contenido 102 Usar columnas y guiones para optimizar la legibilidad
Entender el desbordamiento de desplazamiento 102 del texto 145
Entender desbordamiento visible y desbordamiento Crear columnas 146
oculto104 Usar guiones 150
Resumen de conocimientos 105 Usar exclusiones de CSS para crear flujo de texto
Evaluacin de conocimientos 106 alrededor de un objeto flotante 152
Evaluacin de competencias 108 Resumen de conocimientos 155
Evaluacin de aptitudes 109 Evaluacin de conocimientos 155
Evaluacin de competencias 157
Leccin 5: Comprender los principios Evaluacin de aptitudes 158
bsicos de CSS: Diseos 110
Leccin 7: Administracin de la interfaz
Matriz de objetivo del examen 110 grfica mediante CSS 159
Trminos clave 110
Organizar el contenido de la interfaz de usuario Matriz de objetivo del examen 159
mediante CSS 111 Trminos clave 159
Administrar la interfaz grfica mediante CSS 159
www.wiley.com/college/microsoft
o llame al nmero de telfono gratuito de MOAC: 1+(888) 764-7001 (solo EE. UU. y Canad)
xxii | Contenido
Crear efectos grficos 160 Trabajar con imgenes, formas y otros grficos 219
Crear esquinas redondeadas 160 Manipular el lienzo con JavaScript 220
Crear sombras 161
Enviar y recibir datos 224
Aplicar transparencia 163
Transmitir objetos complejos y analizar 227
Aplicar degradados de fondo 164
Comprender la tipografa y el formato de fuente abierta Cargar y guardar archivos 229
de Web (WOFF) 166 Usar la memoria cach de la aplicacin (AppCache) 231
Aplicar transformaciones de 2D y 3D 167 Comprender y usar tipos de datos 233
Traslacin 2D 168 Usar JavaScript para validar la entrada
Escalado 2D 169 de formularios 233
Rotacin 2D y 3D 171 Comprender y usar cookies 235
Sesgar 2D y 3D 172
Comprender la perspectiva 3D, Comprender y usar almacenamiento local 237
transiciones y animaciones 173 Resumen de conocimientos 239
Aplicar efectos de filtro SVG 179 Evaluacin de conocimientos 240
Usar canvas para mejorar la GUI 182 Evaluacin de competencias 242
Resumen de conocimientos 185 Evaluacin de aptitudes 242
Evaluacin de conocimientos 186
Evaluacin de competencias 188 Leccin 10: Codificacin de JavaScript
Evaluacin de aptitudes 188 para los recursos de interfaz
tctil, dispositivo, sistema
Leccin 8: Comprensin de los principios operativo y ms 243
bsicos de JavaScript
y codificacin 189 Matriz de objetivo del examen 243
Trminos clave 243
Matriz de dominio de objetivos 189 Responder a la interfaz tctil 244
Trminos clave 189 Capturar gestos y responder a ellos 246
Administrar y mantener JavaScript 189 Codificacin de API de HTML5 adicionales 249
Crear y usar funciones 193 Codificacin para capturar la geolocalizacin 249
Usar jQuery y otras bibliotecas de terceros 197 Entender los Web Workers 252
Actualizar la UI mediante JavaScript 199 Comprender WebSockets 255
Localizar y obtener acceso a elementos 201 Usar la API de archivo para cargas de archivos 258
Escuchar y responder a eventos 203 Acceso a recursos de dispositivos y del sistema 260
Mostrar y ocultar elementos 206 Obtener acceso a recursos en memoria 260
Actualizar el contenido de los elementos 208 Acceso a capacidades de hardware 262
Agregar elementos 209 Comprender el sistema de posicionamiento
Resumen de conocimientos 211 Global (GPS) 263
Comprender el acelermetro 263
Evaluacin de conocimientos 212
Tener acceso a una cmara 263
Evaluacin de competencias 214
Resumen de conocimientos 264
Evaluacin de aptitudes 214
Evaluacin de conocimientos 265
Leccin 9: Creacin de animaciones, Evaluacin de competencias 267
Evaluacin de aptitudes 267
trabajo con grficos
y acceso a datos 215
Apndice268
Matriz de dominio de objetivos 215
Trminos clave 215 ndice269
Codificar animaciones mediante JavaScript 216
Crear animaciones 216
www.wiley.com/college/microsoft
o llame al nmero de telfono gratuito de MOAC: 1+(888) 764-7001 (solo EE. UU. y Canad)
Administracin LECCIN 1
delciclo de vida
delas aplicaciones
M AT R I Z D E O B J E T I V O D E L E X A M E N
TRMINOS CLAVE
contenedor de la aplicacin lenguaje de marcado
paquete de la aplicacin consultas multimedia
AppCache Interfaz de usuario (UI) estilo Moderno
interfaz de programacin de aplicaciones (API) espacio de nombres
estado de aplicacin Conjuntos de permisos
Hojas de estilo en cascada informacin de estado persistente
cookies independiente de la plataforma
depurar lenguaje de scripting
gesto estado de sesin
Lenguaje de marcado de hipertexto (HTML) sessionStorage
Protocolo de transporte de hipertexto (HTTP) evento tctil
HTML5 simulador o emulador de pantalla tctil
permisos de identidad validador
JavaScript Windows en tiempo de ejecucin (WinRT)
icono de selector Tienda Windows
localStorage World Wide Web Consortium (W3C)
1
2|Leccin 1
TOME NOTA
*
Si bien HTML5 se
encuentra todava en
desarrollo, la mayora
de los exploradores
web principales, como
Microsoft Internet
Explorer, Google
Chrome, Mozilla Firefox,
Opera y Apple Safari, son
compatibles con muchos
elementos HTML5. Es importante recordar que HTML5 es un estndar y, a la vez, una combinacin o familia
de nuevas etiquetas de marcado HTML, CSS, JavaScript y otras tecnologas relacionadas.
Hojas de estilo en cascada define los estilos de HTML en un archivo independiente, de
LISTO PARA CERTIFICACIN forma que resulta muy fcil cambiar fuentes, tamaos de fuente y otros atributos en un
Cules son las tres archivo CSS. Estos cambios quedan reflejados en todos los archivos HTML que hacen
tecnologas principales referencia el archivo CSS. La ltima versin de CSS es CSS3. JavaScript es un lenguaje
dela familia HTML5? de scripting (un lenguaje de programacin que utiliza scripts y no requiere un compilador)
1.1 que agrega interactividad a las pginas web.
Administracin delciclo de vida delas aplicaciones|3
Si bien puede usar HTML5, CSS3 y JavaScript para crear pginas web, usted tambin
TOME NOTA
* puede usarlos en combinacin para desarrollar aplicaciones cliente que se ejecutan en
Obtendr informacin dispositivos tctiles como PC, pizarras, tabletas y smartphones. En esencia, las mismas
detallada sobre CSS3 y
tecnologas que los desarrolladores utilizan para crear pginas web se estn empezando
JavaScript en lecciones
ausar para crear aplicaciones para diferentes dispositivos.
posteriores.
HTML5 es adems independiente de la plataforma. As, con la familia de tecnologas de
HTML5 puede crear aplicaciones que se ejecuten en los sistemas operativos de distintos
dispositivos mviles y de escritorio, como Microsoft Windows, Internet Explorer y
Windows Phone. Tambin se pueden ejecutar en Mac OS X, iOS, Android y Blackberry
OS. Puesto que HTML5 se basa en un estndar abierto, los usuarios de aplicaciones
HTML5 no tienen que descargar un complemento ni usar dispositivos compatibles con
complementos. Por el contrario, puede usar cualquier explorador web, ya sea en su PC
odispositivo mvil, y obtener una experiencia igualmente satisfactoria en la Web.
Por ltimo, una parte importante del desarrollo de aplicaciones en el entorno de Windows
es la Interfaz de usuario (UI) estilo Moderno, que es la interfaz de usuario que se usa
en la ltima versin de Microsoft Windows: Windows 8. La Interfaz de usuario estilo
Moderno tiene caractersticas como una apariencia limpia y ordenada, el uso de la pantalla
completa, grandes concentradores (botones grficos) y un enfoque en el desplazamiento
lateral, por citar solo unas cuantas. Vea la Figura 1-2 como ejemplo.
Figura 1-2
La pantalla Inicio de
Windows 8 es una interfaz
de usuario estilo Moderno
Dado que este libro le ayuda a prepararse para el examen de certificacin Microsoft
Technology Associate (MTA) 98-375, Aspectos fundamentales del desarrollo de aplicaciones
HTML5, en los ejemplos de las lecciones se utilizan las herramientas de Microsoft siempre
que es posible. Con todo, el examen no se centra en un conjunto de herramientas concreto.
Puede trabajar con la familia HTML5 utilizando muchas herramientas distintas de muchas
TOME NOTA
* compaas distintas. Incluso un sencillo editor de texto como Bloc de notas o Notepad++
funciona adecuadamente para trabajar con marcado HTML, CSS y JavaScript. Necesita
herramientas ms globales, como Visual Studio, al depurar gran cantidad de cdigo,
empaquetar aplicaciones para su distribucin y tareas similares. En http://bit.ly/K8nkk1
encontrar herramientas de desarrollo gratuitas para crear aplicaciones en tiempo de ejecucin.
Novedades en HTML5?
En la lista siguiente se mencionan algunas de estas nuevas caractersticas, con una breve
descripcin:
Etiquetas de audio y vdeo: se utilizan para insertar multimedia de audio y vdeo
mediante las etiquetas de marcado HTML5 <audio> y <video>.
Canvas: elemento HTML5 que crea un contenedor de grficos y utiliza JavaScript
para dibujar los grficos segn sea necesario.
Consultas multimedia: una caracterstica de CSS3 que detecta el tipo de pantalla
delusuario y ajusta la salida segn corresponde.
Nuevas interfaces de programacin de aplicaciones (API): d acceso a las
aplicaciones a un sinfn de recursos, como archivos, cmaras web y animaciones
aceleradas por hardware.
Geolocalizacin: utiliza JavaScript para detectar la ubicacin (posicionamiento
geogrfico) del dispositivo de un cliente, ya se trate de un dispositivo Windows
Phone, Android o PC.
Modernizr: biblioteca JavaScript que le ayuda a entregar las nuevas capacidades
deHTML5 y CSS3 en exploradores ms antiguos.
Esta lista es una pequea muestra de las tecnologas y caractersticas disponibles.
Aprender a usar muchas de ellas a largo de las lecciones del curso.
MS INFORMACIN
Las direcciones web usadas en los ejercicios anteriores se vuelven a indicar aqu para facilitarle las cosas. Puede
marcarlas para usarlas ms adelante. Encontrar informacin sobre el estndar HTML5 en el sitio web de W3C
en http://www.w3.org/TR/html5/. El sitio web que est en
http://www.w3schools.com/html/default.asp proporciona tutoriales para HTML5. Microsoft proporciona
informacin til para nuevos desarrolladores en el Centro de aprendizaje para desarrolladores sin experiencia
(http://msdn.microsoft.com/en-us/beginner/default.aspx) y el sitio de MSDN en http://bit.ly/Hd9uzt.
Crear aplicaciones
Figura 1-3
Pasos generales para
crear una aplicacin
En esta seccin, se describen los pasos generales que conlleva la creacin de una
aplicacin. En la Figura 1-3 se indican los pasos, que se explican a continuacin.
Planear el proyecto: piense qu tipo de aplicacin desea crear. Elija lo que elija,
esmejor que sea sencillo mientras aprende a desarrollar aplicaciones HTML5.
Unavez que decida la accin principal de la aplicacin, cree un esquema del
flujogeneral de la aplicacin de principio a fin. Determine tambin el tipo de
interactividad del usuario que desea incluir, por ejemplo una interfaz tctil, si
necesitaguardar datos fuera de la aplicacin, y si la aplicacin debe conectarse
aotrasaplicaciones o servicios (por ejemplo, una fuente RSS).
Disear la interfaz de usuario: al disear la interfaz de usuario, determine cmo
desea que los usuarios vean la aplicacin. Agrupe el contenido de manera que tenga
lgica. Empiece con el listado de los comandos que necesita para que la aplicacin
funcione como se espera. Rena imgenes y clips multimedia si es necesario.
Enlaactualidad, las aplicaciones requieren como mnimo un icono de selector,
querepresenta a la aplicacin.
Actualizar el manifiesto de la aplicacin: todas las aplicaciones requieren un archivo
demanifiesto. En el archivo de manifiesto se describen las propiedades de la aplicacin y
se indica qu necesita la aplicacin para funcionar (vea la Figura 1-4). El archivo contiene
informacin diversa, como el nombre para mostrar que vern los usuarios, una descripcin
de la aplicacin, la orientacin de la aplicacin (vertical, horizontal, etc.), la ruta de
archivo del icono de la aplicacin, las capacidades de la aplicacin (caractersticas
delsistema o dispositivos que la aplicacin puede usar) y muchas otras cosas.
6|Leccin 1
Figura 1-4
Ejemplo de archivo
de manifiesto
Escribir cdigo: durante esta fase, debe escribir el cdigo de la aplicacin, que puede
incluir una combinacin de HTML, CSS y JavaScript.
Compilar la aplicacin: utilizando una herramienta de desarrollo de aplicaciones
como Visual Studio, convierta el cdigo y los dems recursos en una aplicacin
propiamente dicha.
Depurar y probar: debe probar la aplicacin plenamente y solucionar los problemas
que aparezcan. Si la aplicacin utiliza una interfaz tctil, es muy importante probar
laaplicacin en un dispositivo tctil o usar un emulador tctil.
Empaquetar: al empaquetar una aplicacin se crea un contenedor en el que estn todos
los archivos necesarios para la aplicacin, por ejemplo JavaScript, imgenes, etc.
Validar: validar la aplicacin significa ejecutarla en un programa de validacin para
garantizar que no falta nada.
Implementar: cargue la aplicacin en un lugar donde se pueda vender, por ejemplo
laTienda Windows.
Las aplicaciones que piense poner a disposicin de muchos usuarios, especialmente a
travs de un lugar de venta como una tienda de aplicaciones, deben ser fiables y seguras.
Hay muchas aplicaciones que se disean para ejecutarse en varios sistemas operativos.
Asegrese de probar sus aplicaciones por completo y validarlas con las herramientas
adecuadas. Tambin debe considerar la posibilidad de ofrecer soporte tcnico para las
aplicaciones ms complejas.
4. Para crear aplicaciones para la Tienda Windows, descargue Microsoft Visual Studio 2012
Express para Windows 8 desde http://bit.ly/K8nkk1 e instlelo. El programa requiere
que Windows 8 est instalado.
Cuando se inicia una aplicacin, se considera que est en un entorno de tiempo ejecucin
(RTE). Es el entorno en el que los desarrolladores prueban las aplicaciones y los usuarios
las ejecutan. Windows tiene su propio entorno de tiempo de ejecucin, denominado
Windows en tiempo de ejecucin (WinRT).
Windows en tiempo de ejecucin es la base del sistema operativo Windows 8. Est formado
por capas que proporcionan funcionalidad a las aplicaciones en tiempo de ejecucin y al
shell de Windows. WinRT admite aplicaciones escritas en distintos lenguajes que usenla
interfaz deusuario Moderna.
La capa Windows Core se encuentra en la base. Esta capa contiene el kernel, los servicios
y el modo de usuario de Windows. Un nivel por encima, Windows Runtime Core contiene
servicios adicionales, como administracin de memoria y globalizacin. Yms arriba
todava, estn las capas relacionadas con los dispositivos, y con multimedia, redes,
almacenamiento local y remoto, y otras cosas. La capa de interfaz de usuario es
compatible con aplicaciones HTML5 y otras aplicaciones.
WinRT funciona con C#, C++, Visual Basic y JavaScript. Puede compilar aplicaciones en
tiempo de ejecucin con WinRT y con la biblioteca de Windows para API de JavaScript.
Una interfaz de programacin de aplicaciones (API) no es ms que una lista de
instrucciones que permite que un programa se comunique con otro. En una aplicacin
web,una API permite que un explorador o servidor web se comunique con otros
programas. Hay cientos de API disponibles para muchos usos distintos.
Document Object Model (DOM) es una API importante, que no se debe olvidar. El DOM
se ha diseado para HTML y Lenguaje de marcado extensible (XML). Permite que los
programas y scripts actualicen el contenido, la estructura y los estilos sobre la marcha;
TOME NOTA
* esencialmente se puede modificar cualquier cosa que haya en un archivo HTML o XML.
DOM no es HTML ni JavaScript, pero los une.
La biblioteca de Windows para JavaScript contiene archivos JavaScript y CSS que los
LISTO PARA CERTIFICACIN desarrolladores pueden usar para crear aplicaciones en tiempo de ejecucin ms fcil y
Qu entorno proporciona rpidamente. La biblioteca se utiliza junto con HTML, CSS y WinRT para crear aplicaciones.
a los desarrolladores
acceso a un dispositivo El entorno de ejecucin se ocupa del acceso a dispositivos, multimedia, redes,
de usuario? almacenamiento local y remoto, y otros elementos. Los desarrolladores pueden usar API y el
1.1 entorno de ejecucin para solicitar acceso a dispositivos de usuario desde unaaplicacin. En
una aplicacin Windows 8, por ejemplo, el dispositivo podra ser unteclado, un mouse, un
panel tctil, una impresora, una cmara web o un micrfono.
MS INFORMACIN
Para obtener ms informacin sobre Windows en tiempo de ejecucin, visite la pgina web
Caractersticas y diferencias de HTML, CSS y JavaScript (HTML) en http://bit.ly/xrofoB.
Cuando se ejecuta una aplicacin en tiempo de ejecucin que se cre con JavaScript,
Internet Explorer representa el HTML como cuando se tiene acceso a una pgina web,
pero el explorador est hospedado en otro proceso, denominado WWAHost.exe. Dicho
proceso ejecuta la aplicacin dentro de un contenedor de la aplicacin. Los contenedores
de la aplicacin se describen en la siguiente seccin. WWAHost pasa el HTML, CSS
yJavaScript a la pgina default.html, que es el inicio de la aplicacin.
LISTO PARA CERTIFICACIN Para que no haya problemas, el cdigo que se ejecuta en un contenedor de la aplicacin en
Cul es el papel del tiempo de ejecucin est limitado a ciertas acciones, de forma predeterminada. Si desea que
proceso de host en la aplicacin tenga acceso a un dispositivo, otra aplicacin, Internet o cualquier cosa que
la administracin no sea la propia aplicacin, debe declarar (especificar) la interaccin en el manifiesto de la
deaplicaciones? aplicacin. Estas declaraciones se encuentran en la seccin de capacidades del manifiesto.
1.1 Cuando el usuario final instala la aplicacin, debe dar permiso para el acceso solicitado.
Las aplicaciones en tiempo de ejecucin utilizan contratos, que son esencialmente
acuerdos, y lo que se conoce como extensiones al crear interacciones entre aplicaciones.
Las API de WinRT controlan la comunicacin entre las aplicaciones.
Figura 1-5
Parte de la pgina web
de ejemplos de MSDN
Developer Network
2. Desplcese hacia abajo y haga clic en el vnculo HTML5 del panel izquierdo,
que actualmente est cerca de la parte de abajo de la lista.
3. Entre las muestras, busque una aplicacin que indique HTML5 despus de la descripcin
de la aplicacin, por ejemplo la muestra sobre control de existencias. Haga clic en el
vnculo a la aplicacin.
4. En la pgina que se abre se indica el programa necesario para abrir y editar los archivos
de la aplicacin, y las tecnologas incluidas en la aplicacin. La muestra de control de
existencias requiere Visual Studio 12 e incluye JavaScript y HTML5, como se muestra
en la Figura 1-6.
Figura 1-6
Ver la pgina web de una
aplicacin de ejemplo
MS INFORMACIN
Para obtener ms informacin sobre el paquete de la aplicacin, visite la pgina web Implementacin
ypaquetes de aplicaciones en http://bit.ly/H9rsFz.
La seguridad del cdigo es una prioridad para los desarrolladores de aplicaciones. Las
prdidas econmicas consecuencia de virus, troyanos, ataques de scripting entre sitios y
otro malware distribuidos por Internet son mayores cada ao. La creacin de un ambiente
seguro y protegido en el que se puedan ejecutar aplicaciones es de vital importancia para
la mayora de individuos y organizaciones en la actualidad.
Afortunadamente, con .NET Framework 4.0 se pueden compilar y ejecutar aplicaciones
LISTO PARA CERTIFICACIN
en tiempo de ejecucin, entre otras tecnologas. .NET Framework es un componente de
Cmo protegen
las aplicaciones las
Windows que se ejecuta en segundo plano. Proporciona el entorno de ejecucin de cdigo
credenciales y los para cdigo de scripts o interpretado (como JavaScript), y contribuye a una ejecucin
conjuntos de permisos? con un nmero de problemas relativamente bajo. Tambin proporciona un entorno de
1.1 programacin orientado a objetos para el cdigo objeto.
La versin actual de .NET Framework depende ms de la transparencia de seguridad
que las versiones anteriores. La transparencia impide que el cdigo de las aplicaciones
se ejecute con cdigo de infraestructura. .NET Framework utiliza conjuntos de permisos
y permisos de identidad. Los conjuntos de permisos son grupos de permisos. El cdigo
transparente ejecuta comandos que no superan las limitaciones de un conjunto de
permisos. Es an ms limitado cuando se trata de cdigo crtico.
.NET Framework define varios niveles de conjuntos de permisos, que van desde cero
(no existen permisos y no se puede ejecutar cdigo) a total (el cdigo puede tener
acceso total a todos los recursos).
Los permisos de identidad protegen los ensamblados (bibliotecas de cdigo compilado) segn
pruebas, que es informacin acerca del ensamblado. Cada permiso de identidad representa un
tipo concreto de pruebas, o credenciales, que un ensamblado debe tener para poder ejecutarse.
Un estado de sesin se crea la primera vez que un usuario solicita acceso a una aplicacin
y termina cuando se cierra la sesin, por ejemplo cuando el usuario cierra la sesin. Un
estado de la aplicacin existe desde que un explorador web solicita una pgina web hasta
que se cierra el explorador. La informacin de estado persistente son datos que existen
CONCLUSIN
una vez que termina una sesin. En HTML5, los desarrolladores pueden usar los mtodos
localStorage y sessionStorage de JavaScript trabajar con datos de estado. Adems, AppCache
permite que el usuario cargue datos almacenados normalmente en un servidor incluso
cuando el usuario no est conectado.
Administracin delciclo de vida delas aplicaciones|11
Con objeto de minimizar las limitaciones del protocolo HTTP, los desarrolladores utilizan
LISTO PARA CERTIFICACIN
Cmo administra HTML5
las cookies, pequeos archivos que contienen informacin sobre el usuario y el sitio web
los datos de estado? visitado, y que se guardan en el equipo del usuario. Cuando un usuario vuelve a un sitio
1.2
visitado, el explorador enva las cookies al servidor web. Las cookies ayudan al servidor
web a recordar a un usuario y personalizar la experiencia de usuario en ese sitio.
Sin embargo, las cookies han demostrado ser un riesgo de seguridad. Adems, si la cantidad
de datos fuera muy grande, como todos los datos se transmiten entre el explorador y el
servidor con cada peticin, se causara una considerable disminucin del rendimiento para
el usuario. En HTML5, los desarrolladores pueden usar el almacenamiento web, que ofrece
ms flexibilidad, conjuntos de datos ms grandes y mejor rendimiento.
El mtodo localStorage permite a los usuarios guardar grandes cantidades de datos de una sesin
LISTO PARA CERTIFICACIN
para otra sesin (persistencia de datos) y no hay lmite en cuanto a la duracin de la existencia
Qu dos mtodos
de los datos. El mtodo sessionStorage conserva los datos nicamente durante una sesin (hasta
JavaScript/HTML5
permiten que una
que se cierra el explorador), algo que tambin se conoce como almacenamiento por pestaa.
aplicacin almacene Utilizando estos mtodos, datos concretos se transfieren solo cuando se solicitan, de
datos persistentes? forma que es posible almacenar una cantidad de datos relativamente grande sin ralentizar
1.2 la conexin o el sitio.
X REF index.html
MS INFORMACIN
Para obtener ms informacin sobre la administracin de estado, y sobre el almacenamiento local y de sesin,
consulte la pgina web Almacenamiento y recuperacin eficaces del estado en http://bit.ly/H9wH3u.
MS INFORMACIN
Puede consultar las especificaciones tctiles de WC3 en http://bit.ly/gBZUjo. Para obtener ms
informacin sobre eventos tctiles y gestos, visite la pgina web Responder a la interaccin
del usuario en http://bit.ly/H7uO5Q.
Una ventaja para desarrolladores con experiencia que deseen crear aplicaciones en
tiempo de ejecucin es que sus conocimientos y cdigo de HTML5 se pueden reusar
en desarrollo de aplicaciones en tiempo de ejecucin.
LISTO PARA CERTIFICACIN Las pruebas y la depuracin del cdigo son partes integrantes del desarrollo de aplicaciones.
Qu puede hacer La mayora de las herramientas como Visual Studio tienen caractersticas de depuracin
un desarrollador para integradas en el software. Algunos errores son fciles de detectar y corregir, pero otros pueden
contribuir a garantizar requerir horas o incluso das de trabajo, dependiendo de la complejidad de la aplicacin.
que una aplicacin nueva
En cualquier caso, la fase de prueba y depuracin es muy importante por varias razones:
es confiable y tiene el
menor nmero de errores El objetivo es ofrecer una aplicacin til, segura y confiable a los clientes. La depuracin
posible? y las pruebas ayudan a garantizar que se cumplen las tres caractersticas.
1.3 Las aplicaciones de alta calidad logran un mayor xito, lo que puede aumentar los
beneficios e impulsar las ventas de futuras aplicaciones.
Si piensa publicar una aplicacin a travs de la Tienda Windows u otro mercado de
aplicaciones en lnea bien conocido, la tienda requerir una validacin o certificacin
de que la aplicacin se ha probado.
W3C ofrece un servicio de validacin de cdigo para todas las versiones de HTML
activas en su pgina web del servicio de validacin de marcado en http://validator.w3.org/.
El servicio es gratuito para todos los usuarios. Simplemente, haga clic en un vnculo para
cargar un archivo en el servicio, o copie y pegue el contenido del archivo en un cuadro
de texto del sitio web. Despus, haga clic en el botn de comprobacin. El servicio de
validacin comprueba el cdigo y comunica los errores o problemas que se deben arreglar.
Un validador no es lo mismo que un emulador o un simulador. Un validador prueba el
cdigo e indica si hay imprecisiones, para que se puedan hacer los cambios necesarios. Los
emuladores y simuladores simplemente proporcionan un entorno en el que ejecutar cdigo.
Validar un paquete
Microsoft ofrece una herramienta gratuita llamada Kit para la certificacin de aplicaciones
en Windows para probar aplicaciones locales. El kit es un tipo de validador que prueba
su aplicacin en el equipo antes de que intente empaquetarla y publicarla en la Tienda
Windows.
Figura 1-7
Errores y advertencias que se
obtienen al intentar validar
una pgina web HTML
Figura 1-8
Pgina web del servicio de
validacin de CSS de W3C
5. Desplcese por la pgina y lea los errores y las advertencias, si los hay.
6. Si el validador proporciona vnculos a ms informacin sobre los errores o las
advertencias, haga clic en al menos dos de ellos y lea la informacin.
7. Cuando haya terminado, deje el explorador web abierto.
Una vez que su aplicacin se haya probado y depurado, y el cdigo se haya validado
CONCLUSIN
o certificado, tiene que realizar unos cuantos pasos ms para que est lista para
cargarse en un lugar de venta como la Tienda Windows. Puede usar Visual Studio 12
o Visual Studio 12 Express para finalizar el proyecto.
RESUMEN DE CONOCIMIENTOS
Evaluacin de conocimientos
Rellene los espacios en blanco
Complete las oraciones siguientes escribiendo la palabra o palabras correctas en los
espacios en blanco proporcionados.
1. HTML es un lenguaje de __________ , no un lenguaje de programacin, lo que
significa que HTML utiliza etiquetas de marcado como <body> y <h1> para describir
partes de una pgina web.
2. ____________________ define los estilos de HTML en un archivo independiente, por
lo que resulta muy fcil cambiar las fuentes, los tamaos de fuente y otros atributos.
3. Windows 8 utiliza la interfaz de usuario (UI) __________ .
4. __________ es la base del sistema operativo Windows 8. Est formado por capas que
proporcionan funcionalidad a las aplicaciones en tiempo de ejecucin y al shell de
Windows.
5. _____________ es el proceso de empaquetar una aplicacin y sus diversos archivos en
un contenedor de la aplicacin, lo cual facilita distribuir e implementar la aplicacin.
El paquete de la aplicacin es el resultado de este proceso.
6. El estado ____________ se crea cuando el explorador web enva la primera solicitud
para una pgina web al servidor web y termina cuando el usuario cierra el explorador.
7. El mtodo ___________ conserva los datos nicamente durante una sesin (hasta que se
cierra el explorador), algo que tambin se conoce como almacenamiento por pestaa.
8. Cualquier movimiento del dedo se conoce como ________, que puede implicar un
solo dedo (un toque) o bien de un dedo y el pulgar (dos toques).
Administracin delciclo de vida delas aplicaciones|19
9. Un ________ busca cualquier cosa que pueda causar que el cdigo se interprete
incorrectamente, como etiquetas que faltan o sin cerrar, una declaracin inadecuada
de DOCTYPE, una barra a la derecha, cdigo degradado, etc.
10. El ____________ es un mercado global en lnea para aplicaciones en tiempo
de ejecucin.
Varias opciones
Rodee con un crculo la letra correspondiente a la mejor respuesta.
1. Cules tres componentes son los principales elementos de la familia HTML5?
a. XML
b. HTML
c. CSS
d. JavaScript
2. JavaScript es un tipo de:
a. Compilador de programas
b. Lenguaje de marcado
c. Lenguaje de scripting
d. Validador
3. Todas las opciones siguientes son verdaderas respecto a HTML5 excepto:
a. Requiere Windows 8
b. Puede usarse para crear aplicaciones web y aplicaciones de PC y dispositivo
c. Es independiente de la plataforma
d. Se basa en un estndar abierto
4. Qu entorno de sistema operativo permite que un desarrollador obtenga acceso
aunacmara o cmara web?
a. localStorage
b. WinRT
c. el estado de la sesin
d. Modern UI
5. Usted est desarrollando una aplicacin en tiempo de ejecucin y quiere que la
aplicacin obtenga acceso a otra aplicacin. Dnde se declara la interaccin?
a. Manifiesto de la aplicacin
b. CSS
c. En la parte superior del archivo HTML
d. En ninguna parte, no es necesario declarar la interaccin
6. Cul de las siguientes opciones se utiliza para crear un paquete de aplicacin?
a. JavaScript
b. CSS
c. DOM
d. Una herramienta de desarrollo de aplicaciones
7. Qu API permite que los programas y scripts actualicen contenido, estructura
yestilos sobre la marcha?
a. JavaScript
b. WinRT
c. DOM
d. RTE
8. AppCache, localStorage y sessionStorage son formas de:
a. Almacenamiento web
b. Comandos HTML
c. Estndares
d. Espacios de nombres
20|Leccin 1
Verdadero/Falso
Haga un crculo alrededor de la V si el enunciado es verdadero o alrededor de la F
si el enunciado es falso.
VF1.
Una interfaz de programacin de aplicaciones (API) es una lista de
instrucciones que permite que un programa se comunique con otro programa.
VF2.
Un procedimiento recomendado es publicar su aplicacin sin validacin para
realizar pruebas en lnea en directo.
VF3.
Un emulador analiza documentos HTML y CSS, en busca de errores.
VF4.
Un procedimiento recomendado es disear aplicaciones tctiles para dedos ms
anchos que angostos.
VF5.
Una aplicacin independiente de la plataforma puede ejecutarse en diferentes
sistemas operativos de dispositivos mviles y de escritorio.
Evaluacin de competencias
Escenario 1-1: Comprender las nuevas caractersticas de la familia HTML5
Su gerente, Marylyne, quiere informarse sobre la familia HTML5 para decidir si la empresa
debe empezar a usarla en nuevos proyectos. Le pide que le proporcione una lista de cinco o
seis caractersticas nuevas. Qu elementos incluye en la lista?
Evaluacin de aptitudes
Escenario 1-3: Compartir consejos de desarrollo de aplicaciones tctiles
Antoine est trabajando en una aplicacin tctil y le pide consejos de desarrollo y elementos
que debera asegurarse de probar en su tableta. Qu le dice?
TRMINOS CLAVE
atributo elemento figure
elemento audio atributo global
elemento canvas anidamiento
cdec imagen de trama
compresin representar
degradacin Scalable Vector Graphics (SVG)
tipo de documento etiquetas
elemento vlido
etiqueta vaca imagen vectorizada
entidad compresin de vdeo
elemento figcaption elemento vdeo
21
22 | Leccin 2
Los desarrolladores del sitio web de Malted Milk Media le pidieron que estudie
el nuevo marcado disponible en HTML5. Estn particularmente interesados en la
etiquetas relacionadas con multimedia y grficos. Su tarea es aprender todo lo que
pueda sobre las nuevas etiquetas de marcado HTML5, as como preparar breves
descripciones y ejemplos de cada una de ellas.
Todas las pginas HTML contienen etiquetas. Una etiqueta es una palabra clave entre
corchetes angulares. La mayora de las etiquetas se utilizan en pares: una se conoce
como la etiqueta de apertura o inicio, y la otra es la etiqueta de cierre o final. En
un par de etiqueta se distingue entre maysculas y minsculas, y en una etiqueta
de cierre se deben usar maysculas o minsculas de la misma forma que en la de
apertura. Una etiqueta de cierre es idntica a una etiqueta de apertura, excepto
quelade cierre contiene una barra diagonal antes de la palabra clave.
Las etiquetas rodean contenido y lo definen. Por ejemplo, este marcado crea un
encabezamiento de primer nivel:
<h1>Pet Care 101</h1>
HTML tambin utiliza algunas etiquetas individuales, por ejemplo <br /> para un salto
de lnea y <hr /> para una lnea horizontal. En HTML4, estas etiquetas se denominan
etiquetas vacas porque no requieren una etiqueta de cierre. HTML5 es menos restrictivo
que HTML4. No es necesario incluir etiquetas de cierre para todos los elementos (aunque
algunos elementos todava requieren las etiquetas inicial y final), y las etiquetas se pueden
escribir en maysculas o minsculas. Con todo, en este libro se usan etiquetas de apertura
y cierre, y solo minsculas, en aras de la homogeneidad.
Hay muchas etiquetas disponibles para las pginas HTML. Algunas de las etiquetas ms
usadas se enumeran en la tabla 2-1. Las cuatro primeras (<html>, <head>, <title> y<body>)
son necesarias en todas las pginas web.
Compilar la interfaz de usuario mediante HTML5: texto, grficos y multimedia | 23
Tabla 2-1
Etiquetas HTML habituales Etiqueta Descripcin
Identifica la pgina como documento HTML. La etiqueta <html>
<html>
abarca todo el contenido de la pgina excepto la declaracin
doctype de la parte superior.
Contiene el marcado y el cdigo que utiliza el explorador, como
<head>
scripts que agregan interactividad y palabras clave que ayudan a
los motores de bsqueda a encontrar la pgina. La etiqueta <head>
tambin puede contener estilos de formato para la pgina.
Muestra el ttulo de la pgina web, que aparece en la parte
<title>
superior del explorador, generalmente en la pestaa de la pgina
en los exploradores con pestaas.
Rodea el contenido que est visible en la pgina web cuando
<body>
sevisualiza en un explorador web.
<a href=URL> Se suele usar para unir una URL a texto o una imagen. Tambin
puede crear un anclaje con nombre dentro de un documento
paraestablecer vnculos a secciones del documento.
Aplica negrita al texto.
<b>
USAR ATRIBUTOS
No todas las etiquetas describen datos por s solas, o al menos no con el detalle suficiente
para la representacin. Por ello, algunos elementos deben tener atributos, modificadores
de los elementos HTML que proporcionan informacin adicional.
Los atributos son fciles de usar y son solo extensiones de los elementos. Puede agregar
atributos a elementos utilizando esta sintaxis bsica:
<tag attribute="value">
Observe que tanto el atributo como su valor estn dentro de una etiqueta. Debe incluir
un atributo dentro de una etiqueta para que el explorador sepa cmo tratar el atributo.
Un buen ejemplo de atributo es la creacin de un hipervnculo, como se indica a
continuacin:
<a href="http://www.example.com">Esto es un vnculo.</a>
El explorador utiliza la combinacin del elemento de anclaje y el atributo href para
mostrar un hipervnculo. En la Figura 2-1 se muestra cmo interpreta un explorador
webeste fragmento de marcado.
Figura 2-1
Un hipervnculo es resultado
de usar el elemento de
anclaje con el atributo href.
Dos de los usos ms comunes de los atributos son la creacin de hipervnculos y la inclusin
de grficos sencillos. Va a aprender a trabajar con grficos ms adelante en esta leccin.
HTML5 dispone de varios atributos globales, que se pueden usar con cualquier elemento
HTML5. Ejemplos de atributos globales son id, lang y class, entre muchos otros.
ANIDAR ELEMENTOS
La forma en que un explorador web muestra el cdigo HTML depende de cmo se
combinen los elementos, sus atributos (si los hay) y el contenido. Cuando se aplican
dos o ms elementos al mismo bloque de texto, los pares de etiquetas se deben anidar
correctamente para que funcionen como se desea. Anidar significa colocar un elemento
dentro de otro. Este es un ejemplo de anidamiento correcto:
<p>Asegrese de que su mascota tiene <i><b>agua abundante</b></i> cuando hace calor.</p>
En este caso, queremos destacar las palabras agua abundante, por lo que estn en cursiva
y negrita mediante el uso de las etiquetas <i> y <b>. Si la etiqueta de cierre </b> se colocara
detrs de la etiqueta de cierre </p> (como se muestra a continuacin), las palabras agua
abundante cuando hace calor estaran en negrita, pero solo agua abundante estara en
cursiva. El resultado sera algo extrao, como se muestra en la Figura 2-2.
<p>Asegrese de que su mascota tiene <i><b>agua abundante</i>
cuando hace calor.</p></b>
La regla para anidar etiquetas es que las etiquetas anidadas se deben cerrar antes que
Figura 2-2
Anidamiento de etiquetas
incorrecto
y las herramientas de edicin web tienen capacidad para manipular los caracteres especiales
que aparecen en el teclado, por ejemplo los que estn en la parte de arriba de las teclas
numricas. En la mayora de los casos, esos caracteres se representan sin problemas.
Con algunos exploradores, no se muestra el carcter esperado y, en su lugar, aparece un
smbolo o un carcter sin sentido. Esas situaciones son fciles de controlar. Cada carcter
especial que se puede reproducir en una pgina web tiene un nombre de entidad y un
cdigo numrico. Se puede cualquiera de los dos en una pgina web. Con todo, suele
ser ms seguro representar smbolos como el de marca registrada mediante una entidad
numrica para asegurar la representacin correcta en muchos exploradores diferentes.
Una entidad comienza con una Y comercial (&) y termina con un punto y coma (;). Por
ejemplo, la entidad ® representa el smbolo de marca registrada, y su cdigo numrico es
®. Cuando un explorador encuentra una Y comercial, trata de determinar si los caracteres
que la siguen pertenecen a una entidad. Si es as, el explorador muestra el carcter especial en
lugar de la entidad. La Tabla 2-2 contiene varias entidades que se utilizan a menudo.
Tabla 2-2
Ejemplos de entidades Smbolo Descripcin Nombre de la entidad Cdigo
para HTML5
Copyright © ©
Grado ° °
$ Dlar $ $
% Porcentaje % %
Marca registrada ® ®
MS INFORMACIN
Consulte la lista de entidades admitidas en HTML5 en http://dev.w3.org/html5/html-author/charref.
<html>
<head>
<title>78704 Pet Services</title>
</head>
<body>
<p>Su perro es un amigo para toda la vida. Por qu no
ofrecerle los mejores cuidados posibles?</p>
</body>
</html>
Las lneas en blanco entre partes de la pgina, por ejemplo entre la declaracin de doctype
y la etiqueta <html>, no aparecen en una pgina web. Tampoco se ve la aplicacin de
sangra, por ejemplo en los prrafos. Observe que a los elementos de prrafo se aplica
sangra respecto a las etiquetas <body>. La aplicacin de sangra y las lneas en blanco
simplemente ayudan a que sea ms fcil leer el marcado en una herramienta de edicin.
La Figura 2-3 muestra la pgina web del formato HTML anterior representada.
Figura 2-3
Una pgina web sencilla
representada en un
explorador
Recuerde que, como vimos en la leccin 1, puede usar el servicio de validacin de W3C
en http://validator.w3.org para comprobar y validar cdigo HTML. Si una pgina web
sigue las especificaciones a la perfeccin, se considera vlida.
Hay una amplia gama de editores y herramientas de desarrollo que se pueden usar.
El Bloc de notas es el editor de texto integrado en Windows, pero puede descargar
Notepad++ gratuitamente desde la Web. Notepad+++ tiene funciones que facilitan la
creacin y edicin de documentos HTML. TextWrangler tiene funciones parecidas y
TOME NOTA
* est diseado para sistemas Macintosh. Otros editores HTML gratuitos son HTML-Kit
y KompoZer. Entre las herramientas de desarrollo estn Microsoft Visual Studio, Visual
Studio para Web, Microsoft Web Matrix y Microsoft Expression Web, y muchos otros.
Todas estas aplicaciones permiten crear y editar archivos HTML.
Figura 2-4
Pgina web Cuidados
y alimentacin de
78704 Pet Services
5. Para ver qu efecto tiene que falte una etiqueta de un par de etiquetas, elimine la
etiqueta de cierre </b> despus de agua. Cree un archivo nuevo para probar los
cambios, gurdelo como L2-mascotas-test.html y abrirlo en el explorador. Ahora, todo
el contenido desde agua abundante al final del documento est en negrita.
En Internet Explorer 9, el modo de explorador se puede abrir presionando F12. Este modo
permite editar pginas sin salir del explorador. Adems, puede hacer clic en Modo de
TOME NOTA
* documento en la barra de mens y, a continuacin, seleccionar, una versin anterior del
explorador para ver cmo se representa una pgina.
28 | Leccin 2
6. Para ver qu efecto tiene un anidamiento incorrecto, mueva la etiqueta de cierre </i>
de forma que est despus de la ltima etiqueta </p>. Vuelva a guardar L2-mascotas-
test.html y a verlo en el explorador. Todo el contenido desde agua abundante al final
del documento est en negrita y cursiva, como se muestra en la Figura 2-5.
Figura 2-5
Efectos del anidamiento
de etiquetas incorrecto
Figura 2-6
En la esquina inferior
izquierda aparece un
smbolode copyright
Al visualizar las pginas web que est editando, es mejor usar varios exploradores web para
asegurarse de que el marcado se representa correctamente para la mayora de los usuarios.
Algunas herramientas de edicin permiten seleccionar un explorador en una lista para obtener
TOME NOTA
* la vista previa de las pginas web. Si su herramienta no ofrece esa opcin, tendr que instalar
tres o cuatro exploradores distintos y abrir las pginas web en cada uno de ellos.
11. Es probable que haya recibido un mensaje de error de codificacin de caracteres. Para
corregirlo, abra L2-pet-copyright.html en la herramienta de edicin e introduzca <meta
charset="UTF-8"> en el elemento de encabezado, en su propia lnea, justo antes del ttulo.
<head>
<meta charset="UTF-8">
<title>78704 Pet Services</title>
</head>
MS INFORMACIN
Si tiene dificultades con los temas de esta seccin, considere la posibilidad de realizar tutoriales como
los que se ofrecen en el sitio web W3Schools.com.
Todos los elementos tratados en la primera seccin de esta leccin funcionan en HTML5,
aunque se han usado durante aos en las versiones anteriores de HTML. En su mayor parte,
HTML5 cambia muy poco de la sintaxis HTML. En consecuencia, los desarrolladores
pueden seguir utilizando la mayora de los elementos que siempre han usado. Algunos
elementos tienen la misma etiqueta pero una funcionalidad ligeramente distinta, lo que
vamos a describir muy pronto.
X REF HTML5 incluye tambin muchos elementos nuevos que aumentan la funcionalidad de las
pginas web o simplifican el marcado. Entre ellos estn elementos multimedia como audio
El marcado HTML5 y vdeo, y elementos que hacen que la estructura de una pgina web parezca ms intuitiva.
de diseo, creacin de Las etiquetas relacionadas con la estructura incluyen elementos para secciones de pgina,
secciones y creacin de encabezados, pies de pgina, navegacin e incluso barras laterales. Si crea formularios
formularios se describe web, las nuevas caractersticas de formularios facilitan mucho la creacin y validacin.
en la leccin 3. Con todo, esta seccin se centra en el marcado HTML5 para texto.
Veamos algunos de los elementos de texto de HTML4 que tienen diferente significado
ofuncionalidad en HTML5:
<b>: este elemento, de uso frecuente, siempre ha representado la negrita y a menudo
se utilizaba para dar nfasis o transmitir importancia. El W3C sugiere que ahora
seuse para indicar texto con un estilo destacado, sin transmitir importancia.
Use<b> para palabras clave, nombres de producto y elementos que permitan realizar
una accin, por ejemplo elementos en los que se hace clic o se presionan en una lista
deinstrucciones. Por ejemplo:
<p>Haga clic en el botn <b>Comprobar</b> y, a continuacin, en
<b>Aceptar.</b> </p>
<i>: el elemento de cursiva se utiliza ahora para el texto con una voz o un tono
alternativo. Podra ser texto hablado, pensamientos o algo similar que no transmite
importancia o nfasis. Tambin puede incluir trminos tcnicos y palabras extranjeras
transcritas. Por ejemplo:
<p><i>Tiene un buen corazn,</i> pens.
<strong>: el elemento strong se usa para dar importancia, cuando un contenido es ms
importante que las palabras adyacentes. Por ejemplo:
<p>Courtney llev la <strong>misma</strong> ropa al trabajo tres das seguidos.</p>
<em>: el elemento nfasis indica un nfasis destacado. Por ejemplo:
<p>Debe validar el marcado HTML <em>siempre</em>
antes de compartirlo con otros.</p>
<small>: el elemento small debe usarse para la letra pequea o comentarios al margen.
Resulta til para lneas de copyright o para agregar a una imagen una lnea con su
procedencia. Por ejemplo:
<p><small>Copyright 2012 XYZ
Corporation</small></p>
Las funciones previstas para algunos de estos elementos en HTML5 pueden ser confusas,
como saber cundo se debe usar el elemento cursiva. El mejor enfoque es esforzarse por
lograr consistencia dentro de una pgina o sitio web y observar cmo otros desarrolladores
usan los mismos elementos.
Figura 2-7
Uso de las etiquetas
<strong> y <small>
Entre los nuevos elementos relacionados con texto en HTML5 estn <command>,
<mark> y <time>. El elemento <command> crea un botn de comando. Cuando el
usuario hace clic en un botn de comando, se ejecuta un comando. El elemento
<mark> resalta texto en una pgina, de forma similar a la caracterstica de resaltar
en Microsoft Word. El elemento <time> muestra la fecha y hora legible en formato
legible para mquinas, por ejemplo 10:10, 19 de julio de 2012. Es muy til para
blogs y calendarios, y podra contribuir a que los motores de bsqueda ofrezcan
mejores resultados cuando la fecha y hora forman parte de los criterios de bsqueda.
LISTO PARA CERTIFICACIN Veamos algunos de los nuevos elementos de texto en HTML5, junto con ejemplos:
Qu elementos HTML
relacionados con texto <command>: el elemento de comando se utiliza para definir un botn de comando en
sonnuevos en HTML5? el que los usuarios hacen clic para invocar un comando. Con el elemento de comando
2.1 se pueden usar muchos atributos: tipo, etiqueta, ttulo, icono, deshabilitado, activado
ygrupo de opcin. Por ejemplo:
<menu label="Gnero musical">
<command type="radio" radiogroup="musicgenre"
label="Cartula">
<command type="radio" radiogroup="musicgenre" label="Popular">
<command type="radio" radiogroup="musicgenre" label="Tradicional">
</menu>
<mark>: el elemento de marca es muy til para resaltar texto en una pgina. Se puede
usar en una pgina de resultados de bsqueda, por ejemplo, o para destacar un bloque
de texto en el que se desea que se fije el lector. Por ejemplo:
<p>Desde que empec a correr hace unos meses, he <mark style="background-
color:yellow;">adelgazado 15 kilos</mark>.</p>
<time>: el elemento de tiempo indica contenido que es una hora o fecha, que se puede
hacer legible por mquinas con el atributo datetime. El elemento de tiempo define la
hora con un reloj de 24 horas y la fecha en el calendario gregoriano. Una ventaja de
hacer que la fecha y la hora sean legibles por mquinas en una pgina web es que se
contribuye a que los motores de bsqueda produzcan mejores resultados de bsqueda.
32 | Leccin 2
Por ejemplo:
<time datetime="2013"> significa el ao 2013
<time datetime="2013-04"> significa abril de 2013
<time datetime="04-15"> significa el 15 de abril (cualquier ao)
Otros dos nuevos elementos son medidor y progreso. El elemento de medidor indica
contenido que es una fraccin de un intervalo conocido, por ejemplo el uso del disco.
Elelemento de progreso indica el progreso de una tarea hacia la finalizacin.
Figura 2-8
El elemento mark resalta
partes del texto
Al mismo tiempo que hay nuevos elementos disponibles, el W3C seala otros
elementos que dejarn de usarse porque su funcionalidad ya no es til. La eliminacin
de elementos de la lista de elementos HTML disponibles se conoce como degradacin.
Lo mismo puede decirse de los atributos.
X REF
La degradacin puede deberse a que un nuevo elemento reemplaza la funcionalidad de
En la leccin 4 se un elemento anterior, o la preferencia de un nuevo mtodo de formato sobre un elemento
explican los aspectos anterior. Un ejemplo de esto ltimo es el formato con hojas de estilo en cascada. Si se
esenciales de CSS, y utiliza CSS para cambiar la apariencia del texto, las imgenes y otro contenido web se
la diferenciacin de diferencia el estilo del contenido. El W3C lleva tiempo indicando a los desarrolladores
presentacin (estilo) que utilicen CSS para controlar el formato de las pginas web en lugar de usar formato
ycontenido. local. No hay duda de que es el mtodo que se debe usar en HTML5.
Compilar la interfaz de usuario mediante HTML5: texto, grficos y multimedia | 33
La razn es que resulta muy fcil cambiar en CSS estilos que se aplican a toda una pgina
web o incluso todo un sitio web. El uso de estilos individuales incluso en una sola pgina
web puede dar mucho trabajo cuando es necesario realizar cambios.
Los siguientes elementos HTML se consideran degradados y no se admiten en pginas HTML5:
<acronym>: define acrnimos en HTML4 que se pueden pronunciar como si fueran
una sola palabra, por ejemplo GUI para interfaz grfica de usuario. Utilice la etiqueta
<abbr> en su lugar.
<applet>: define un applet incrustado. Utilice la etiqueta <object> en su lugar.
<basefont>: define un color de fuente, un tamao de fuente o una familia de fuentes
predeterminados para todo el texto de un documento. Utilice CSS para aplicar todas
las fuentes.
<big>: hace que el texto ms grande que el tamao de fuente actual. Utilice CSS en su lugar.
<center>: alinea el texto y el contenido en el centro. Utilice CSS en su lugar.
<dir>: define una lista de directorio. Utilice la etiqueta <ul> en su lugar.
<font>: especifica el tipo, tamao y color de la fuente del texto. Utilice CSS en su lugar.
<frame>: define un marco concreto (una ventana) dentro de un conjunto de marcos
(vase el siguiente punto).
<frameset>: define un conjunto de marcos para organizar varios marcos (ventanas).
<noframes>: muestra texto en el caso de exploradores que no admiten marcos.
<strike>: define texto tachado. Utilice la etiqueta <del> en su lugar para pequeas
cantidades de texto, o utilice CSS para grandes bloques de texto.
<tt>: define texto de teletipo o monoespaciado. Utilice la etiqueta <code> o CSS en su lugar.
El hecho de que un elemento no sea compatible no significa que no vaya a funcionar
en determinados exploradores. Muchos usuarios siguen utilizando versiones antiguas de
exploradores y hay elementos degradados que se representan bien en ellos. Sin embargo,
un procedimiento recomendado es crear pginas asumiendo que los visitantes de la pgina
web utilizan un explorador actualizado o bastante reciente, lo que conlleva usar los ltimos
elementos HTML. Si sabe que todos los visitantes de su pgina web utilizan una versin
antigua de explorador, puede usar elementos degradados. A pesar de todo, si va a aplicar
gran cantidad de formato a una pgina web, los mejor es usar CSS.
Los siguientes atributos no se utilizan en HTML5, si bien estos atributos no forman parte
de ninguna especificacin de HTML:
bgcolor: aplica un color de fondo especificado a cualquier contenido descrito por su
elemento asociado, que suele ser una tabla o una pgina. Utilice la propiedad CSS
background-color en su lugar.
bordercolor: aplica un color especificado a las esquinas superiores e izquierdas
deunacelda de una tabla. Utilice la propiedad CSS border-color en su lugar.
bordercolorlight: aplica un color especificado a las esquinas superiores e izquierdas
deuna celda de una tabla. Utilice la propiedad CSS border-color en su lugar.
bordercolordark: aplica un color especificado a las esquinas inferiores y derechas
deuna celda de una tabla. Utilice la propiedad CSS border-color en su lugar.
Lo mismo que sucede con los elementos degradados, puede usar estos atributos si sabe
que los visitantes de su pgina web utilizan exploradores antiguos. Tenga en cuenta que
sitrata de validar la pgina web obtendr errores, que puede pasar por alto si est seguro
de que los exploradores de sus usuarios admiten los atributos.
MS INFORMACIN
Para obtener informacin sobre nuevas caractersticas de HTML5, consulte la pgina web con
informacin resumida sobre HTML5 en http://msdn.microsoft.com/en-us/hh549253 y la pgina
sobre elementos HTML del W3C en http://dev.w3.org/html5/markup/elements.html#elements.
34 | Leccin 2
Figura 2-9
Efectos de los elementos
center y big
Utilice el elemento img para mostrar imgenes vinculadas en una pgina web.
Lasimgenes pueden ubicarse con los archivos HTML de pginas web, generalmente
en una subcarpeta de imgenes, o en otro servidor o sitio web. Los elementos de figura
y leyenda de figura son nuevos en HTML5. Proporcionan ms control sobre el tipo
CONCLUSIN de imagen que se muestra y la posibilidad de agregar leyendas. El elemento canvas
se usa para dibujar, representar y manipular imgenes y grficos de manera dinmica
en HTML5. Scalable Vector Graphics (SVG) permite crear objetos escalables cuyo
tamao se puede cambiar para ajustarse de la mejor manera posible a la pantalla
dondese ven, ya sea en una pantalla de PC o de smartphone.
Compilar la interfaz de usuario mediante HTML5: texto, grficos y multimedia | 35
Se pueden mostrar diferentes tipos de imgenes en una pgina web, la mayora de los
cuales pertenecen a dos categoras principales. Una imagen de trama est formada por
pxeles, mientras que una imagen vectorizada est formada por lneas y curvas basadas en
expresiones matemticas. Una fotografa es un tipo de imagen de trama, frecuentemente en
formato JPG. Otros formatos de archivos de trama que funcionan bien en las pginas web
son PNG, GIF y BMP. Una imagen vectorizada es una ilustracin, como un dibujo lineal.
Los desarrolladores a menudo convierten formatos de archivos vectorizados de programas
como Adobe Illustrator o CorelDRAW, que no son compatibles con los exploradores
web, a PNG o GIF para visualizacin web. Una diferencia importante entre los dos tipos
LISTO PARA CERTIFICACIN de archivos es que las imgenes de trama pierden calidad (se ven pixeladas) cuando se
Qu marcado se usa amplan, pero la imgenes vectorizadas mantienen su calidad incluso cuando se amplan.
para mostrar una imagen El mtodo ms usado para agregar imgenes a un documento HTML es usar el elemento
externa en una pgina web? img. Al igual que la etiqueta de anclaje, la etiqueta img no tiene ningn efecto por s misma, y
2.2 requiere atributos y valores que especifiquen la imagen que debe mostrarse en el explorador.
Por ejemplo, para insertar una imagen llamada redball.jpg que se encuentra en una
subcarpeta denominada images, escriba este elemento:
<img src="images/redball.jpg" alt="Grfico de bola roja" />
La imagen se mostrar siempre y cuando la subcarpeta de imgenes sea accesible. Los
atributos src y alt son necesarios para que el cdigo sea totalmente vlido. El valor del
atributo alt (abreviatura de texto alternativo) aparece cuando un usuario pasa el puntero
del mouse sobre la imagen; en este caso, se mostrara la frase Grfico de bola roja.
El W3C exige el atributo alt para la accesibilidad de personas con discapacidades.
Las personas con una disminucin visual pueden usar un lector de pantalla, que lee
en voz alta el texto alternativo de cada imagen. Los motores de bsqueda tambin
usan el atributo alt para identificar los tipos de imgenes y su contenido, ya que los
motores de bsqueda no pueden ver los pxeles de las imgenes.
Tambin como ejemplo, para insertar una imagen con el nombre bluelogo.png accesible
desde otro sitio web, escriba el elemento siguiente:
<img src="http://www.example.com/mrkt/images/bluelogo.png"
alt="Logo azul Company XYZ" />
El elemento img elemento utiliza varios atributos, que se describen en la tabla 2-3.
Tabla 2-3
Atributos del elemento img Atributo Valor Descripcin
src URL Especifica la ubicacin de la imagen, como una ruta o URL
alt text Especifica el texto alternativo para la imagen que se muestra
cuando el usuario pasa el puntero del mouse u otro dispositivo
sealador sobre la imagen
height pixels Especifica la altura de una imagen
width pixels Especifica la anchura de una imagen
ismap ismap Especifica una imagen como imagen interactiva del lado servidor
usemap #mapname Especifica una imagen como imagen interactiva del lado cliente
(una imagen con reas definidas que son vnculos en los que se
puede hacer clic)
Dos nuevos elementos relacionados con los grficos que se han introducido en
HTML5 son los elementos figure y figcaption. El elemento figure especifica el tipo
de figura que se desea usar en un documento HTML, como una ilustracin o una
fotografa. El elemento figcaption proporciona una leyenda para la figura.
36 | Leccin 2
El elemento figure especifica el tipo de figura que est agregando, como una imagen,
un diagrama, una foto, etc. Este elemento aporta una ventaja fundamental:la capacidad
de agregar varias imgenes adyacentes. Con HTML4, para hacer esto se requiere una
cantidad de marcado considerable. El elemento figcaption es opcional. Aade una leyenda
a una imagen de una pgina web, que se puede visualizar delante o detrs de la imagen.
El marcado siguiente utiliza el elemento figure, especifica la anchura y la altura de la
imagen y aade una leyenda. El resultado se muestra en la Figura 2-10:
<figure>
<img src="doghappy.jpg" alt="Perro feliz"
width ="100"height ="125" />
<figcaption>Los perros felices son buenos perros</figcaption>
</figure>
Figura 2-10
Uso de los elementos
figure y figcaption
para mostrar una imagen
conuna leyenda
El marcado siguiente es para una figura con varias imgenes que comparten una nica
leyenda. Sus resultados se muestran en la Figura 2-11:
<figure>
<img src="doghappy.jpg" alt="Perro feliz"
width ="100"height ="125" />
<img src="dogpaws.jpg" alt="Huellas de perro"
width="100" height="125" />
<img src="dogwalk.jpg" alt="Paseando al perro"
width="100" height="125" />
<figcaption>Los perros felices son buenos perros</figcaption>
</figure>
Figura 2-11
Uso de los elementos
figure y figcaption
para visualizar varias
imgenes adyacentes
conuna sola leyenda
Compilar la interfaz de usuario mediante HTML5: texto, grficos y multimedia | 37
MS INFORMACIN
Para obtener ms informacin sobre la visualizacin de imgenes en pginas web, vaya a
http://bit.ly/Kgg1ab. Encontrar ms informacin sobre mapas de imagen en http://bit.ly/hincW5.
Figura 2-12
La pgina web
con una imagen
3. Reemplace el marcado para la figura que hay despus del elemento h1 con el
siguiente, sustituyendo los nombres de los archivos de imagen (doghappy.jpg,
dogpaws.jpg y dogwalk.jpg) con los nombres de sus archivos de imagen:
<figure>
<img src="doghappy.jpg" alt="Perro feliz"
width ="100"height ="125" />
<img src="dogpaws.jpg" alt="Huellas de perro"
width="100" height="125" />
<img src="dogwalk.jpg" alt="Paseando al perro"
width="100" height="125" />
<figcaption>Los perros felices son buenos perros</figcaption>
</figure>
Figura 2-13
La pgina web con varias
imgenes y una leyenda
Con canvas, la pgina web se convierte en un bloc de dibujo. Puede usar comandos
JavaScript para dibujar formas basadas en pxeles sobre un lienzo que incluyan rellenos
de color, degradados y patrones. Canvas permite tambin representar el texto con diversos
adornos y animar objetos haciendo que se muevan, cambien de tamao, etc.
Compilar la interfaz de usuario mediante HTML5: texto, grficos y multimedia | 39
Los desarrolladores utilizan canvas para crear juegos en lnea, girar galeras de fotos,
contadores de existencias y muchas otras cosas. Las funciones de grficos y animacin
TOME NOTA
* del elemento canvas estn pensadas para proporcionar una calidad equivalente a la de las
pelculas flash.
El atributo onload hace que se ejecute la funcin JavaScript del script. Este script busca
primero el elemento con el id smlRectangle:
var canvas = document.getElementById("smlRectangle");
40 | Leccin 2
El mtodo context.fillStyle rellena el rectngulo con color azul utilizando los valores
X REF
RGB 0, 0, 255. El mtodo context.fillRect crea un rectngulo de 200 pxeles de anchura
El uso de JavaScript se x 100 pxeles de altura, colocado 10 pxeles hacia abajo y 20 pxeles desplazado de la
explica en las lecciones esquina superior izquierda del lienzo y lo rellena con el color especificado por fillStyle.
8, 9 y 10. 2. Guarde el archivo como L2-canvas.html y visualcelo en un explorador web. La forma
se debe ver como se muestra en la Figura 2-14.
Figura 2-14
La pgina web con
una forma de canvas
Figura 2-15
La pgina web con un
contorno de forma de canvas
Figura 2-16
Se muestra texto si el
explorador no es compatible
con canvas
MS INFORMACIN
Para obtener ms informacin sobre el elemento canvas, visite la pgina web de grficos
HTML5 de Microsoft en http://bit.ly/M8ZNkf. En el sitio web HTMLCenter, en
http://www.htmlcenter.com/blog/rgb-color-chart/, se enumeran los cdigos de los colores RGB.
Scalable Vector Graphics (SVG) es un lenguaje que se utiliza para describir grficos
2D en Lenguaje de marcado extensible (XML). XML est relacionado HTML y ha
desempeado un papel importante en las pginas web HTML4.01. La tecnologa
SVG no es nueva, pero HTML5 ahora permite que los objetos SVG se incrusten en
pginas web sin usar las etiquetas <object> o <embed>. (Todos los tipos de grficos
SVG se denominan objetos y SVG los carga en el DOM.)
El objetivo principal de SVG, como indica su nombre, es crear formas grficas vectoriales
LISTO PARA CERTIFICACIN
Qu tipo de objetos
escalables, pero tambin se pueden crear imgenes y texto. De forma parecida al elemento
puede crear con SVG? canvas, puede aplicar rellenos de colores slidos, degradados y patrones a los objetos
2.2 SVG, y copiar y clonar los objetos. Tambin puede usar SVG en cualquier lugar en el
queinsertara un PNG, JPG o GIF. Con SVG, proporciona instrucciones de dibujo en
lugar de un archivo de imagen.
Una de las principales ventajas de SVG es su flexibilidad. Su grfico vectorial cambia
de tamao para ajustarse a la pantalla en la que se muestra, ya sea en un monitor de 32
pulgadas o un dispositivo mvil como un smartphone. Puesto que solo se transmite el
cdigo XML que describe el grfico SVG, incluso imgenes de gran tamao no requieren
mucho ancho de banda. En consecuencia, SVG resulta prctico para su uso en fondos
de pginas web sin tener que usar la propiedad de repeticin. La mayora de los fondos
slidos de pgina web son en realidad una lnea fina que se repite usando un estilo CSS.
Por otra parte, los motores de bsqueda pueden indizar SVG porque se crea con XML.
Compilar la interfaz de usuario mediante HTML5: texto, grficos y multimedia | 43
Se pueden incluir atributos como color, rotacin, color y tamao del trazo, etc., para cada
objeto SVG. El marcado siguiente se puede incluir en un archivo HTML para crear una
bola morada:
<svg id="svgpurpball" height="200"
xmlns="http://www.w3.org/2000/svg">
<circle id="purpball" cx="40" cy="40"
r="40" fill="purple" />
</svg>
Los atributos cs, cy y r ayudan a crear el crculo definiendo los puntos x e y del centro, y el
radio. SVG tiene gran cantidad atributos, que ayudan a crear todo tipo de formas. Los atributos
estn disponibles en el sitio web de W3C, http://www.w3.org/TR/SVG/attindex.html.
MS INFORMACIN
Para obtener ms informacin sobre SVG, visite la pgina web de SVG de Microsoft en
http://msdn.microsoft.com/en-us/library/gg589525(v=vs.85).aspx.
3. Cambiar algunos de los valores de los parmetros de punta del polgono. Guarde el
archivo como L2-test.html y visualcelo en un explorador web. Por ejemplo, si cambia
el valor del primer parmetro de 100 a 50, se obtiene el polgono de la Figura 2-18.
Figura 2-18
Aunque solo se cambie
el valor de parmetro,
cambia la forma del objeto
LISTO PARA CERTIFICACIN No hay reglas fijas para decidir si usar canvas o SVG. La eleccin depende
Cundo debe usar el principalmente de su nivel de habilidad con uno u otro y de la naturaleza de
elemento canvas en lugar cadaproyecto.
de SVG?
2.2
A continuacin se mencionan algunos aspectos que debe tener en cuenta para tomar
ladecisin correcta:
Si el dibujo es relativamente pequeo, use canvas.
Si el dibujo requiere un gran nmero de objetos, utilice canvas. SVG se degrada
cuantos ms objetos se agregan al DOM.
Por lo general, use canvas para pantallas pequeas, por ejemplo las de dispositivos
mviles. A medida que aumenta el tamao de la pantalla y se necesitan ms pxeles,
canvas empieza a producir imgenes pixeladas, por lo que debera usar SVG.
Si debe crear documentos vectorizados altamente detallados que deben escalarse
bien,utilice SVG.
Si va a visualizar la salida de datos en tiempo real, por ejemplo mapas,
superposiciones de mapa, datos meteorolgicos, etc., utilice canvas.
Comentario de Microsoft: canvas se parece a Microsoft Paint. Puede dibujar imgenes
usando formas y otras herramientas, y el resultado se basa en pxeles. SVG se parece
auna diapositiva de PowerPoint Office, en la que se utilizan objetos escalables.
MS INFORMACIN
Para obtener ms informacin sobre cmo elegir el mejor mtodo de dibujo, canvas o SVG,
vaya ahttp://msdn.microsoft.com/en-us/library/ie/gg193983(v=vs.85).aspx.
Compilar la interfaz de usuario mediante HTML5: texto, grficos y multimedia | 45
HTML5 introduce los elementos audio y vdeo, con lo que ya no es necesario usar
CONCLUSIN complementos ni reproductores multimedia para escuchar msica o ver vdeos en
unexplorador web.
Los elementos audio y vdeo son dos de los principales cambios en HTML5. Le permiten
LISTO PARA CERTIFICACIN proporcionar contenido multimedia desde un explorador web sin tener que usar complementos,
Qu etiquetas HTML5 por ejemplo los de Microsoft Windows Media Player, Microsoft Silverlight, Adobe Flash o
permiten incluir QuickTime de Apple. Eso significa que los usuarios no tienen ms que abrir un explorador
multimedia en una pgina compatible con HTML5 para escuchar msica o libros de audio, disfrutar de efectos
web? desonido y ver clips de vdeo o pelculas.
2.3 La especificacin de HTML5 incluye las etiquetas <video> y <audio> para incorporar
multimedia. En las siguientes secciones se describen pormenorizadamente.
El elemento vdeo se utiliza junto con el atributo src para designar a un archivo de
vdeo que se va a reproducir en un documento HTML5. El uso de los atributos height
y width le permite controlar el tamao de la ventana en la que se reproduce el vdeo.
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Prueba vdeo</title>
</head>
<body>
<video
width="400" height="300"
poster="sample.jpg"
autoplay="autoplay"
controls="controls">
<source src="sample.mp4" type="video/mp4" />
</video>
</body>
</html>
El elemento de audio HTML5 funciona como el elemento vdeo, pero solo para
sonido. Para usar el elemento de audio, incluya la etiqueta <audio> y una ruta al
archivo en el disco duro, o un localizador uniforme de recursos (URL) que seale al
archivo de audio.
El elemento audio le permite incluir audio, como msica y otros sonidos, en documentos
HTML. Puede incluir los mismos atributos relacionados con el control que para el
LISTO PARA CERTIFICACIN elemento de vdeo: autoplay, controls y loop. En el ejemplo siguiente se ha incluido solo el
Cul es el marcado para atributo controls:
usar el elemento HTML5
<audio src="sample.mp3" controls="controls">
audio?
2.3 </audio>
Los tres tipos principales de archivos de audio admitidos por los exploradores ms
conocidos son OGG, MP3 y WAV. Sin embargo, no todos los exploradores admiten todos
los formatos de archivo de audio, por lo menos en la actualidad. En la mayora de los
casos, MP3 es la mejor opcin para obtener compatibilidad con varios exploradores.
Para garantizar que su audio se reproduce en la mayora de los exploradores y dispositivos,
utilice el atributo source para incluir varios formatos en el marcado. En este ejemplo se
muestra el mismo archivo de audio disponible en dos formatos:
<audio controls="controls">
<source src="sample.ogg" type="audio/ogg" />
<source src="sample.mp3" type="audio/mp3" />
</audio>
Puede encontrar muchos archivos de audio gratuitos, no sujetos a derechos de autor
y copyright, en http://flashkit.com. Es un buen recurso para estudiantes y para
desarrolladores que necesiten un efecto de sonido para un proyecto. Otra fuente es el
sitio web Public Domain Sherpa, en http://www.publicdomainsherpa.com/public-domain-
recordings.html. Tambin puede hacer sus propias grabaciones mediante su equipo y
software de grabacin. Windows 7 cuenta con la Grabadora de sonidos, que permite
guardar archivos de audio en formato WAV.
Figura 2-19
Controles de audio HTML5
predeterminados en un
explorador web
Compilar la interfaz de usuario mediante HTML5: texto, grficos y multimedia | 49
4. Si no aparecen los controles de audio, vaya a la pgina web del servicio de validacin
de marcado de W3C en http://validator.w3.org. Cargue L2-audio.html y haga clic en
Check (Comprobar) para que el servicio lo compruebe. Corrija los errores que detecte el
servicio de validacin, por ejemplo etiquetas que faltan o errores ortogrficos, si los hay.
5. Vuelva a guardar el archivo y bralo en un explorador web. Reproduzca el clip de
audio.
6. Cierre los archivos abiertos, y cierre tambin la herramienta de edicin y el explorador
web.
MS INFORMACIN
Para obtener ms informacin sobre la inclusin de multimedia en pginas web
HTML5, y concretamente sobre los elementos de audio y vdeo, vaya a
http://msdn.microsoft.com/en-us/library/ie/hh771805(v=vs.85).aspx.
RESUMEN DE CONOCIMIENTOS
Evaluacin de conocimientos
Rellene los espacios en blanco
Complete las oraciones siguientes escribiendo la palabra o palabras correctas en los
espacios en blanco proporcionados.
1. Una etiqueta HTML que no requiere una etiqueta final se denomina etiqueta
.
2. Un funciona con un elemento para describir datos en suficiente
detalle para su representacin.
50 | Leccin 2
Varias opciones
Rodee con un crculo la letra correspondiente a la mejor respuesta.
1. Cules de las siguientes etiquetas son necesarias en todas las pginas web?
(Seleccione todas las que correspondan).
a. <html>
b. <head>
c. <title>
d. <body>
2. Cul de las siguientes opciones es la sintaxis para crear un hipervnculo en HTML?
a. <link href="http://www.example.com">link</a>
b. <a href="http://www.example.com"> texto del vnculo</a>
c. <link>http://www.example.com</link >
d. <http://www.example.com>
3. Qu elemento HTML5 define un botn de comando en el que los usuarios hacen
clic para llamar un comando?
a. <objectbut>
b. <combutton>
c. <command>
d. <cbutton>
4. Qu elemento HTML5 le permite resaltar bloques de texto en un documento HTML?
a. <mark>
b. <highlight>
c. <emphasis>
d. <yellow>
5. Cules de las siguientes etiquetas se degradan en HTML5? (Seleccione todas las
respuestas que correspondan).
a. <big>
b. <center>
c. <font>
d. <time>
Compilar la interfaz de usuario mediante HTML5: texto, grficos y multimedia | 51
Verdadero/Falso
Haga un crculo alrededor de la V si el enunciado es verdadero o alrededor de la F si el
enunciado es falso.
VF1.
El elemento canvas requiere JavaScript para crear formas.
VF2.La creacin de un objeto SVG en HTML5 no requiere JavaScript.
VF3. El elemento de audio puede proporcionar controles de reproduccin con un
atributo nico.
VF4. Los elementos degradados no pueden representarse en un explorador
compatible con HTML5.
VF5. El formato ms popular para archivos de audio es MP4.
Evaluacin de competencias
Escenario 2-1: Corregir errores de marcado sencillos
Geraldine, la asistente del dueo de la empresa, est aprendiendo HTML. Su marcado
(como se muestra a continuacin) no representa lo que ella esperaba. La negrita no se
detiene despus de jueves. La imagen del logotipo de la empresa no aparece, an
cuando est guardada en su subcarpeta de imgenes con todas las dems imgenes.
Eltexto alternativo no se muestra tampoco cuando desplaza el puntero del mouse
sobreelmarcador de posicin de la imagen. Qu le dice?
52 | Leccin 2
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Interno</title>
</head>
<body>
<h1>Reunin del personal</h1>
<img src="cologo.jpg" olt="Logotipo de la empresa" />
<p>Vaya a la <strong>Sala de juntas azul</strong> a las <strong>10:00</strong> el
<strong>jueves<strong> para asistir a una reunin de urgencia del personal.</p>
</body>
</html>
Evaluacin de aptitudes
Escenario 2-3: Canvas o SVG?
M.A. es una artista grfica en ClickTick Watches, un fabricante exclusivo de relojes
depulsera. Se le pidi que actualizara el logotipo de la empresa y lo creara usando
unaherramienta que escale bien si la imagen se ve en equipos porttiles o smartphones.
Tambin le pidieron que creara grficos interactivos para que el personal de ventas los
use en sus dispositivos de pizarra o tableta. Desea mantener sus habilidades actualizadas
aprendiendo todo lo que sea posible sobre las tecnologas HTML5, pero no sabe dnde
centrarse, si en canvas o SVG, para estos proyectos. Qu sugiere?
TRMINOS CLAVE
elemento Article elemento Nav
elemento Aside lista ordenada
atributo Autofocus atributo de patrn
validacin automtica texto de marcador de posicin
validacin del lado cliente atributo necesario
elemento DataList elemento section
atributo de correo electrnico marcado semntico
elemento footer validacin del lado servidor
entrada de formularios tabla
atributo global lista sin ordenar
elemento header validacin
elemento de men formulario web
Una de sus nuevas tareas como contratado en prcticas en Malted Milk Media es
crear un formulario web que limite lo que un usuario puede escribir en los campos
del formulario y valide la entrada. Con objeto de prepararse para crear el formulario
web, primero debe aprender a organizar o estructurar el marcado utilizando los
nuevos elementos HTML5.
53
54 | Leccin 3
HTML5 introduce varios elementos nuevos para organizar el contenido y los formularios.
CONCLUSIN Representan el nuevo marcado semntico que es una parte importante de HTML5.
class e id son atributos globales, lo que significa que se pueden usar con cualquier
elemento HTML. Puede ver la lista completa de atributos HTML globales en
TOME NOTA
* http://dev.w3.org/html5/markup/global-attributes.html.
El elemento div solo no tiene mucho sentido sin el atributo id o class. Se puede hasta
asignar un valor al atributo ID, por ejemplo header, header_inner, slogan, content,
style y muchos otros. A continuacin se muestra un ejemplo de documento HTML 4.01:
<div id="header">
<div id="header_inner">
<img src="images/doghappy.jpg"
alt="Attaboy Pet Services" />
<div id="slogan">Los perros felices son buenos perros</div>
</div>
</div>
HTML5 utiliza etiquetas ms sencillas para reemplazar muchas de las etiquetas div, algunas
de las cuales se muestran en la Figura 3-1.
Compilar la interfaz de usuario mediante HTML5: organizacin, entrada y validacin | 55
Figura 3-1
Comparacin entre partes de
un documento con marcado
HTML 4.01 y HTML5
Tabla 3-1
Nuevas etiquetas de Etiqueta Descripcin
marcado HTML5 para
organizar el contenido <address> Define un rea para la informacin de contacto de una pgina o seccin.
ycrear la estructura Define un artculo, por ejemplo de una revista o un peridico, entrada
<article>
deblog o contenido similar.
Define contenido independiente del contenido de la pgina, pero
<aside>
relacionado con l; se parece a una barra lateral en captulos de libros
yartculos de revistas.
Contiene informacin adicional sobre texto que la rodea. Crea un widget
<details>
interactivo que el usuario puede mostrar u ocultar
Define un pie de pgina para un documento o una seccin. Puede
<footer>
incluir el autor del documento, informacin de contacto, informacin
decopyright y vnculos a las condiciones de uso.
Define un encabezado para un documento o una seccin. Puede contener
<header>
contenido introductorio o vnculos de navegacin.
Agrupa los encabezados y subencabezados (mediante las etiquetas <h1>
<hgroup>
a <h6>) si hay encabezados de varios niveles.
<nav> Define un bloque de vnculos de navegacin.
Define una seccin de un documento, por ejemplo captulos, partes
<section>
deuna tesis o partes de una pgina web, cuyo contenido es distinto
aldelasdems secciones.
Define un encabezado visible para un elemento de detalles. El usuario
<summary>
puede hacer clic en l para mostrar u ocultar informacin.
<wbr> efine un salto de lnea posible. Cuando una palabra es muy larga,
D
oexiste la posibilidad de que el explorador cree un salto lnea en el
lugar equivocado, puede usar el elemento <wbr> para partir la lnea
opalabra correctamente.
56 | Leccin 3
<article>
<header>
<h1>Conocer HTML5</h1>
<h2>Elementos nuevos</h2>
</header>
<p>Las nuevas etiquetas HTML5 facilitan mucho el desarrollo
de aplicaciones y pginas web.</p>
<footer>
<p>Fecha de publicacin: <time datetime="2012-09-
03"3 de septiembre de 2012</time></p>
</footer>
</article>
Igual que con el elemento div, puede usar los elementos de encabezado y pie de pgina
varias veces en un documento HTML, como se muestra en la Figura 3-2.
Figura 3-2
Varias instancias del
elemento de encabezado
Compilar la interfaz de usuario mediante HTML5: organizacin, entrada y validacin | 57
ELEMENTO DE SECCIN
El elemento section define una seccin en un documento, como un captulo, partes
deuna tesis o bien partes de una pgina web cuyo contenido es distinto entre s. El
WC3 especifica usos para el elemento de seccin para diferenciarlo de otros elementos
relacionados con la estructura, principalmente que contiene al menos un ttulo y que
define algo que aparecera en el esquema del documento. Por ejemplo, debe usar el
elemento section para dividir distintas partes de un sitio web de una sola pgina o para
crear una cartera de imgenes. En el ejemplo siguiente se muestra una seccin sencilla:
<section>
<h1>Total de ocho</h1>
LISTO PARA CERTIFICACIN <p>Los instructores de hip-hop suelen ensear movimientos
Cundo debo usar que son grupos de ocho partes.</p>
laetiqueta <section> </section>
en lugar de otro tipo
deelemento? En la tabla 3-2 se muestran situaciones en las que no debe usar el elemento section
2.4 yofrece una tcnica mejor.
Tabla 3-2
Situaciones en las que no Situacin Utilice
debe usar el elemento section
Separacin de contenido que es independiente del resto article
del contenido de la pgina web o el documento
Intencin de sindicar un bloque de contenido article
TOME NOTA
* Creacin de una barra lateral aside
Las nuevas etiquetas Ajuste y ubicacin de varias secciones que no estn div
HTML5 relacionadas relacionadas entre s
con la estructura
no reemplazan a Adicin de una sombra paralela o un borde a un elemento div
la etiqueta <div>
totalmente, pero reducen
considerablemente el
Cundo usar la etiqueta <section> y cundo usar otro elemento no es siempre fcil de decidir.
nmero de etiquetas
<div> necesarias en
Si est trabajando en un documento HTML y no est seguro de qu elemento usar, estudie
un documento HTML. la especificacin HTML5 del W3C o busque en la Web para ver qu han hecho otros
desarrolladores en una situacin similar.
Al definir un encabezado de seccin, que puede contener los encabezados h1 a h6, puede
usar el elemento hgroup para agrupar los encabezados. El elemento hgroup afecta a la
organizacin, pero no a la presentacin. Considere la posibilidad de usar hgroup cuando
tenga un encabezado y un subencabezado uno tras otro, como se muestra a continuacin.
<section>
<hgroup>
<h1>Rutinas de hip-hop</h1>
<h3>Mtodo de total de ocho</h3>
</hgroup>
<article>
<p>Los instructores de hip-hop suelen ensear movimientos
que son grupos de ocho partes.</p>
</article>
</section>
En una pgina web, este marcado tendra el aspecto que se muestra en la Figura 3-3.
58 | Leccin 3
Figura 3-3
Uso de hgroup para
agrupar encabezados
en un documento HTML
En una pgina web, este marcado tendra el aspecto que se muestra en la Figura 3-4.
Figura 3-4
Documento HTML con
encabezado, pie de pgina
y secciones
ELEMENTO NAV
El elemento nav define un bloque de vnculos de exploracin. El elemento nav es til
para crear un conjunto de vnculos de navegacin para la navegacin principal de su
documento, una tabla de contenido, rutas de navegacin en un pie de pgina o vnculos
Anterior-Inicio-Siguiente.
El W3C indica que no es necesario usar etiquetas <nav> para todos los vnculos de
navegacin, solo para los bloques de vnculos ms importantes. Puesto que las etiquetas
<nav> son interpretadas por parte de software de lectura de pantalla para usuarios con
discapacidad visual, el software puede determinar si los vnculos de navegacin deben
estar disponibles para disponibles inmediatamente o no, dependiendo de su importancia.
En el siguiente ejemplo se muestra el uso de la etiqueta <nav>:
<nav>
<a href="/hiphop/">Hip-hop</a>
<a href="/modern/">Moderno</a>
<a href="/swing/">Swing</a>
<a href="/tap/">Claqu</a>
</nav>
Figura 3-5
Vnculos sencillos creados
mediante el elemento nav
60 | Leccin 3
Los vnculos apareceran en una pgina web como se muestra en la Figura 3-5.
El siguiente es un ejemplo de marcado para vnculos Anterior-Inicio-Siguiente, con barras
verticales despus de cada elemento de navegacin para separarlo visualmente de los dems:
<nav>
<a href="http://www.example.com/Services">Anterior</a> |
<a href="http://www.example.com">Inicio</a> |
<a href="http://www.example.com/About">Siguiente</a>
</nav>
<br />
Los vnculos apareceran en una pgina web como se muestra en la Figura 3-6.
La navegacin aparece a menudo en una lista vertical, que aprender a crear ms adelante
en esta leccin.
Figura 3-6
Navegacin Anterior-
Inicio-Siguiente con barras
verticales entre los vnculos
<header>
<h1>Seleccionar un estilo de concierto</h1>
<nav>
<a href="#symphonies">Sinfonas</a> |
<a href="#raves">Raves</a>
</nav>
</header>
<h1><a id="symphonies">Sinfonas</a></h1>
<h1><a id="raves">Raves</a></h1>
Compilar la interfaz de usuario mediante HTML5: organizacin, entrada y validacin | 61
Figura 3-7
Pgina a la que se han
agregado vnculos de
navegacin
ELEMENTO DE ARTCULO
El elemento article define una parte de un documento HTML que consta de una
composicin autocontenida, independiente del resto del contenido del documento.
Elcontenido marcado con etiquetas <article> se puede distribuir en redifusin, de manera
que piense en l como contenido que tiene sentido propio. Redifusin web es el proceso
de hacer que el contenido de un sitio web est disponible para muchos sitios web...
El W3C aconseja usar el elemento de artculo en lugar del elemento de seccin para
TOME NOTA
* cualquier contenido que se pueda sindicar.
Ejemplos de contenido adecuado para el etiquetado con <article> son un artculo de revista,
una entrada de blog o el contenido de una fuente RSS. Tambin puede usar el elemento
article para contenido de acerca de y de contacto, que es independiente del resto de la
pgina en la que se muestra, pero que no necesariamente se va a hacer disponible por
redifusin.
ELEMENTO ASIDE
El elemento aside se usa para destacar contenido que est relacionado con el tema actual,
pero que interrumpira el flujo del documento si quedara alineado. Esencialmente, el
elemento aside se utiliza para informacin adecuada para barras laterales y notas. Este
contenido podra dar ms detalles sobre un tema, ofrecer vnculos a lecturas relacionadas
o mostrar definiciones de las palabras clave del prrafo. El elemento aside no cambia
la posicin del contenido ni como se muestra el contenido; simplemente permite que el
explorador y los motores de bsqueda sepan que se trata de contenido relacionado.
62 | Leccin 3
<article>
<header>
<h1>Comprender HTML5</h1>
<h2>Nuevos elementos</h2>
</header>
<p>Las nuevas etiquetas HTML5 hacen que el desarrollo de pginas web
y aplicaciones sea ms fcil que nunca. Una de las prcticas
caractersticas nuevas de HTML5 es el uso de
marcado semntico.</p>
<aside>
<h4><b>El marcado semntico</b></h4>
<p> da ms significado o una mejor definicin
a las etiquetas, de modo que quedan ms claras para los usuarios,
programas y exploradores web</p>
</aside>
<p>No se han reemplazado o actualizado todas las etiquetas HTML
para HTML5, pero algunas de las nuevas etiquetas introducidas en HTML5
hacen que el trabajo de creacin de pginas web sea mucho
ms fcil.</p>
<footer>
<p>Fecha de publicacin: <time datetime="2012-09-
03">3 de septiembre de 2012</time></p>
</footer>
</article>
En una pgina web, este marcado tendra el aspecto que se muestra en la Figura 3-8.
Figura 3-8
Ejemplo de un
elemento aside
En la Figura 3-8 puede ver que el contenido del elemento aside no se destaca del resto
del contenido. Se podra agregar la etiqueta <hr /> de regla horizontal antes y despus el
contenido aside, que aparecera en un explorador web como se muestra en la Figura 3-9.
Compilar la interfaz de usuario mediante HTML5: organizacin, entrada y validacin | 63
Figura 3-9
Uso de la etiqueta
<hr /> para agregar reglas
horizontales y destacar el
contenido del elemento
aside
Tambin se podra usar CSS para ajustar los mrgenes del contenido aside, de forma que
quedara sangrado a la izquierda y la derecha. En lecciones posteriores aprender tcnicas
de diseo CSS para mostrar contenido relacionado en un cuadro a lo largo del lado
izquierdo o derecho del texto del cuerpo correspondiente.
MS INFORMACIN
Para obtener informacin sobre nuevas caractersticas de HTML5, consulte la pgina web con
informacin resumida sobre HTML5 en http://msdn.microsoft.com/en-us/hh549253 y la pgina
sobre elementos HTML del W3C en http://dev.w3.org/html5/markup/elements.html#elements.
64 | Leccin 3
Figura 3-10
Documento HTML con
elementos article y aside
Las tablas y listas dan estructura a cierta informacin de los documentos HTML.
Una tabla tiene filas y columnas, y muestra los datos en una cuadrcula. En HTML,
puede crear listas ordenadas y sin ordenar. Cada elemento de una lista ordenada est
marcado con un nmero o una letra. Una lista sin ordenar es una lista con vietas.
En esta seccin se describe cmo crear tablas y listas utilizando elementos HTML.
HTML5 introduce algunos elementos nuevos para tablas y listas, pero la mayora de
etiquetas y conceptos son iguales que en las especificaciones anteriores. Si alguna vez
hacreado una tabla o lista HTML, esta seccin le resultar muy sencilla.
CREAR TABLAS
Una tabla HTML tiene filas y columnas, y se usa para organizar y mostrar informacin
enun formato de cuadrcula. Algunos desarrolladores usan tablas por motivos de diseo,
por ejemplo para colocar o alinear contenido con imgenes, pero ese no es el mejor uso
delas tablas.
Figura 3-11
Una tabla sencilla
Partiendo de una tabla sencilla, puede usar la etiqueta <caption> para agregar una leyenda
encima o debajo de la tabla. Para aplicar estilos alineados mediante HTML en lugar de CSS,
utilice la etiqueta <col> para aplicar estilos a toda una columna. Encontrar informacin
TOME NOTA
* sobre el formato alienado ms adelante. La etiqueta <colgroup> agrupa columnas dentro
Debe incluir los deuna tabla para que se pueda aplicar formato al grupo en vez de solo a una columna.
elementos thead y tfoot
antes del elemento tbody Al crear una tabla larga por la que hay que desplazarse en un explorador, utilice las
para que el explorador etiquetas <thead>, <tfoot> y <tbody>. El contenido del encabezado y el pie de pgina de
pueda representar el la tabla permanecer en la pgina, mientras que el contenido marcado con <tbody> se
encabezado y el pie de desplazar entre ellos.
la tabla antes de recibir
todas las filas de datos. La etiqueta <thead> crea encabezados de columna (en negrita de forma predeterminada),
yla etiqueta <tfoot> se utiliza para mostrar la ltima fila, por ejemplo una fila de totales.
La etiqueta <tbody> define todo el contenido entre el encabezado y el pie de pgina.
En el ejemplo siguiente se muestra el marcado de una tabla con tres columnas y cinco
filas. La primera fila es la de encabezados de columna y la ltima es la del pie de la tabla.
El marcado contiene tambin una leyenda por encima de la tabla. El marcado se muestra
en la Figura 3-12 representado en un explorador:
<table>
<caption>Ventas del empleado Id. 2387</caption>
<colgroup
span="2"
style="background-color:#EEE8AA;">
</colgroup>
66 | Leccin 3
Figura 3-12
Versin ms compleja
de una tabla sencilla
<colgroup
style="background-color:#00FA9A;">
</colgroup>
<thead>
<tr>
<th scope="col">Trimestre</th>
<th scope="col">Ventas totales</th>
<th scope="col">Objetivo conseguido?</th>
</tr>
</thead>
<tfoot>
<tr>
<th scope="col">Total</th>
<th scope="col">18.118 $</th>
</tr>
</tfoot>
<tbody>
<tr>
<td>T1</td>
<td>4.349 $</td>
<td>S</td>
</tr>
<tr>
<td>T2</td>
<td>2.984 $</td>
<td>No</td>
</tr>
<tr>
<td>T3</td>
<td>3.570 $</td>
<td>S</td>
</tr>
Compilar la interfaz de usuario mediante HTML5: organizacin, entrada y validacin | 67
<tr>
<td>T4</td>
<td>7.215 $</td>
<td>S</td>
</tr>
</tbody>
Observe en el ejemplo anterior el uso del color de fondo de las columnas agrupadas.
Setrata de un ejemplo de formato en lnea. El atributo style utiliza uno o varios
valoresypropiedades de CSS, separados por punto y coma. Para el color HTML,
puedeusar elnombre del color o el cdigo hexadecimal. El cdigo hexadecimal
#EEE8AA produceel color ocre plido. El cdigo hexadecimal #00FA9A produce
elcolorverdeprimavera. Encontrar una carta de colores estndar de HTML en
http://www.w3schools.com/html/html_colornames.asp.
Tambin podra centrar el contenido de una celda, columna o grupo de columnas
utilizando style="text-align:center". Para encadenar varios valor y propiedades en el
mismo atributo de estilo, use una sintaxis parecida a style="color:blue;text-align:center".
CSS y sus propiedades se describen en las lecciones 4, 5 y 6 de este libro.
En la tabla 3-3 se resumen los elementos habituales usados para crear tablas en HTML5.
Tabla 3-3
Elementos habituales Elemento Descripcin
en la creacin de tablas
col Define una columna en una tabla.
colgroup Define un grupo de columnas en una tabla.
caption Marca texto como leyenda de una tabla.
table Define una tabla.
Define un grupo de filas en una tabla para realizar
tbody
tareas de formato y de desplazamiento.
td Define una celda de una tabla.
Define un grupo de filas de pie en una tabla para
tfoot
realizar tareas de formato y de desplazamiento.
th Define una celda de encabezado de tabla.
Define un grupo de filas de encabezado en una tabla
thead
para realizar tareas de formato y de desplazamiento.
Define una fila de una tabla.
tr
Si ha creado tablas con HTML 4 o versiones anteriores, quizs conozca los elementos
cellpadding, cellspacing, frame, rules, summary y width. Se han degradado y no son
TOME NOTA
* compatibles con HTML5.
68 | Leccin 3
<!doctype html>
<table border="1">
<colgroup
span="2"
style="background-color:#F0E68C;">
</colgroup>
<thead>
Figura 3-13
Tabla de pelculas con ms
recaudacin acabada
Figura 3-14
Ejemplo de una
lista ordenada
Figura 3-15
Ejemplo de una
lista sin ordenar
Puede cambiar las vietas redondas de una lista desordenada simplemente aadiendo
un atributo para cambiar el aspecto de las vietas. Para usar vietas cuadradas, agregue
type="square" a la etiqueta <ul> y para usar crculos vacos, agregue type="circle". Tambin
puede agregar los atributos a elementos concretos de la lista (marcados con <li>), para que
se vean afectados puntos concretos. Por ejemplo, para que todas las vietas se muestren
como cuadrados con relleno:
<p>Sabores de cupcake:</p>
<ul type="square">
<li>Delicia de fresa</li>
<li>Tarta de queso con pepitas de chocolate</li>
<li>Crema italiana</li>
</ul>
Figura 3-16
Los elementos con vietas
tienen cuadros rellenos como
smbolos
Otro tipo de lista es la lista de definiciones. Muestra los elementos con sus definiciones
debajo del elemento de la lista y con sangra. La etiqueta <dl> define la lista, la etiqueta
<dt> marca cada trmino del elemento y la etiqueta <dd> marca cada definicin. El
siguiente es un ejemplo del marcado y en la Figura 3-17 se muestra la lista representada.
<dl>
<dt>Delicia de fresa</dt>
<dd>Crema de merengue de fresa con
pequeas fresas silvestres</dd>
<dt>Tarta de queso con pepitas de chocolate</dt>
<dd>Pepitas de chocolate mezcladas con cremosa
tarta de queso y un fondo de brownie de chocolate,
cubierto con glaseado de queso crema</dd>
<dt>Crema italiana</dt>
<dd>Torta de crema italiana coronado con glaseado de
queso crema y coco tostado</dd>
</dl>
Figura 3-17
Ejemplo de una lista
de definiciones
72 | Leccin 3
HTML5 tambin utiliza el elemento menu, que presenta una lista o men de comandos,
TOME NOTA
* normalmente con botones. W3C prefiere que se use el elemento menu solo para mens
El elemento de men se contextuales, listas de controles de formularios y comandos, barras de herramientas y
degrad en HTML 4.01
otros elementos similares. El elemento HTML5 menu no es compatible con muchos
pero se ha redefinido
exploradores en el momento de escribir este libro.
en HTML5.
<ol>
<li>Equipos de sobremesa</li>
<li>Porttiles</li>
<li>Tabletas</li>
<li>Smartphones</li>
</ol>
</body>
</html>
Muchas aplicaciones cliente utilizan algn tipo de formulario web para interactuar con
el usuario.
Los elementos de entrada HTML se usan para crear la interfaz de un formulario y asegurar
que la informacin de los usuarios se recopila siempre de la misma forma. La validacin
garantiza que la informacin especificada tiene el formato correcto y se puede usar antes
de enviar los datos al servidor. Por ejemplo, si se escribe 637 Park Street en un campo
de direccin web en el que se espera algo como http://www.example.com, se produce
un error de validacin y se solicita al usuario que corrija la entrada. Adems, la validacin
reduce la cantidad de correo no deseado y contenido malicioso que puede llegar al
servidor o al destinatario de los datos del formulario.
(contina)
74 | Leccin 3
Tabla 3-4
continuacin Atributo Valor Descripcin
method get Especifica el mtodo HTTP (transmisin) usado
post al enviar los datos del formulario. Utilice get
para recuperar datos y post para almacenar
o actualizar datos, o para enviar correo
electrnico.
name text Especifica el nombre de un formulario, que
se utiliza para hacer referencia a los datos
del formulario una vez que el formulario
se ha enviado.
novalidate** novalidate Atributo booleano que especifica que los
datos del formulario (entrada del usuario) no
deben validarse cuando se envan. En HTML5
tambin se pueden definir atributos booleanos
mencionando el atributo sin un signo de igual
osin un valor asignado.
target _blank Especifica dnde se debe mostrar la respuesta
_self recibida despus de enviar el formulario.
_parent
_blank carga la respuesta en una nueva ventana
_top
del explorador, que no tiene nombre.
_self carga la respuesta en la ventana actual.
Esel valor predeterminado, por lo que su uso
no es necesario.
_parent carga la respuesta en la ventana
LISTO PARA CERTIFICACIN principal (la ventana del explorador que
Qu atributos especficos abre laventana del formulario).
de HTML5 se usan para
restringir la entrada en _top carga la respuesta en la ventana completa
un formulario? del explorador.
2.5
**Nuevo en HTML5.
HTML5 introduce muchos atributos para el elemento de entrada. Los atributos del
elemento de entrada se enumeran en la tabla 3-5; los atributos nuevos en HTML5 se
indican con un asterisco doble.
Tabla 3-5
Atributos del elemento de Atributo Valor Descripcin
entrada usados en HTML5
accept audio/* Especifica los tipos de archivo que acepta
vdeo/* el servidor. Solo se usa para type="file".
image/*
MIME_type
alt text Especifica el texto alternativo para las
imgenes. Solo se usa para type="image".
Se suele usar cuando se crea un botn
para enviar personalizado desde el propio
archivo de imagen.
autocomplete** on Especifica si el rellenado automtico est
off activado o desactivado en un formulario o
un campo de entrada. Puede estar activado
(on) para campos de entrada concretos
y desactivado (off) para el formulario,
o viceversa.
(contina)
Compilar la interfaz de usuario mediante HTML5: organizacin, entrada y validacin | 75
Tabla 3-5
continuacin Atributo Valor Descripcin
autofocus** autofocus Atributo booleano que especifica que el
foco debe estar en un control concreto
en cuanto se carga la pgina.
checked checked Especifica que un elemento de entrada
debe estar ya seleccionado cuando
se cargue la pgina. Solo se usa para
type="checkbox" o type="radio".
disabled disabled Desactiva un elemento de entrada.
(contina)
76 | Leccin 3
Tabla 3-5
continuacin Atributo Valor Descripcin
placeholder** text Muestra una palabra clave o frase corta
que describe el valor esperado de un
campo de entrada, por ejemplo Correo
electrnico para un campo de entrada de
correo electrnico. El marcador de posicin
desaparece cuando el usuario especifica
datos.
readonly readonly Restringe un campo de entrada a solo
lectura.
required** required Atributo booleano que exige que un campo
de entrada se rellene antes de enviar el
formulario.
size number Especifica la anchura de un elemento
deentrada, en nmero de caracteres.
Si el formulario est incluido en un documento HTML con otros objetos, puede usar la
etiqueta <div> al principio y al final del formulario para separarlo del resto del contenido.
Si utiliza la etiqueta <div> tambin puede incluir formato alineado, si en el formato se
utilizan etiquetas para alinear campos en vertical de forma rpida y sencilla, sin tener que
crear una hoja de estilos CSS. La etiqueta <div> utiliza el atributo id y aparece antes de la
primera etiqueta <form>. El elemento label muestra la etiqueta de cada campo. Un ejemplo
de marcado de un formulario muy sencillo es:
<div id="contact-form"
style="font-family:'Arial Narrow','Nimbus Sans
L',sans-serif;">
<form id="contact" method="post" action="">
<fieldset>
<label for="name">Nombre</label>
<input type="text" name="name" />
</fieldset>
<fieldset>
<label for="email">Correo electrnico</label>
<input type="email" name="email" />
</fieldset>
</form>
</div> <!-- end of contact-form -->
Figura 3-19
Un formulario muy sencillo
Veamos algunos de los nuevos atributos y valores de HTML5. Si bien en esta seccin no
se aborda todo lo mencionado en las tablas 3-4 y 3-5, se describen y muestran ejemplos
de algunos de los atributos y valores ms usados.
El atributo required requiere informacin en un campo cuando se enva el formulario.
Elatributo email (que se muestra en el ejemplo anterior) requiere que el usuario escriba
una direccin de correo electrnico. El explorador alertar al usuario con un mensaje
de error para solucionar los posibles problemas.
Un ejemplo de un elemento de entrada con los atributos required e email es:
<input type="email" required />
Para que el formulario resulte ms fcil de usar, agregue texto de marcador de posicin.
Eltexto de marcador de posicin aparece dentro de un campo de entrada cuando el
campo est vaco. Ayuda a los usuarios a entender el tipo de informacin que deben
introducir o seleccionar. Al hacer clic en el campo de entrada o se llega a l presionando
la tecla de tabulacin y se empieza a escribir, el texto que se inserta reemplaza el texto
demarcador de posicin. Un ejemplo del atributo placeholder es:
<input name="fName" placeholder="Nombre" />
El atributo pattern proporciona un formato (una expresin regular) para un campo de
entrada, que se usa para validar lo que se ingrese en el campo. Por ejemplo, supongamos
que hay un campo de entrada requerido para el identificador de empleado. Todos los
identificadores de empleado comienzan con dos letras maysculas seguidas de cuatro
dgitos. Se usara un campo de entrada de texto con los atributos de requerido y patrn
para asegurar que el campo (1) se ha rellenado cuando el usuario hace clic en el botn
para enviar y (2) contiene un valor que coincide con el formato correcto de identificador
de empleado. Si el usuario pasa el mouse sobre el campo, se muestra el mensaje del
atributo title, que se agrega por separado. Un ejemplo del atributo pattern es:
<input type="text" id="empID" name="EmployeeID"
required pattern="[A-Z]{2}[0-9]{4}"
title="El identificador de empleado est formado por dos maysculas seguidas
por cuatro dgitos">
Puede usar el atributo pattern con estos tipos de <input>: text, search, url, telephone, email
y password.
Compilar la interfaz de usuario mediante HTML5: organizacin, entrada y validacin | 79
El valor search del atributo type le permite crear una funcin de bsqueda para una pgina web.
Un ejemplo de marcado es:
<form>
<input name="search" required>
<input type="submit" value="Search">
</form>
<label for="custname">Nombre</label>
<input type="text" id="custname" />
80 | Leccin 3
<label for="phone">Telfono</label>
<input type="text" id="phone" />
<label for="message">Preguntas o
comentarios</label>
<textarea name="message"></textarea>
</fieldset>
</form>
</body>
</html>
Figura 3-20
El principio de un
formulario web
3. El formulario web parece no estar bien estructurado. Lo mejor sera que usara CSS
para aplicar alineacin, pero como todava no conoce CSS, puede usar otra solucin
para que los campos estn alineados verticalmente. Un mtodo es agregar etiquetas
<fieldset> de apertura y cierre en torno a cada par etiqueta/entrada. As se alinearan
verticalmente los campos y los cuadros que hay entre ellos. El uso de etiquetas de <p>
apertura y cierre en lugar de etiquetas <fieldset> obtendra el mismo resultado, pero
sin agregar cuadros. Para este ejercicio, utilice las etiquetas <p>. En la Figura 3-21 se
muestra el mismo formulario web con etiquetas <p> en torno a los pares etiqueta/
entrada, incluido el campo de comentarios.
Compilar la interfaz de usuario mediante HTML5: organizacin, entrada y validacin | 81
Figura 3-21
Un formulario web con
etiquetas <p> para alinear
los campos verticalmente
4. Agregue texto de marcador de posicin a todos los campos. El resultado sera parecido
a la Figura 3-22, si se visualiza en el navegador web Mozilla Firefox.
Figura 3-22
Un formulario web con
marcadores de posicin
en cada campo
MS INFORMACIN
Para obtener ms informacin sobre los atributos del elemento de entrada de HTML5, visite el sitio
web de W3C.org en http://bit.ly/I1PW3P.
Comprender la validacin
HTML5 ofrece nuevos atributos que validan los campos de un formulario web
cuando los usuarios van introduciendo datos o cuando hacen clic en el botn
para enviar. Dichos atributos son required, email, pattern, etc.
82 | Leccin 3
Al usar HTML 4.01 y especificaciones anteriores, a menudo haba que usar gran cantidad
de JavaScript o scripting de otro lenguaje para crear reglas de validez y mensajes de
respuesta personalizados, o para determinar si un elemento es vlido o no.
En HTML5, varios de los tipos de elemento de entrada descritos en la seccin anterior
proporcionan validacin automtica de la entrada, es decir, el explorador comprueba los
datos que introduce el usuario. Esto se conoce como validacin del lado cliente, porque
LISTO PARA CERTIFICACIN los datos se validan antes de su envo al servidor. En los casos en que el servidor valida
Cmo valida HTML5 los los datos recibidos desde un formulario de entrada, se denomina validacin del lado
datos que especifica un servidor. Si el usuario introduce el tipo incorrecto de datos en un campo, por ejemplo
usuario en un formulario? una direccin de correo electrnico en un campo con el atributo url, el explorador indica
2.5 al usuario que escriba una URL vlida. Echemos un vistazo a ejemplos de mensajes
de error predeterminados que se generan durante la validacin automtica.
El atributo required impide que queden vacos campos que deben rellenarse. Si un usuario
no rellena un campo requerido y hace clic en el botn para enviar, aparece un mensaje
de error como se muestra en la Figura 3-23. En este ejemplo se utiliza el explorador
web Mozilla Firefox.
Figura 3-23
Mensaje de error en el
explorador Firefox sobre
un campo obligatorio
Figura 3-24
Mensaje de error en
el explora Firefox si se
especifica un patrn
incorrecto
Como ya se ha indicado, no hace falta ningn marcado para activar la validacin de
formularios HTML5, que est activada de forma predeterminada. Para desactivarla,
utilice el atributo novalidate para campos de entrada concretos.
5. Guarde el archivo y visualcelo en un explorador web. Escriba texto en todos los campos
de entrada excepto el de correo electrnico y haga clic en el botn Enviar. Recibi un
mensaje de error que se le indica que introduzca una direccin de correo electrnico?
6. Vuelva a escribir texto en todos los campos, incluido el de correo electrnico, pero
esta vez escriba un nmero de telfono sin el prefijo de rea, y haga clic en Enviar.
Recibe un error relativo al campo de nmero de telfono?
7. Cierre el archivo, la herramienta de edicin o de desarrollo de aplicaciones,
y el explorador web.
RESUMEN DE CONOCIMIENTOS
(contina)
84 | Leccin 3
crear listas ordenadas y sin ordenar. Cada elemento de una lista ordenada est
marcado con un nmero o una letra. Una lista sin ordenar es una lista con vietas.
Los desarrolladores usan formularios web como la interfaz para recopilar
informacin de los usuarios del sitio web y de la aplicacin cliente. Los elementos
de entrada HTML se usan para crear la interfaz de un formulario y asegurar que
la informacin de los usuarios se recopila siempre de la misma forma.
La mayora de formularios web, o al menos muchos campos en la mayora de los
formularios, requieren que la entrada tenga un formato especfico. Los nuevos
atributos para entrada y validacin de HTML5 son intuitivos, fciles de usar
y reemplazan a la gran cantidad de scripting que se requera en HTML 4.01
yversiones anteriores.
La validacin garantiza que la informacin especificada en un campo de entrada
de un formulario web tiene el formato correcto y se puede usar antes de enviar
los datos al servidor.
HTML5 ofrece nuevos atributos que validan los campos de un formulario web
cuando los usuarios van introduciendo datos o cuando hacen clic en el botn
para enviar. Dichos atributos son required, email, pattern, etc.
Evaluacin de conocimientos
Rellene los espacios en blanco
Complete las oraciones siguientes escribiendo la palabra o palabras correctas en los
espacios en blanco proporcionados.
1. Una HTML contiene filas y columnas, y se usa para mostrar
informacin en un formato de cuadrcula.
2. La clase y el identificador son atributos , lo que significa que
se pueden usar con cualquier elemento HTML.
3. Una lista ordena las entradas de la lista mediante nmeros,
de forma predeterminada.
4. Una lista muestra las entradas en una lista con vietas.
5. El elemento de HTML5 presenta una lista (o men) de comandos,
generalmente con botones.
6. La de formulario es la informacin que el usuario ingresa en los
campos de informacin en una aplicacin web o cliente.
7. El atributo requiere informacin en un campo cuando se enva
el formulario.
8. El texto de aparece dentro de un campo de entrada cuando el
campo est vaco. Ayuda a los usuarios a entender el tipo de informacin que deben
introducir o seleccionar.
9. es el proceso de comprobar que la informacin ingresada o captada
en un formulario tiene el formato correcto y se puede usar antes de enviar los datos al
servidor.
10. El atributo mueve el enfoque a un campo de entrada determinado
cuando se carga una pgina web.
Varias opciones
Rodee con un crculo la letra correspondiente a la mejor respuesta.
1. Qu elemento HTML5 define subdivisiones en un documento, como captulos, partes
de una tesis o partes de una pgina web cuyo contenido es distinto de los dems?
a. aside
b. seccin
c. header
d. article
Compilar la interfaz de usuario mediante HTML5: organizacin, entrada y validacin | 85
10. Cul es el formato de la etiqueta de HTML5 que valida una direccin de correo
electrnico?
a. <input label="email" name="URL">
b. <form id="email">
c. <label for="email">Correo electrnico</label>
d. <input type = "email" name = "email">
Verdadero/Falso
Haga un crculo alrededor de la V si el enunciado es verdadero o alrededor de la F
si el enunciado es falso.
VF1.
En una tabla, el elemento tfoot debe aparecer antes del elemento tbody.
VF2.Puede usar nmeros o letras para cada elemento de una lista ordenada.
VF3. Puede especificar la altura de un elemento de entrada utilizando el atributo size.
VF4. El elemento de etiqueta muestra la leyenda, o ttulo, para una tabla.
VF5. El elemento nav define un bloque de vnculos de exploracin.
Evaluacin de competencias
Escenario 3-1: Marcado para un artculo de boletn
Sally Rowe, la controladora de documentos en Malted Milk Media, desea publicar una
serie de artculos en la intranet de la empresa con respecto a la seguridad y el control de
versiones de documentos. Necesita crear un esqueleto del marcado de HTML5 para un
artculo que aparecer en el boletn mensual en lnea creado por uno de los desarrolladores
web. Cada artculo tendr un ttulo y subttulo, varios prrafos de texto, y su nombre y
la fecha del artculo en el pie de pgina. Cmo debe verse el marcado de su artculo?
Evaluacin de aptitudes
Escenario 3-3: Creacin de un glosario de trminos
Waylon es un estudiante que trabaja en una monografa. Su instructor requiere que cada
estudiante d formato al documento para su visualizacin en la Web. Waylon desea incluir
un glosario de trminos al final del documento, pero no puede producir la apariencia
correcta utilizando una lista desordenada. Qu marcado sera ms adecuado para el
glosario de Waylon?
TRMINOS CLAVE
posicionamiento absoluto propiedad de familia de fuentes
flujo de bloque desbordamiento oculto
cuadro de lmite flujo alineado
Hojas de estilo en cascada monospace
clase reglas
CSS3 sans serif
declaracin desbordamiento de desplazamiento
posicionamiento flotante selector
font desbordamiento visible
Piense en el sitio web de Trusty Lawn Care. En la parte superior estn las palabras Trusty
Lawn Care: es el ttulo o encabezado. En ese encabezado, cada una de las letras podra
mostrarse en cursiva, negrita o incluso en color. Las letras tendrn un tamao concreto
y pertenecern a una fuente especfica. Los desarrolladores web experimentados tienen
a su disposicin muchos otros efectos especiales. Todos estos elementos de presentacin,
que no son contenido, forman parte del estilo del sitio web. Hojas de estilo en cascada
(CSS) es un lenguaje que define el estilo de los elementos HTML.
Qu significa aqu en cascada? La razn es que uno de los principios originales de
LISTO PARA CERTIFICACIN HTML es que el aspecto de un elemento se controla no solo mediante CSS, sino tambin
Cul es la finalidad mediante la forma en que el usuario configura su explorador o escritorio. Un usuario final
de CSS? con discapacidad visual puede, por ejemplo, solicitar que el contenido se muestre en un
3.1 tamao de fuente especialmente grande. En la teora de HTML, la definicin del aspecto
se aplica en cascada entre estas distintas hojas de estilo.
Es habitual que los diseadores web llamen el archivo que contiene las reglas CSS hoja de
TOME NOTA
* estilo o la CSS. Algunos codificadores de estilo y muchos programadores lo denominan
el origen CSS o archivo CSS.
Puede crear archivos CSS completos desde un editor de texto sencillo como Bloc
de notas. Muchos editores de HTML y herramientas de desarrollo de aplicaciones
proporcionan una funcin de depuracin que ayuda a encontrar errores en el cdigo
y el marcado rpidamente. Estas herramientas suelen incluir un botn para abrir un
explorador web en lugar de tener que hacerlo manualmente.
Puede usar lo que le resulte ms prctico, pero Bloc de notas tiene limitaciones y no se
X REF
dise como editor completo. Muchos editores de HTML y herramientas de desarrollo
En la leccin 2 conoci de aplicaciones disponen de funciones para ahorrar tiempo, como depuracin y nmeros
los conceptos bsicos de lnea, y un botn para abrir un explorador web.
para editar cdigo HTML
y visualizar la pantalla
resultante. Utilice las Explorar el vnculo entre HTML y CSS
mismas habilidades
para trabajar con CSS. El elemento <link> vincula un archivo HTML a un archivo CSS. En esta seccin se
explican brevemente los estilos CSS y la vinculacin entre archivos HTML y CSS.
Cuando se crea una pgina HTML y se desea usar los estilos de un archivo CSS, es
necesario incluir en la pgina HTML un elemento <link> al archivo CSS. En una en pgina
HTML se puede hacer referencia a ms de un archivo CSS. El siguiente es un ejemplo
desintaxis correcta para un <link>:
<link href = "nombre de archivo.css" rel = "stylesheet"
type = "text/css">
Un archivo HTML puede llamarse miproyecto.html o archivo1.htm; un nombre de archivo
CSS tpico es miproyecto.css. Tambin sus contenidos son bastante diferentes: el origen
deHTML se organiza con etiquetas, mientras que, como veremos ms abajo, CSS es
unasecuencia de reglas.
Las organizaciones empresariales, a menudo, imponen sistemas de archivos determinados.
Por ejemplo, podra desarrollar un origen CSS que cumpla requisitos especficos.
Aldesarrollar cdigo, podra referirse a su trabajo como ... href = "mytheme.css" ...
Elrestodel equipo podra no dejarlo claro, pero espera una referencia del tipo
... href = "styles/mytheme.css" ...
LISTO PARA CERTIFICACIN Es importante recordar que si se escribe incorrectamente el nombre del archivo CSS, o
Cmo se crea contenido
stylesheet o text/css, en el marcado de la pgina HTML, la pgina web resultante no
con HTML y, luego, se le
aplica ninguno de los estilos del archivo CSS. La pgina HTML simplemente considera
aplica estilo con CSS?
que falta el vnculo a la CSS. El comportamiento predeterminado de todos los principales
3.1
exploradores web es no advertir sobre el error ortogrfico.
2. Cree otro archivo en la misma carpeta que el .html de origen. Dele el nombre e1.css
y use el siguiente contenido:
#slogan {
font-size: 20px;
color: green;
font-style: italic;
}
En este ejemplo, el archivo HTML (e1.html) define el contenido y la estructura: tiene las
palabras Trusty Lawn Care, Inc., identifica cinco palabras como parte de un eslogan,
etc. El archivo CSS (e1.css) proporciona estilo a ese contenido. Para que ciertos caracteres
estn en verde, el archivo CSS no usa pintura ni luz verde, sino la palabra verde para
indicar al explorador qu color debe tener el eslogan. Los archivos se vinculan mediante
el elemento <link> del archivo HTML.
LISTO PARA CERTIFICACIN Vamos a intentar crear una pgina web y un archivo CSS, para despus modificar el
Cules son los principios archivo CSS y ver cmo afectan los cambios a la pgina web. As entender cmo
de estilo esenciales de CSS? HTML y CSS funcionan en conjunto para crear presentaciones en el explorador
3.1 web o la aplicacin mvil.
Figura 4-2
Pgina web de Trusty Lawn
Care modificada
4. Cierre los archivos HTML y CSS. Deje la herramienta de edicin y el explorador web
abiertos si va a continuar con la siguiente seccin.
Es esencial que se sienta cmodo con los aspectos bsicos de CSS. Si tiene dificultades
con los conceptos bsicos al trabajar con las lecciones y los ejercicios, considere la
posibilidad de realizar tutoriales en lnea sobre CSS, por ejemplo los que se ofrecen
en el sitio web W3Schools.com.
Separar contenido de estilo
Puede crear pginas como HTML puro, es decir, con un solo archivo de cdigo fuente
HTML y sin ningn archivo CSS. HTML tiene capacidad para especificar cursiva, negrita,
color y muchas otras cosas. Los sitios web sencillos, a veces, no usan CSS o lo usan en
una sintaxis insertada.
Incluso algo tan simple como aplicar color verde a un bloque de texto puede hacerse
de varias formas distintas. En los manuales y el material de referencia, en ocasiones,
sepasa de una forma a otra sin dar una explicacin clara. Es posible que vea
<div style = color:green in HTML, or div {color:green in CSS, or <style
TOME NOTA
* > div {color:green </style> en HTML, e incluso otras combinaciones ms extraas.
Elprimer mtodo se denomina insertado, para indicar que la especificacin CSS aparece
en las mismas expresiones HTML que definen estructura y contenido.
Sin embargo, separar HTML y CSS en archivos distintos es un concepto fundamental que
LISTO PARA CERTIFICACIN
Cmo administran los
debe entender. Separacin de contenido y el estilo es una frase que usan con frecuencia
sitios web contenido quienes que trabajan con sitios web y aplicaciones mviles. El HTML controla el contenido
y estilo? y CSS controla el estilo. Esta divisin del trabajo suele reflejar la organizacin de los equipos
3.1 de proyecto: personas distintas son responsables del contenido y el estilo. La separacin de
HTML y CSS contribuye a que sea posible que dos personas trabajen simultneamente sin
interferir entre s.
Adems, la separacin de contenido y presentacin ayuda a crear mejor HTML5, que se est
convirtiendo en el nuevo estndar para pginas web y aplicaciones.
92 | Leccin 4
En esta leccin se explican las correspondencias entre CSS y una pgina web. Tenga en
cuenta que la pgina web depende de una configuracin mayor, que normalmente cuenta
como mnimo con un archivo HTML y un explorador. No asuma que puede aprender a usar
CSS como algo aislado de esos otros elementos. Existe una segunda correspondencia entre
CSS y la presentacin de una aplicacin mvil concreta creada con ese CSS. Aunque su
TOME NOTA
* finalidad al aprender y usar CSS podra ser desarrollar aplicaciones, todas las instrucciones
de este captulo estn dirigidas a las pginas web. Las herramientas para aplicaciones mviles
cambian rpidamente y no estn tan estandarizadas como el explorador web Internet Explorer
(IE). Por lo tanto, todos los ejemplos se muestran con la versin 9 de IE. Todo lo que aprenda
sobre CSS es aplicable tambin a la programacin de aplicaciones.
Una vez que est familiarizado con los conceptos bsicos, puede estudiar ms
detenidamente los archivos de cdigo fuente CSS. Un archivo CSS suele contener
una secuencia de especificaciones o reglas de estilo, y puede incluir una regla @
import inicial. El orden de las reglas tendr importancia en lecciones posteriores.
Cada regla individual consta de dos partes principales: un selector, y una o varias
declaraciones. El selector suele ser el elemento HTML al que desea aplicar estilo.
Ladeclaracin es el estilo para un sector especfico. Una declaracin tiene una propiedad,
que es un atributo de estilo, y un valor. La sintaxis general de una declaracin consta
de una palabra clave de propiedad seguida por un punto y coma y un espacio, un valor
y, finalmente, un punto y coma final. Una declaracin va entre llaves. Estos conceptos
seilustran en la Figura 4-3.
Figura 4-3
Describir un selector
y una declaracin
En este ejemplo hay dos reglas, una para p y otra para #slogan. La primera regla
seaplica a todo el contenido de todas las etiquetas de prrafo (o tipo) <p> de la pgina web.
La segunda regla se aplica solamente al elemento HTML con el identificador eslogan.
La parte de selector de una regla puede ser bastante complicada. Por el momento, piense
que los selectores pueden ser:
Etiquetas HTML, como <p> en el ejemplo anterior. Las reglas CSS tambin suelen
seleccionar etiquetas como <h...>, <table>, <a>, etc.
Selectores de Id., como #slogan en el ejemplo anterior. En estos, el smbolo #
esunprefijo que determina que la seleccin se hace por identificador.
Selectores de clase, como en el ejemplo siguiente.
Comprender los principios bsicos de CSS: flujo de contenido, posicionamiento yestilo | 93
Tenga en cuenta que un identificador debe ser nico dentro de una instancia de HTML
concreta. Sin embargo, varios elementos pueden compartir una clase. Clase es un
atributo que un autor web usa para proporcionar estructura a un documento ms all
del significado en que se compila HTML con elementos como prrafo, encabezado, etc.
Podramos decidir etiquetar parte del contenido de una pgina opinin y otra parte
hechos. Estos tipos de categoras son fciles de implementar como clases, porque
CSSpuede administrar contenido en funcin de sus definiciones de clase. El marcado
siguiente ilustra el uso de una clase.
Es el contenido de un archivo HTML, que tiene el nombre e2.html:
<!doctype html>
<html>
<head>
<title>Ejemplo de clase</title>
<link href = "e2.css" rel = "stylesheet"
type = "text/css">
</head>
<body>
<h1>Acerca de los estados</h1>
< p class = "fact">Alaska es el estado ms grande de Estados Unidos
en cuanto a superficie.</p>
< p class = "opinion">Nueva Jersey se merece su
apodo de "El estado jardn".</p>
< p class = "fact">Un nico congresista representa
a Wyoming en el Congreso
Nacional.</p>
</body>
</html>
El contenido del archivo CSS asociado, llamado e2.css, es:
p {color: black;}
/* The prefix for a class selector is a period: '.' */
.opinion {color: gray;}
Con estos dos archivos en uso, al abrir el archivo e2.html se muestra una pantalla
parecida a la de la Figura 4-4.
Figura 4-4
Uso de un selector de
clase para especificar
el color de un prrafo
Cmo se puede recordar la sintaxis para diferentes selectores? Existe un mtodo nemotcnico
que funciona para algunos de ellos: el prefijo de una clase es el punto, y en el colegio las clases
TOME NOTA
* son un punto importante que no se debe olvidar. El prefijo para un Id. es un '#', que se suele
denominar signo de nmero. Un identificador habitual es el nmero del documento nacional
de identidad, o sea, un nmero es un Id.
94 | Leccin 4
Hay que prestar atencin a los identificadores. Es fcil comprender que tienen que ser
nicos en el cdigo HTML. Tambin pueden parecer en JavaScript y CSS. Muchos equipos
se dan cuenta de que tienen que hacer un gran esfuerzo para que los identificadores sean
TOME NOTA
* nicos en todas estas formas de cdigo fuente. Si hay un error, si alguien especifica un
identificador que ya se est utilizando en otra pgina, puede ser difcil de depurar los
errores subsiguientes.
La tipografa tiene que ver con el aspecto de las letras, los nmeros y otros caracteres.
La tipografa es un tema amplio y complejo, que queda fuera del mbito de esta
leccin. Con todo, es importante conocer parte de su vocabulario.
Figura 4-6
Aplicar la familia de
fuentes monospace
Figura 4-7
Aplicar la familia de
fuentes sans serif
Figura 4-8
Aplicar una fuente especfica
al elemento de eslogan
Con anterioridad a CSS3, los desarrolladores deban usar fuentes web seguras o fuentes
que el desarrollador saba que estaban instaladas en el sistema del usuario de una pgina
web. La lista de fuentes web seguras es relativamente corta y no ofrece mucha variedad.
La utilizacin de fuentes que no fueran seguras para la Web sola conllevar tener que
crearimgenes para encabezamientos y ttulos, y usar otras soluciones.
CSS3 proporciona la regla @font-face, que permite a los desarrolladores usar la fuente
quedeseen. Para ello, primero se crea una regla de tipo de letra asignando un nombre a
la fuente. La fuente debe encontrarse en el servidor web, o se puede incluir una direccin
URL que seale a la ubicacin de la fuente si est en otro servidor web. El siguiente es un
ejemplo de la regla para una fuente denominada Euphemia, que se encuentra en su propio
servidor web:
@font-face
{
font-famly: TrustyHomePage;
src: url('Euphemia.ttf'),
}
Al igual que con las imgenes, usted, o un cliente para el que trabaje, debe poseer una
copia legal de la fuente para usarla en las pginas web que cree.
MS INFORMACIN
Para obtener ms informacin sobre los conceptos bsicos de CSS, visite la pgina web de Microsoft
sobre hojas de estilo en cascada en http://bit.ly/IKmcZd. Tambin puede consultar los tutoriales
gratuitos sobre CSS en el sitio web W3schools.com en http://www.w3schools.com/css/default.asp.
El prrafo que est leyendo ahora mismo es un elemento de flujo de bloque: por encima
ypor debajo hay lneas nuevas, y el prrafo llena todo su espacio de izquierda a derecha.
Puede controlar el flujo de presentacin. Los elementos de lista, por ejemplo, utilizan
deforma predeterminada el flujo de bloque. Con CSS, sin embargo, puede alinearlos
para lograr un aspecto distinto y especial. Si bien siguen siendo elementos de lista,
con losatributos y el comportamiento habituales de los elementos de lista, un cambio
en elestilo de visualizacin permite que aparezcan uno tras otro en una horizontal,
deizquierda a derecha.
Prepare el editor. Ahora va a probar unos breves fragmentos de CSS.
Al comienzo de esta leccin se explic detenidamente cmo los archivos HTML y CSS
funcionan juntos para lograr efectos de diseo. En el siguiente ejemplo y los posteriores,
sin embargo, el estilo CSS est incluido en el archivo de cdigo fuente HTML. HTML
reconoce el elemento <style>, que hace que esto sea posible. Al estudiar los atributos CSS,
TOME NOTA
* suele ser mucho ms prctico trabajar en un nico archivo de cdigo fuente, de modo que
toda la leccin, excepto las secciones ms sencillas, se implementa en un solo origen de
HTML. Tenga en cuenta que, en el mundo real, casi todo el trabajo se estructurar con
orgenes de HTML y CSS distintos.
2. Al visualizar este cdigo fuente en un explorador, su aspecto ser como el de la Figura 4-9.
Figura 4-9
Aspecto predeterminado
de los elementos de lista
3. Modifique el cdigo fuente de e4.html de forma que el segmento <style> sea as:
<style type = "text/css">
.toolbar li {
display:inline;
background-color: #EEE;
borde: 1px solid;
border-color: #F3F3F3 #BBB #BBB #F3F3F3;
margen: 2px;
relleno: .5em;
}
</style>
4. Guarde el archivo y actualice el explorador. La presentacin de la lista se actualiza y se
ve como en la Figura 4-10. Observe cmo este ejemplo ilustra que el control del flujo
es til para efectos visuales.
Figura 4-10
Aspecto de los elementos
de lista con diseo mediante
flujo alineado
MS INFORMACIN
Para obtener ms informacin sobre la propiedad de presentacin de CSS y la administracin del flujo
de contenido, visite la pgina web de la propiedad de presentacin de CSS del CSS W3schools.com en
http://www.w3schools.com/cssref/pr_class_display.asp.
Comprender los principios bsicos de CSS: flujo de contenido, posicionamiento yestilo | 99
</body>
</html>
El texto Lorem ipsum se llama relleno o texto simulado, que los desarrolladores utilizan
a menudo. Aunque parece latn, en realidad no significa nada. No es ms que texto que
TOME NOTA
* parece contenido por la secuencia y frecuencia de los caracteres. Tambin es fcil generar
texto simulado en Word, por ejemplo, escribiendo =lorem() en un documento en blanco
ypresionar la tecla Intro.
Figura 4-11
Varias columnas con el
atributo float aplicado
3. En el explorador, col1 y col2 aparecen como dos columnas de anchura fija, y col3 llena
el espacio restante. Si cambia los dos atributos float de CSS de izquierda a derecha,
cmo se ve la pantalla?
4. Haga el cambio.
5. Adivin correctamente? Se ve el cdigo fuente HTML modificado como esperaba?
6. Cierre el archivo e5.html. Deje la herramienta de edicin y el explorador web abiertos
si va a continuar con la siguiente seccin.
</style>
4. Visualice e6.html, como se muestra en la Figura 4-12. En este ejemplo, los prrafos
col2 (fondo amarillo ) y col3 (sin color de fondo) aparecen normales, cerca de la
partesuperior de la pantalla. Col1, sin embargo, termina en una posicin bloqueada
enla esquina inferior izquierda de la ventana de visualizacin.
Figura 4-12
Varias columnas con el
atributo absolute aplicado
5. Cambie el tamao de la ventana y observe cmo se ajustan los tres prrafos distintos.
6. Cierre el archivo e6.html. Deje la herramienta de edicin y el explorador web abiertos
si va a continuar con la siguiente seccin.
MS INFORMACIN
Para obtener ms informacin sobre el posicionamiento flotante en CSS, visite
http://www.w3schools.com/css/css_float.asp. Puede obtener informacin adicional sobre
la propiedad de posicin de CSS en http://www.w3schools.com/css/css_positioning.asp
yhttp://www.w3schools.com/cssref/pr_class_position.asp.
Al ver letras y caracteres en una pgina, piense que son marcas en lugar de letras.
Cadaelemento HTML ocupa un rectngulo. La palabra rectngulo, por ejemplo, no es
especialmente rectangular: la t y la l sobresalen por encima, y la g cuelga por debajo.
Sin embargo, en lo que se refiere a HTML, rectngulo cabe dentro de un rectngulo
pequeo (o cuadro de lmite) que contiene todas las letras de la palabra con su fondo,
como se muestra en la Figura 4-13. El estilo CSS se expresa en relacin con este cuadro.
Figura 4-13
Ejemplo de cuadro de lmite
#col3 {
background-color: yellow;
}
</style>
</head>
<body>
<h1>Desbordamiento de desplazamiento</h1>
<p id = 'col1'>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Integer pretium dui sit
amet felis. Integer sit amet diam. Phasellus ultrices viverra velit. Pellentesque habitant morbi
tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam,
feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas
semper.
</p>
<p id = 'col2'>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Integer pretium dui sit
amet felis. Integer sit amet diam. Phasellus ultrices viverra velit.
</p>
<p id = 'col3'>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Integer pretium dui sit
amet felis. Integer sit amet diam. Phasellus ultrices viverra velit.
</p>
</body>
</html>
Figura 4-14
Visualizacin de barras de
desplazamiento creadas
como controles de
desbordamiento
Figura 4-15
El desbordamiento visible
sobrescribe el contenido
que le sigue
Figura 4-16
El desbordamiento oculto
simplemente no se ve
MS INFORMACIN
Para obtener ms informacin sobre el desbordamiento en CSS, visite la pgina
web de la propiedad de desbordamiento de CSS de W3schools.com CSS en
http://www.w3schools.com/cssref/pr_pos_overflow.asp. Tambin puede buscar flujo
contenido css msdn, posicionamiento css msdn y desbordamiento css msdn con
su motor de bsqueda favorito.
RESUMEN DE CONOCIMIENTOS
P uede crear archivos CSS completos desde un editor de texto sencillo como Bloc
de notas. Muchos editores de HTML y herramientas de desarrollo de aplicaciones
proporcionan una funcin de depuracin que ayuda a encontrar errores en el cdigo
y el marcado rpidamente. Estas herramientas suelen incluir un botn para abrir un
explorador web en lugar de tener que hacerlo manualmente.
El elemento <link> vincula un archivo HTML a un archivo CSS.
En los documentos HTML, es habitual disponer de archivos HTML, que tienen el
contenido, y simplemente hacer referencia a un archivo CSS independiente, que
contiene cdigo para aplicar estilo al contenido de los archivos HTML. As, puede
cambiar los estilos en un solo archivo (el archivo CSS) y ver automticamente los
cambios aplicados en todos los archivos HTML asociados.
Cuando se trabaja en un archivo HTML pequeo e independiente, en el que es
probable que los estilos no cambien, es aceptable incluir cdigo de estilo CSS
en el propio archivo HTML.
Un archivo CSS suele contener una secuencia de especificaciones o reglas de estilo,
y puede incluir una regla @import inicial.
La tipografa tiene que ver con el aspecto de las letras, los nmeros y otros caracteres.
Puede administrar el flujo de contenido de un documento HTML mediante las
propiedades de flujo alineado y flujo de bloque de CSS.
HTML y CSS admiten varias maneras de especificar dnde aparecen elementos
HTML individuales dentro de una pantalla. Los dos ms importantes para nuestro
objetivo son el posicionamiento flotante y el posicionamiento absoluto.
El cuadro de lmite de HTML es un rectngulo que contiene todas las letras de un
bloque de texto y su fondo. El estilo CSS se expresa en relacin con este cuadro.
De forma predeterminada, el cuadro de lmite no est visible en las pginas web.
Evaluacin de conocimientos
Rellene los espacios en blanco
Complete las oraciones siguientes escribiendo la palabra o palabras correctas en los
espacios en blanco proporcionados.
1. HTML se ocupa del contenido y CSS del ___.
2. Un archivo de origen HTML se refiere a un archivo de origen CSS externo con
elelemento _________.
3. Un archivo de origen CSS consta de cero o ms _________ individuales.
4. Una regla CSS individual tiene dos partes: un _______ y una o varias declaraciones.
5. Una declaracin individual dentro de una regla CSS consta de una _________,
seguida de dos puntos, luego un valor y un punto y coma al final.
6. Los selectores CSS ms comunes son: elemento o tipo, Id. y _________.
7. Los dos flujos de contenido HTML son _________ y bloque.
8. Para que los elementos HTML aparezcan en columnas, es comn aplicar
posicionamiento _________.
9. Supongamos que un elemento est sujeto a desbordamiento: podra crecer ms all
del tamao asignado para l en la pantalla. Para darle barras de desplazamiento
que hagan posible que un usuario final vea el elemento completo, declare que la
propiedad overflow tenga el valor de _________.
10. Los valores ms comunes de la propiedad float son _________ y _________.
Comprender los principios bsicos de CSS: flujo de contenido, posicionamiento yestilo | 107
Varias opciones
Rodee con un crculo la letra correspondiente a la mejor respuesta.
1. Cul de las siguientes opciones resume mejor un modelo til para el desarrollo
comercial?
a. Las pginas web se escriben en HTML.
b. Los diseadores deben aprender Java o Ruby para disear pantallas.
c. CSS asume la responsabilidad de estilo visual.
d. CSS define la estructura y HTML asigna colores y fuentes.
2. Cul de las siguientes opciones codifica un comentario en CSS?
a. <!-- -->
b. /* */
c. # d.
d. // ...
3. Cuntas reglas diferentes dentro de un archivo de origen CSS vlido pueden
declararel estilo de un elemento de prrafo <p>?
a. 0
b. 1
c. 1 o 2, dependiendo de si se utiliza HTML5
d. 0 o ms
4. A veces los colores se expresan con palabras en ingls y a veces se expresan
connmeros simblicos. Cul de las siguientes opciones significa azul?
a. 009
b. #0000FF
c. !008000
d. (128, 128, 128)
5. Un prrafo aparece en una pantalla importante codificado como <p id = 'introduction'>
Trusty Lawn Care se ocupa . . .. Le han dicho que este prrafo debe aparecer en la fuente
Tahoma. Cul de las siguientes opciones le ayudar de la mejor manera a definir una
regla adecuada?
a. p {font: Tahoma;}
b. #introduction {font-family: Tahoma;}
c. .introduction {font: Tahoma;}
d. .p {font-family: Tahoma;}
6. Alguien ha creado una pgina web con HTML que se vincula a tres diferentes archivos
de origen CSS. El nombre de uno de los archivos de origen est mal escrito en HTML.
Cul de las siguientes opciones es la ms probable que muestre un explorador web?
a. Muestra una pantalla como si el vnculo al CSS con un nombre mal escrito
simplemente faltara.
b. Muestra el nombre del origen de CSS mal escrito junto con un mensaje de error.
c. Muestra la pantalla tanto como sea posible, usando el ltimo CSS vinculado
correctamente en lugar del CSS con un nombre mal escrito.
d. Muestra una advertencia de que el CSS no se encuentra y pregunta si desea
continuar de todos modos.
7. La etiqueta delimitadora <a > es el elemento HTML definido para la definicin de
hipervnculos, entre otras cosas. Nombre el flujo de contenido predeterminado para
un delimitador.
a. Alineado
b. Bloque
c. Oculto
d. Visible
108 | Leccin 4
8. Su equipo est construyendo una aplicacin que incorpora una declaracin de licencia
larga que los usuarios finales deben tener la oportunidad de leer y aprobar. Desea
limitar la cantidad de espacio en pantalla que ocupa la licencia, al mismo tiempo
quedeja cada palabra de ella disponible para los usuarios finales que elijan leerla
porcompleto. Cul de las siguientes opciones es ms probable que le ayude
acodificar esto?
a. {position: scrolling;}
b. {fixed: scrolling;}
c. {overflow: scrolling;}
d. {overflow: scroll;}
9. El ltimo estndar CSS que est todava en desarrollo pero que se usa ampliamente es:
a. CSS8
b. CSS5
c. CSS3
d. CSS2
10. Cuando HTML se vincula a CSS que ha escrito, qu opcin es ms probable que sea
una parte til del vnculo?
a. type = text/css
b. CSS = SOME_NAME.css
c. type = "style/CSS"
d. Web = "style/css"
Verdadero/Falso
Haga un crculo alrededor de la V si el enunciado es verdadero o alrededor de la F
sielenunciado es falso.
VF1.
Un archivo de origen CSS incluye dos reglas diferentes para la fuente de un
elemento h1. Su explorador web aplica la regla ms cerca a la parte superior
del archivo de origen y pasa por alto la que aparece ms cerca de la parte
inferior.
VF2.
El desbordamiento de un elemento determinado se define a travs de CSS para
desplazarse. Sucede que no hay ningn desbordamiento, porque el contenido
del elemento es inusualmente corto por el momento. Incluso en este caso,
labarra de desplazamiento es visible.
VF3.
Se le pidi que disponga un diseo con columnas. Es ms probable que el
posicionamiento flotante sea ms til que el posicionamiento absoluto en
estasituacin.
VF4.
Si utiliza el estndar CSS ms reciente en su codificacin, se advertir a los
usuarios finales que dependen de exploradores web antiguos que sus pginas
presentan riesgos de seguridad.
VF5.
Antes de que pueda probar el CSS que escribe, debe asegurarse de que haya
uncompilador de Python instalado en su equipo.
Comprender los principios bsicos de CSS: flujo de contenido, posicionamiento yestilo | 109
Evaluacin de competencias
Escenario 4-1: Flujo de trabajo bsico
Su equipo est desarrollando una aplicacin. Usted debe ocuparse del diseo de estilo.
Qu archivos es probable que actualice?
Evaluacin de aptitudes
Escenario 4-3: Dilogo teatral
Una aplicacin ya en uso muestra dilogo de diferentes actores. La pantalla vista por un
actor determinado tiene sus lneas en fuente normal, mientras que todo lo dicho por otros
est en cursiva. Esto se implement originalmente al colocar cada discurso en su propio
prrafo, con prrafos sucesivos etiquetados como paragraph1, paragraph2, etc. CSS
luego dio estilo a los prrafos por orador. Muestre a su equipo una manera ms eficiente
yfcil de mantener de usar CSS para lograr el mismo resultado.
TRMINOS CLAVE
elemento de nivel de bloque plantilla de cuadrcula
borde elemento alineado
contenido margen
caja flexible (flexbox) consultas multimedia
elemento flexbox relleno
modelo de caja flexible relacin primario-secundario
elemento de cuadrcula interfaz de usuario
diseo de cuadrcula prefijo de proveedor
modelo de diseo de cuadrcula
Stacey, administrador del sitio web de Malted Milk Media, oy que usted est
trabajando con el equipo de desarrollo de aplicaciones cliente, y que est estudiando
HTML5 y CSS3. Stacey tambin est mejorando sus habilidades de HTML5 y le
gustara empezar a introducir cajas flexibles y diseos de cuadrcula en el sitio web
de Malted Milk Media una vez que las especificaciones estn ms generalizadas.
Le gustara que usted obtuviera datos sobre las cajas flexibles y los diseos de
cuadrcula, por ejemplo su compatibilidad con los exploradores actuales, y creara
una hoja informativa sobre su propiedades de CSS.
110
Comprender los principios bsicos de CSS: Diseos | 111
Las interfaces de usuario pueden ser sencillas y claras, o pueden ser ms complejas con
varias secciones, botones y controles. Disear una interfaz que se represente bien en pantallas
de PC grandes y en dispositivos mviles pequeos sola requerir gran cantidad de marcado
y cdigo. En la actualidad, los modelos de caja flexible y de diseo de cuadrcula de CSS
reducen la cantidad de cdigo necesario para lograr compatibilidad en varios dispositivos
CONCLUSIN distintos. Las cajas flexibles contienen texto, imgenes y otro contenido, y el explorador
ajusta automticamente el tamao de la caja en funcin del tamao de pantalla usado para
visualizar el documento HTML. El mismo principio se aplica a los diseos de cuadrcula, que
no son ms que columnas y filas que controlan la distribucin del contenido en un documento
HTML. Dado que las especificaciones CSS todava no son definitivas, tendr que usar prefijos
especficos del proveedor delante de los nombres de propiedades CSS para que todo funcione.
Una interfaz de usuario es la parte de un sitio web o una aplicacin con la cual un usuario
interacta. La interfaz de usuario tiene un diseo, que puede ser sumamente sencillo, con solo
un botn o dos, o sumamente complejo, con muchas partes, cada una a su vez con uno o varios
botones, mens, barras de herramientas, formularios, etc.
Con una variedad de diseos tan grande, crear interfaces de usuario adecuadas para sitios web y
aplicaciones que se visualicen en dispositivos mviles puede resultar difcil. Elposicionamiento
y el cambio de tamao automtico de los elementos de la interfaz son ahora fundamentales en
un diseo de calidad. Por ejemplo, el posicionamiento relativo de los elementos de la interfaz de
usuario es adecuado para muchas pginas web. Los desarrolladores web han usado la propiedad
float muchos aos para lograr flexibilidad en sus diseos. La propiedad float se ha explicado
en la leccin 4. Por su parte, el posicionamiento relativo no funciona en la mayora de las
aplicaciones web mviles, porquegenera una superposicin de elementos inadecuada o
hacequelos elementos aparezcan en lugares errneos.
Una combinacin de posicionamiento absoluto y cajas flexibles (contenedores) funciona mucho
mejor para aplicaciones web mviles y ciertas partes de las pginas web en general. Por ejemplo,
para un elemento de interfaz de usuario que debe aparecer siempre en el mismo lugar de la
pantalla, por ejemplo un encabezado o pie de pgina, debe usarse el posicionamiento absoluto.
Por su parte, el modelo de caja flexible de CSS3 es ideal para elementos cuyo tamao debe
ajustarse o que deben reposicionarse (horizontal o verticalmente), dependiendo del tamao
LISTO PARA CERTIFICACIN de lapantalla. Otro modelo relacionado con la interfaz de usuario es el modelo de diseo de
Cmo se utiliza CSS para cuadrcula de CSS3, que proporciona ms control sobre diseos complejos que el modelo de
controlar la disposicin de cajaflexible. Esta leccin se centra enlosmodelos de caja flexible y de diseo de cuadrcula.
una interfaz de usuario?
3.2
Antes de profundizar en los temas de esta leccin, debe entender ciertos aspectos sobre la
compatibilidad de CSS3 y los exploradores. Como HTML5, la especificacin de CSS3 an
esten fase de desarrollo y sujeta a modificaciones. Los nombres de algunas propiedades
pueden cambiar de una versin de la especificacin de borrador CSS3 a lasiguiente y se
puedenintroducir nuevos valores de las propiedades, mientras otros seeliminan.
Para contribuir a garantizar que los estilos CSS3 funcionan durante esta etapa de transicin,
muchos de los principales exploradores web ofrecen nombres de propiedad alternativos. Estas
soluciones alternativas simplemente agregan un prefijo de proveedor, que es una palabra clave
rodeada de guiones, al inicio del nombre de propiedad CSS3. Al trabajar conpropiedades
deCSS3, tenga en cuenta lo siguiente:
Internet Explorer usa el prefijo -ms-.
Firefox admite el prefijo -moz-.
Opera admite el prefijo -o-.
Chrome y Safari admiten el prefijo -webkit-.
Por ejemplo, una propiedad de CSS3 que va a conocer en esta leccin es la propiedad flexbox.
Para aplicar el estilo de caja flexible a elementos y visualizarlos en Firefox, actualmente tiene
que usar la propiedad -moz-flexbox.
112 | Leccin 5
Es recomendable incluir todos los cuatro prefijos de proveedor para las caractersticas de
CSS3 que todava estn en desarrollo. De esa forma, es mayor la probabilidad de que la
pgina web se visualice correctamente en cualquiera de los exploradores ms conocidos.
Con todo, el uso de los cuatro prefijos de proveedor en el cdigo lo hace ms largo y no
garantiza que la caracterstica de CSS3 funcione en todos los exploradores. Si un explorador
no admite la caracterstica o la propiedad de prefijo de proveedor, la caracterstica no
se mostrar correctamente. El sitio web When Can I Use, en caniuse.com, ayuda a
determinar qu exploradores admiten caractersticas especficas de CSS3 y HTML5.
Usar caja flexible para diseos sencillos y cuadrcula para diseos complejos
Las cajas flexibles se han diseado para barras de herramientas, mens, formularios
y elementos similares de pginas web y aplicaciones. Las cuadrculas son ms
apropiadas para diseos ms complejos.
Hace aos, el W3C cre especificaciones para un modelo de cuadros simple, denominado
LISTO PARA CERTIFICACIN modelo de cuadros CSS. El modelo describe los cuadros que rodean el contenido en un
Cul es la finalidad del documento HTML, tanto si el documento se convierte en una pgina web como en una
modelo de cuadros CSS? aplicacin web. Considere que todas las partes de un documento HTML estn en un
3.2 cuadro. Cada cuadro debe ajustarse a las reglas definidas por el modelo de cuadros.
El modelo de cuadros CSS se muestra en la Figura 5-1. Las partes del modelo de cuadros
CSS son margen, borde, relleno y contenido.
Figura 5-1
Modelo de cuadros
CSS tradicional
Otros dos conceptos del modelo de cuadros CSS que es necesario entender son los
elementos de nivel de bloque y alineados. Un elemento de nivel de bloque crea cuadros
que contribuyen al diseo del documento. Secciones, artculos, prrafos, listas e imgenes
son ejemplos de elementos de nivel de bloque. Los elementos alineados estn diseados
para distribuir el texto y no interrumpir el flujo del documento. Aplicar negrita y el nuevo
elemento mark de HTML5 son ejemplos de elementos alineados.
Por ltimo, la relacin primario-secundario es importante cuando se trabaja con CSS.
En esencia, un cuadro primario puede contener uno o varios cuadros secundarios. Los
cuadros contenidos dentro de un cuadro primario se conocen como cuadros secundarios.
En la Figura 5-2 se muestra un ejemplo sencillo de cuadro primario con un cuadro
secundario anidado. Un secundario puede heredar estilos CSS de un primario, es decir,
los estilos aplicados a un primario se aplican tambin a un secundario. No todas las
propiedades CSS se pueden heredar. Al aplicar estilos, debe consultar la especificacin
CSS para determinar la herencia de propiedades.
Figura 5-2
Cuadros primarios
y secundarios
Desde sus inicios, CSS carece de una manera fcil de organizar elementos en horizontal
LISTO PARA CERTIFICACIN
Qu es el modelo de caja
y vertical en los documento HTML, para usar CSS en el control del diseo y que este se
flexible? represente bien en diversos exploradores y en distintos tamaos de pantalla. Los modelos
3.2 de CSS3 de caja flexible y diseo de cuadrcula abordan este problema.
El modelo de cuadros flexibles de CSS es un modo de diseo para el uso de cuadros
flexibles en interfaces de usuario. El modelo forma parte del borrador de la especificacin
de CSS3. Una caja flexible ofrece diseos flexibles para interfaces de usuario. Puede crear
pginas web y aplicaciones mviles con elementos, controles, barras de herramientas,
mens y formularios que se redimensionan y reposicionan automticamente cuando el
usuario cambia el tamao de la ventana del explorador. El explorador toma en cuenta
elespacio disponible y calcula las dimensiones para el usuario, lo cual permite tamaos
relativos y posicionamiento.
Por ejemplo, en la Figura 5-3 se muestra una barra de herramientas horizontal con iconos
en una caja flexible. La caja flexible primaria se indica mediante el fondo sombreado y los
iconos son los cuadros secundarios. Cuando un usuario aumenta el tamao de la pantalla
horizontalmente, la caja flexible tambin y distribuye una cantidad uniforme de espacio
entre los elementos secundarios.
Figura 5-3
Una barra de herramientas
flexible
114 | Leccin 5
Mientras el modelo de caja flexible es adecuado para cosas sencillas como botones, barras
LISTO PARA CERTIFICACIN de herramientas y muchos formularios, puede usar el modelo de diseo de cuadrcula
Qu es el modelo de para diseos ms complejos. El modelo de diseo de cuadrcula le permite controlar
diseo de cuadrcula? el diseo de secciones o de documentos completos basados en HTML mediante CSS3.
3.2 Talcomo implica el nombre, un diseo de cuadrcula usa filas y columnas para lograr
queeldiseo se vea ms limpio y estructurado; vea la Figura 5-4.
Figura 5-4
Ilustracin de un diseo
de cuadrcula
El diseo de cuadrcula tambin ofrece modularidad, de forma que es muy fcil soltar
elementos en una cuadrcula, o mover las partes de una cuadrcula a otra zona de un
documento. Las cuadrculas son mucho ms flexibles y fciles de usar que las tablas,
oincluso las columnas y los elementos flotantes, de HTML para estructurar el diseo.
Tanto una caja flexible como su contenido se pueden configurar de forma que su
tamao cambie, en horizontal y en vertical, cuando cambia el tamao de la pantalla
CONCLUSIN
en la que se visualizan. Tambin se puede invertir la direccin y el orden de las cajas
flexibles con una lnea de cdigo.
Un elemento se define como caja flexible mediante las propiedades CSS display:flexbox
LISTO PARA CERTIFICACIN odisplay:inline-flexbox, descritas a continuacin:
Cmo se utiliza la caja
flexible para establecer la flexbox: establece la caja flexible como elemento de nivel de bloque
orientacin, direccin y inline-flexbox: establece la caja flexible como elemento alineado
alineacin de contenido?
3.2 Un cuadro dentro de otro cuadro es un cuadro secundario, que puede ser una caja flexible
o no. Un cuadro secundario se conoce como elemento de caja flexible.
Comprender los principios bsicos de CSS: Diseos | 115
La propiedad flexbox introduce adems otras nueve propiedades, descritas en la tabla 5-1.
En secciones posteriores va a aprender a usar muchas de estas propiedades y valores.
Tabla 5-1
Propiedades y valores Propiedad Valor Descripcin
decaja flexible
flex pos-flex Hace que los cuadros secundarios sean
neg-flex flexibles en altura y anchura.
preferred-size
none
flex-align start Establece la alineacin predeterminada de
end los cuadros secundarios. Si la orientacin
center del cuadro primario es horizontal,
baseline flex-align determina la alineacin vertical
stretch de los cuadros secundarios, y viceversa.
flex-direction row Controla la direccin de los cuadros
row-reverse secundarios en el cuadro primario;
column tambin afecta a la propiedad flex-pack.
column-reverse
flex-flow flex-direction Establece las propiedades flex-direction
flex-wrap y flex-wrap a la vez.
flex-item-align auto Invalida la alineacin predeterminada de los
start cuadros secundarios cuyo estilo se establece
end con la propiedad flex-align.
center
baseline
stretch
flex-line-pack start Establece la alineacin de los cuadros
end secundarios dentro del cuadro primario
center si existe espacio adicional.
justify
distribute
stretch
flex-order nmero Asigna los cuadros secundarios a grupos
y controla el orden en que aparecen en
un diseo, comenzando por el grupo
con el nmero ms bajo.
flex-pack start Justifica la alineacin de los cuadros
end secundarios dentro una caja flexible
center para garantizar que se llena todo el
espacio en blanco del cuadro primario.
flex-wrap nowrap Determina si los cuadros secundarios crean
wrap automticamente una nueva lnea y se
wrap-reverse ajustan a ella, o desbordan la caja flexible.
Utilice la tabla anterior como referencia al aprender a crear cajas flexibles y elementos
decaja flexible.
MS INFORMACIN
Para obtener ms informacin sobre cajas flexibles, visite la pgina web del mdulo de diseo
decuadro flexible CSS del W3C en http://www.w3.org/TR/css3-flexbox/.
116 | Leccin 5
Una caja flexible puede incluir cuadros secundarios flexibles en altura y anchura.
La propiedad flex hace que los cuadros secundarios sean flexibles. La propiedad
flex-flow establece las propiedades flex-direction y flex-wrap de una caja flexible
(el cuadro primario) a la vez.
Echemos un vistazo al funcionamiento de una caja flexible. Suponga que una empresa
ofrece tres tipos de servicios principales, que se muestran y describen brevemente en tres
prrafos en una pgina web. Los tres prrafos forman tres contenedores de informacin,
como se muestra en la Figura 5-5.
Figura 5-5
Una caja flexible primaria
con tres cuadros secundarios
(elementos de caja flexible)
Observe el espacio adicional que hay a la derecha del ltimo cuadro secundario, etiquetado
Secundario 3. Puede modificar el CSS que controla los cuadros de forma que los tres
cuadros secundarios aumenten de tamao automtica y uniformemente para llenar el
espacio disponible en la caja flexible. Tambin puede modificar un cuadro secundario,
por ejemplo Secundario 3, de forma que sea flexible y llene el espacio, como se muestra
en la Figura 5-6.
Figura 5-6
Modificacin del tercer
cuadro secundario para
llenar el espacio disponible
El valor de tamao preferido puede ser cualquier valor vlido para las propiedades CSS
height y width, como 100px. Si no se especifica un valor de tamao preferido, el valor
predeterminado es 0px. Tambin puede establecer el valor de tamao preferido en auto,
en cuyo caso se usa el valor de la propiedad width o height como tamao preferido.
La palabra clave none equivale a 0 0 auto.
El valor de la propiedad flex requiere una explicacin ms detallada. Suponga que tiene una
caja flexible con tres cuadros secundarios. El valor de flex para Secundario1 y Secundario2
es 1 y es 2 para Secundario3. Un elemento secundario con un valor flex de 2 es el doble de
flexible que un elemento secundario con un valor de 1. Esto no significa necesariamente
TOME NOTA
* que Secundario3 ser dos veces ms ancho que Secundario1 y Secundario2. El valor de
flexin es un clculo basado en el espacio disponible para estiramiento o disminucin;
el cambio se asigna en funcin de la parte de flexibilidad en comparacin con los dems
cuadros secundarios.
<body>
<div>
<p>Este es el cuadro Secundario1.</p>
<p>Este es el cuadro Secundario2.</p>
<p>Este es Secundario3.</p>
<p>Este es Secundario4.</p>
</div>
</body>
</html>
Figura 5-7
Cuadros secundarios flexibles
en un cuadro primario
<body>
<div>
<p>Este es el cuadro Secundario1.</p>
<p>Este es el cuadro Secundario2.</p>
<p>Este es Secundario3.</p>
</div>
</body>
</html>
La propiedad display: flexbox crea el cuadro primario: la caja flexible. Se crea un
contorno color plata para la caja flexible, que simplemente ayuda a visualizar la caja
flexible en la ventana del explorador en este ejercicio. Los estilos de prrafo (p) se
aplican a los elementos de la caja flexible (los cuadros secundarios). La propiedad
flex aplica flexibilidad a cada cuadro secundario. Los elementos tienen una anchura
preferida de 75 pxeles. Si queda espacio en la caja flexible cuando aumenta el tamao
de la pantalla, los elementos de la caja flexible se amplan horizontalmente para llenar
el espacio.
El contorno alrededor de la caja flexible (cuadro primario) se usa para que resulte ms fcil
identificar los bordes de la caja flexible. No es necesario incluir un contorno alrededor de
TOME NOTA
* las cajas flexibles en las aplicaciones o pginas web.
Figura 5-8
Crear una caja flexible con
elementos de caja flexible
Alternativamente, puede usar la funcin flex de CSS con la propiedad height o width de CSS
para controlar la altura y la anchura de los elementos de caja flexible. La propiedad flex y la
funcin flex tienen el mismo comportamiento, pero su sintaxis no es la misma, yaque una
funcin contiene valores entre parntesis.
En el ejercicio siguiente se muestra cmo usar la funcin flex y se presenta la propiedad
flex-wrap. La propiedad flex-wrap determina si los cuadros secundarios crean automticamente
una nueva lnea y se ajustan a ella, como se muestra en la Figura 5-9. La propiedad flex-wrap
utiliza los valores nowrap, wrap y wrap-reverse.
Figura 5-9
Ejemplo de ajuste mediante
la propiedad flex-wrap: wrap
Como veremos, el cdigo CSS utiliza prefijos de proveedor (-ms-, -moz-, -o- y -webkit-),
necesarios para que funcione la propiedad flex-wrap. Recuerde, los prefijos de proveedor
se utilizan con frecuencia durante la transicin a CSS3 para que el cdigo sea compatible
con tantos exploradores como sea posible.
display: -o-flexbox;
display: -webkit-flexbox;
flex-wrap: wrap;
-ms-flex-wrap: wrap;
-moz-flex-wrap: wrap;
-o-flex-wrap: wrap;
-webkit-flex-wrap: wrap;
height: 200px;
padding: 1em;
color: white;
outline: 2px solid silver;
}
div>div {
width: 75px;
width: -ms-flex(1 75px);
width: -moz-flex(1 75px);
width: -o-flex(1 75px);
width: -webkit-flex(1 75px);
margin: 1em;
height: 100px;
background-color: #b200ff;
font-family: sans-serif;
text-align: center;
line-height: 100px;
font-size: xx-large;
}
</style>
</head>
<body>
<div>
<div>Servicio 1</div>
<div>Servicio 2</div>
<div>Servicio 3</div>
</div>
</body>
</html>
Igual que en el ltimo ejercicio, la propiedad display: flexbox crea el cuadro primario:
la caja flexible. El segundo grupo de estilos div (div>div, que no es ms que una
formaresumida para aplicar estilos a un grupo de elementos HTML sin asignar clases)
se aplica a los elementos de la caja flexible: la propiedad width junto con la funcin
flex controlan la anchura de los elementos de la caja flexible, que tienen una anchura
preferida de 75 pxeles, pero llenarn el espacio disponible cuando aumente el tamao
de la pantalla. La propiedad flex-wrap con la funcin wrap hace que los elementos de la
caja flexible se ajusten a ella.
2. Guarde el archivo como L5-flexfunction-exercise.html y bralo en un explorador web.
Maximice la ventana. La pgina debe ser parecida a la de la Figura 5-10.
Figura 5-10
Elementos de caja flexible en
una caja flexible primaria
122 | Leccin 5
4. Reduzca ms el tamao de la ventana hasta que los artculos de la caja flexible queden
ajustado a la lnea.
5. Abra el archivo en cada uno de los otros exploradores ms importantes para ver si el
archivo se representa correctamente.
6. Cierre el archivo pero deje la herramienta de edicin y el explorador web abiertos si va
a continuar con el siguiente ejercicio durante esta sesin.
Una buena manera de determinar si un explorador web puede representar las propiedades
de la caja flexible es usar los controles de la pgina web Flexin en
http://ie.microsoft.com/testdrive/HTML5/Flexin/Default.html. Haga clic en cada control
TOME NOTA
* para ver si cambian la caja flexible y los elementos de la caja flexible de ejemplo.
Porejemplo, algunos exploradores representan la justificacin horizontal correctamente
yotros no. Lo mismo puede decirse de la flexin de elementos secundarios.
Otras propiedades que podra usar bastante a menudo con las cajas flexibles son:
flex-pack: justifica la alineacin de los cuadros secundarios dentro de una caja flexible
y minimiza el espacio en blanco en el cuadro primario. Esta propiedad acepta uno
decuatro valores: start, end, justify, or center.
flex-align: establece la alineacin predeterminada de los cuadros secundarios, con
un rasgo especial. Si la orientacin del cuadro primario es horizontal, flex-align
determina la alineacin vertical de los cuadros secundarios y viceversa.
Una vez que se han adaptado los elementos secundarios de una caja flexible, si todava
queda espacio disponible en dicha caja, los elementos secundarios se pueden alinear con
las propiedades flex-pack y flex-align (o flex-item-align). Lo ms importante que debe recordar
es aplicar la propiedad flex-pack a la caja flexible primaria en el cdigo CSS y aplicar
flex-align a los elementos secundarios.
display: -o-flexbox;
display: -webkit-flexbox;
flex-flow: column;
-ms-flex-flow: column;
-moz-flex-flow: column;
-o-flex-flow: column;
-webkit-flex-flow: column;
height: 400px;
padding: 1em;
outline: 2px solid silver;
color: white;
font-family: sans-serif;
font-weight:bold;
}
p{
width: 100px;
margin: 1em;
height: 100px;
background-color: dodgerblue;
text-align: center;
line-height: 100px;
}
</style>
</head>
<body>
<div>
<p>Secundario1</p>
<p>Secundario2</p>
<p>Secundario3</p>
</div>
</body>
</html>
El resultado de representar este cdigo y marcado en el explorador web se muestra
enlaFigura 5-12.
Figura 5-12
Tres cuadros secundarios
en orden numrico
124 | Leccin 5
Para invertir el orden de los cuadros secundarios, cambie cada uno de los valores
delacolumna flex-flow a column-reverse, as:
flex-flow: column-reverse;
-ms-flex-flow: column-reverse;
-moz-flex-flow: column-reverse;
-o-flex-flow: column-reverse;
-webkit-flex-flow: column-reverse;
Compare la Figura 5-13 con la Figura 5-12 para ver los efectos del valor de inversin.
Figura 5-13
Los mismos cuadros
secundarios en orden
inverso
-webkit-flex-flow: column;
height: 400px;
padding: 1em;
outline: 2px solid silver;
color: white;
font-family: sans-serif;
font-weight: bold;
}
p{
width: 300px;
margin: 1em;
height: 100px;
background-color: olive;
text-align: center;
line-height: 100px;
}
</style>
</head>
<body>
<div>
<p>Roca</p>
<p>Papel</p>
<p>Tijeras</p>
</div>
</body>
</html>
Figura 5-14
Una caja flexible con
elementos de caja flexible
en orientacin vertical
3. Abra el archivo en cada uno de los otros exploradores ms importantes para ver
sielarchivo se representa correctamente.
126 | Leccin 5
flex-flow: column-reverse;
-ms-flex-flow: column-reverse;
-moz-flex-flow: column-reverse;
-o-flex-flow: column-reverse;
-webkit-flex-flow: column-reverse;
Figura 5-15
Los elementos de la
caja flexible estn
en orden inverso
6. Abra el archivo en cada uno de los otros exploradores ms importantes para ver
sielarchivo se representa correctamente.
7. Cierre el archivo pero deje la herramienta de edicin y el explorador web abiertos
sivaa continuar con el siguiente ejercicio durante esta sesin.
display: -moz-flexbox;
display: -o-flexbox;
display: -webkit-flexbox;
flex-flow: row;
-ms-flex-flow: row;
-moz-flex-flow: row;
-o-flex-flow: row;
-webkit-flex-flow: row;
height: 200px;
padding: 1em;
background-color: palegoldenrod;
font: bold 100%/1 sans-serif;
}
div>div {
width: 100px;
margin: 1em;
height: 100px;
background-color: dodgerblue;
text-align: center;
color: white;
font-size: x-large;
line-height: 100px;
}
</style>
</head>
<body>
<div>
<div>Llaves</div>
<div>Telfono</div>
<div>Cartera</div>
</div>
</body>
</html>
Al abrir el archivo en el explorador se ve el resultado que se muestra en la Figura 5-16.
Figura 5-16
Tres cuadros secundarios
en una caja flexible con
orientacin horizontal
As, para reordenar los cuadros secundarios y que los cuadros de Llaves y Cartera
aparezcan antes del cuadro Telfono, agregue este cdigo al final de la seccin de estilo:
div>div:first-child,
div>div:last-child {
flex-order: 1;
-ms-flex-order: 1;
-moz-flex-order: 1;
-o-flex-order: 1;
-webkit-flex-order: 1;
}
Al abrir el archivo en el explorador web se ve el resultado que se muestra en la Figura 5-17.
Figura 5-17
Reordenacin de
cuadros secundarios
en un cuadro primario
Los diseos de cuadrcula se parecen a las hojas de clculo, ya que usan columnas,
CONCLUSIN filas y celdas. En realidad, puede crear diferentes tipos de diseos que, al final, no se
parecen a una hoja de clculo en absoluto.
Los diseos de cuadrcula resultan perfectos para diseos complejos que no son fciles de
administrar con cajas flexibles. Los diseos de cuadrcula son adecuados para interfaces
de juegos y para diseos de peridicos (vase la Figura 5-18). Un diseo de cuadrcula
Comprender los principios bsicos de CSS: Diseos | 129
permite colocar filas y columnas para tener control preciso sobre el diseo, con menos
cdigo CSS del que sera necesario con tcnicas ms antiguas. Otra ventaja de las
cuadrculas es su modularidad. Para mover bloques de contenido de una parte de
una pgina o aplicacin a otra, solo hay que mover unas lneas de cdigo en CSS.
Figura 5-18
Un diseo de peridico
con una cuadrcula
Tabla 5-2
(contina) Propiedad Valor Descripcin
grid-column-sizing track-minmax Cambia el tamao de columnas o filas
o implcitas, cuyo tamao es automtico
grid-row-sizing de forma predeterminada
Con todas las propiedades disponibles, es fcil imaginar que la estructura de la cuadrcula,
y la posicin y el tamao de sus elementos, se pueden especificar de muchas maneras.
Crear una cuadrcula con las propiedades de CSS para filas y columnas
Las propiedades principales para crear una cuadrcula son display:grid (o display:inline-grid),
grid-columns y grid-rows.
Las columnas y filas se pueden definir de forma que tengan un tamao fijo, que no
cambia cuando cambia el tamao de la pantalla, o un tamao fraccionario relativo al
de la cuadrcula. Los tamaos fraccionarios se definen mediante fr, de modo que una
fila definida como 2fr tendr un tamao doble que el de una fila definida como 1fr.
LISTO PARA CERTIFICACIN El valor 1fr indica una fraccin. Tambin se puede usar el valor auto para que las columnas
Cules son las o filas se ajusten a su contenido.
propiedades de CSS
El siguiente cdigo CSS y marcado HTML proporcionan un ejemplo de diseo de
para las filas y columnas
cuadrcula. El prefijo de proveedor -ms- se incluye al principio de todas las construcciones
de una cuadrcula?
relacionadas con cuadrculas porque, en el momento de escribir este libro, solo Microsoft
3.2
Internet Explorer 10 admite diseos de cuadrcula. Esto se ilustra en la Figura 5-19.
Figura 5-19
Diseo de cuadrcula sencilla
Comprender los principios bsicos de CSS: Diseos | 131
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Ejemplo de cuadrcula</title>
<style type="text/css">
#grid {
background: palegoldenrod;
border: silver;
display: -ms-grid;
color: white;
font-family: sans-serif;
font-weight: bold;
-ms-grid-columns: 150px auto 2fr;
-ms-grid-rows: 50px 6em auto;
}
#logo {
background: dodgerblue;
-ms-grid-row: 1;
-ms-grid-column: 1;
}
#item {
background: olive;
-ms-grid-row: 2;
-ms-grid-column: 2;
}
</style>
</head>
<body>
<div>
<div id="grid">
<div id="logo">Logotipo</div>
<div id="item">Elemento</div>
</div>
</div>
</body>
</html>
En este ejemplo, la estructura de la cuadrcula tiene tres columnas y tres filas. La primera
columna tiene una anchura fija de 150 pxeles. La anchura de la segunda columna se
ajusta al contenido de la columna, como indica la palabra clave auto. La tercera columna
mide dos unidades fraccionarias del espacio que queda en la cuadrcula.
La primera fila tiene una altura de 50 pxeles, la segunda fila tiene una altura de 6 ems
yla altura de la tercera fila se ajusta al contenido de la fila.
4. Agregue otro elemento a la cuadrcula, de modo que aparezca una celda en la tercera
fila y tercera columna. Para ello, escriba el cdigo siguiente al final de la seccin
deestilo:
#item2 {
background: orange;
-ms-grid-row: 3;
-ms-grid-column: 3;
}
Figura 5-20
Un tercer elemento agregado
a la cuadrcula
MS INFORMACIN
Para obtener ms informacin sobre diseos de cuadrcula, visite la pgina de diseo de cuadrcula
CSS en http://www.w3.org/TR/css3-grid-layout/.
LISTO PARA CERTIFICACIN El mdulo de diseo de plantillas de cuadrcula de CSS de W3C ofrece otra forma de
Qu es una plantilla disear cuadrculas: la creacin de una plantilla de cuadrcula, que es como una tabla
de cuadrcula? vaca en la que se pueden incorporar datos. Una plantilla de cuadrcula utiliza caracteres
3.2 alfabticos para representar la posicin de los objetos en una cuadrcula.
Se usa la propiedad grid-position y se asigna un carcter alfabtico como valor de posicin.
Enlos ejemplos siguientes se muestra la propiedad grid-position definida para cuatro elementos:
news { grid-position: a; }
weather { grid-position: b; }
sports { grid-position: c; }
events { grid-position: d; }
Despus de asignar posiciones, se crea un diseo mediante cadenas de caracteres. Una
cadena equivale a una fila y cada carcter de la cadena es una columna. Por ejemplo,
para crear una cuadrcula con una fila y cuatro columnas cuyo tamao se ajusta al
contenido, se usara la siguiente sintaxis:
div { grid-template: "abcd"; grid-rows: auto;
grid-columns: auto;}
Comprender los principios bsicos de CSS: Diseos | 133
Aunque en este ejemplo se utiliza la palabra clave auto, se puede usar cualquiera de los
valores de grid-rows y grid-columns indicados en la tabla 5-2.
La especificacin para los diseos de plantilla de cuadrcula es todava una versin en
borrador y, en el momento de escribir este libro, no la admite ningn explorador web.
Con todo, podra encontrar alguna plantilla de cuadrcula en el examen MTA 98-375.
Enconsecuencia, debe consultar la ltima especificacin del mdulo de diseo de
plantillade cuadrcula CSS de W3C al prepararse para el examen.
RESUMEN DE CONOCIMIENTOS
Evaluacin de conocimientos
Rellene los espacios en blanco
Complete las oraciones siguientes escribiendo la palabra o palabras correctas en los
espacios en blanco proporcionados.
1. es la parte de un sitio o aplicacin web con la que interacta
elusuario.
2. En el modelo de cuadros CSS de W3C original, el es el espacio
entre el borde y el contenido del cuadro.
134 | Leccin 5
Varias opciones
Rodee con un crculo la letra correspondiente a la mejor respuesta.
1. El modelo de cuadros CSS de W3C original no incluye cul de las siguientes
opciones?
a. margen
b. borde
c. barra de herramientas
d. relleno
2. Cul de las siguientes opciones es la que mejor se adapta a botones y barras
deherramientas?
a. modelo de caja flexible
b. modelo de cuadros de CSS
c. modelo de diseo de cuadrcula
d. ninguna de las anteriores
3. Est usando CSS para crear una caja flexible en un documento HTML para el trabajo.
Todos en el trabajo utilizan el explorador web Internet Explorer. Qu prefijo debe
usarse con los nombres de propiedad CSS para asegurar la compatibilidad mientras
se visualiza el documento HTML?
a. -moz-
b. -ms-
c. -webkit-
d. -o-
4. Qu propiedad de las cajas flexibles hace que los cuadros secundarios sean flexibles
en altura y ancho?
a. flex
b. flex-child
c. flex-wrap
d. flex-align
Comprender los principios bsicos de CSS: Diseos | 135
Verdadero / Falso
Haga un crculo alrededor de la V si el enunciado es verdadero o alrededor de la F
sielenunciado es falso.
VF1. A una caja flexible la define un elemento con las propiedades CSS
display:boxflex o display:inline-boxflex.
VF2. Una caja principal puede contener una o ms cajas secundarias.
VF3. No se puede invertir el orden de las cajas secundarias dentro de una caja flexible.
VF4. Una caja flexible requiere un color de contorno o de fondo.
VF5. Un uso apropiado para un diseo de cuadrcula es en un peridico o juego
enlnea.
136 | Leccin 5
Evaluacin de competencias
Escenario 5-1: Distinguir entre el modelo de caja flexible y el modelo
dediseo de cuadrcula
Una compaera de trabajo llamada Cynthia confunde el modelo de caja flexible CSS
deW3C con el modelo de diseo de cuadrcula. Qu le dice para aclarar ambos?
Evaluacin de aptitudes
Escenario 5-3: Solucionar la incompatibilidad del explorador de manera
alternativa
Ed dice que no importa cun cuidadosamente comprueba su cdigo CSS y marcado
HTML, y que ha validado su documento en la pgina web Servicio de validacin de
marcado W3C: el documento no se representa como se esperaba en el explorador web.
Algunas de las propiedades de la caja flexible simplemente no funcionan. Qu le dice
aEd?
TRMINOS CLAVE
contenedor de contenido guiones
origen de contenido iframe
exclusiones de CSS diseo con varias columnas
regiones CSS flujo con nombre
flow-from flotador posicionado
flow-into
Stacey, el administrador del sitio web de Malted Milk Media, ha disfrutado estudiando
HTML5 y CSS3 con su ayuda. Le pide un ltimo favor: le gustara aprender ms
sobre las tcnicas de flujo contenido mediante CSS3. Quiere preparar una presentacin
electrnica sobre regiones CSS, diseo con varias columnas, guiones y exclusiones de
CSS. Le gustara presentar la informacin en un almuerzo de trabajo para el personal
lasemana que viene.
137
138 | Leccin 6
TOME NOTA
* Si bien CSS3 permite usar diseos de varias columnas para separar el contenido en
Microsoft recomienda columnas (vea la Figura 6-1), las regiones CSS ofrecen un mejor control del flujo de
usar regiones CSS para contenido en diseos ms complejos. Las regiones CSS se usan conjuntamente con
el diseo de pginas y tcnicas de diseo CSS como columnas, cajas flexibles y diseos de cuadrcula.
JavaScript en el desarrollo Los guiones, que parten las palabras entre slabas al final de las lneas, son tambin
de aplicaciones en importantes para lograr diseos fluidos, ya que permiten la justificacin completa de
tiempo de ejecucin en losprrafos independientes y los que estn en columnas. Los flotadores posicionados,
Windows8 e Internet queahora se denominan exclusiones CSS, permiten ajustar texto por completo alrededor
Explorer 10. de imgenes, formas y contenedores de texto.
En esta leccin se tratan las regiones CSS, varias columnas de CSS3, los guiones de CSS3
y los flotadores posicionados para ayudarle a aprender a fluir y presentar contenido en
diseos HTML que se ajustan dinmicamente.
MS INFORMACIN
Para obtener ms informacin sobre regiones CSS, guiones y varias columnas, Adobe y Microsoft
ofrecen buenos recursos de consulta. Visite la pgina de Adobe sobre regiones CSS3: y diseo
depginas con HTML en http://adobe.ly/kN7MUy. Para obtener ms informacin de Microsoft,
visitesu pgina web sobre CSS en http://bit.ly/rZLwOr.
Administrar el flujo de texto mediante CSS | 139
Las regiones CSS permiten que el contenido fluya entre las reas adyacentes o distantes
CONCLUSIN de un documento HTML. Las regiones CSS son reas definidas de un documento HTML
en las que puede fluir contenido. Si hay demasiado contenido para caber en una regin,
el contenido que queda fluye automticamente a la regin siguiente. Es algo parecido al
funcionamiento de los programas de diseo de pginas.
Las regiones no tienen que estar juntas en el documento y se puede controlar el orden en que
aparece el contenido que fluye. En la Figura 6-3 se muestra flujo de contenido entre regiones
no contiguas. Este tipo de flujo permite agregar citas y barras laterales a un documento sin
interrumpir el flujo del contenido.
Figura 6-3
Flujo de contenido no
contiguo entre regiones
140 | Leccin 6
Un origen de contenido puede ser un bloque de texto, o varios, del mismo documento
LISTO PARA CERTIFICACIN HTML o de otro, que tiene el contenido que desea que fluya por todo un diseo.
Qu es un origen de Elcontenido se conoce como una corriente de contenido.
contenido y un contenedor
de contenido en relacin Tambin necesita contenedores de contenido, que son las reas hacia las que fluye el
con las regiones CSS? contenido. Un documento HTML con contenedores de contenido acta como una pgina
3.3 maestra, como una plantilla, en la cual el tamao y la posicin de cada contenedor se
coloca donde desea que aparezca contenido, pero cada contenedor est inicialmente vaco.
Dentro del origen de contenido, al elemento que contiene el contenido que se va a fluir
sele asigna la propiedad CSS flow-into. El valor de esta propiedad se conoce como flujo
LISTO PARA CERTIFICACIN con nombre.
Cmo se puede hacer
fluir texto entre varias
El ejemplo siguiente comienza con cdigo CSS para un origen de contenido. El valor de
flow-into es main, que es el flujo con nombre. Como en realidad el contenido aparecer
regiones?
3.3
en otro lugar (en los contenedores de contenido), este elemento de origen no se mostrar
en la pgina HTML.
<style>
#source {
flow-into: main;
}
.region {
flow-from: main;
background: #9ACD32;
}
</style>
<body>
<div id="source">
<p>Lorem ipsum dolor ...</p>
</div>
<div id="region1" class="region"></div>
<div id="region2" class="region"></div>
<div id="region3" class="region"></div>
</body>
El W3C define las regiones CSS en la especificacin de regiones CSS, un trabajo que
todava no ha terminado en el momento de escribir este libro. Por ello, como sucede con las
*
TOME NOTA
cajas flexibles y las cuadrculas descritas en la leccin 5, debe usar prefijos de proveedor
con los nombres de propiedades. Ver el uso del prefijo de proveedor en el siguiente
ejercicio paso a paso.
Figura 6-4
Flujo de contenido
en contenedores
Figura 6-5
Si cambia el tamao de la
pantalla, el contenido fluye
de otra manera
Tambin puede tener varios orgenes y asignar la propiedad flow-into a varios elementos.
El contenido se obtendr desde el origen en el orden en el que aparece en el Document
Object Model (DOM). Esto se conoce como el orden del documento.
El DOM se explic en la leccin 1, pero debe revisarse aqu. El DOM es una especificacin
del W3C que describe la estructura de documentos HTML y Extensible Markup Language
TOME NOTA
* (XML) dinmicos de una manera que un explorador web puede manipular. El DOM permite
que los programas y scripts actualicen el contenido, la estructura y los estilos sobre la marcha.
Se puede modificar todo lo que haya en un archivo HTML o XML.
142 | Leccin 6
TEXTO DESBORDANTE
Con objeto de que funcionen las regiones CSS, el flujo del contenido no puede afectar a la
altura de una regin: las alturas de las regiones se deben definir en CSS de forma que no
sean flexibles. Una regin recibe tanto contenido como puede albergar y, a continuacin,
fluye el contenido restante a la regin siguiente.
Si todava queda contenido una vez que se han llenado todas las regiones, puede
producirse una de tres situaciones. El contenido desbordante de la ltima regin:
Se truncar
Continuar el desbordamiento y ser visible
Continuar el desbordamiento pero estar oculto
El contenido desbordante de la ltima regin se puede controlar mediante las propiedades
region-overflow y overflow.
region-overflow se establece en auto o break. Con el valor auto la propiedad overflow
se puede establecer en visible u oculta. Por ejemplo, si desea que el contenido de
desbordamiento contine fluyendo y est visible, debe usar la siguiente sintaxis:
.region {
region-overflow:auto;
overflow:visible;
}
En la Figura 6-6 se muestra contenido visible que fluye ms all del final de la ltima
regin.
Figura 6-6
Contenido de desbordamiento
visible
A continuacin, se creara el flujo con nombre mediante un selector CSS que especifica
elorigen de los datos:
Para crear contenedores de contenido, asigne un nombre de clase a los elementos que
desea usar como contenedores:
<div class="region"></div>
<div class="region"></div>
El uso de region en ambos casos no es un error. Al igual que al aplicar cualquier regla CSS,
puede identificar regiones mediante un nombre de clase compartido (como en este ejemplo)
TOME NOTA
* o enumerarlas mediante identificadores individuales (como en el primer ejemplo).
A continuacin, cree un selector CSS que especifique la fuente de datos desde la cual
aceptar el flujo de contenido:
Podra ver estas construcciones al estudiar o desarrollar regiones CSS para su uso
enWindows 8 o Internet Explorer 10.
body{
font-family: serif;
color: black;
font-size: large;
}
#source{
-webkit-flow-into: main;
}
.region{
-webkit-flow-from: main;
margin: 0 25px 0 0;
background: #EEE8AA;
padding: 20px;
}
#region1{
width: 20%;
height: 50%;
float: izquierda;
}
#region2{
width: 20%;
height: 50%;
float: izquierda;
}
#workarea{
posicionamiento: absoluto;
padding: 25px;
}
</style>
</head>
<body>
<div id="source">
<p>Lorem ipsum dolor . . . mollis un ipsum.</p>
</div>
<div id="workarea">
<div id="region1" class="region"></div>
<div id="region2" class="region"></div>
</div>
</body>
</html>
Los puntos suspensivos (. . .) en el prrafo de Lorem ipsum indican que se ha emitido
parte del contenido por motivos de presentacin. En el documento HTML, incluya un
prrafo de texto simulado de entre 8 y 10 lneas.
2. Guarde el archivo como L6-regions-exercise.html.
3. Aplique negrita alineada a algn texto que est hacia la mitad de un prrafo.
4. Vuelva a guardar el archivo.
5. Observe que el cdigo CSS usa el prefijo de proveedor -webkit-. Debe una marca de
la lnea de comandos para habilitar las regiones CSS en el explorador. Para hacerlo,
Administrar el flujo de texto mediante CSS | 145
8. Reduzca el tamao de la ventana del explorador para ver el efecto del contenido
dedesbordamiento.
9. Cmo puede impedir que contenido pase al segundo contenedor? Haga los cambios
necesarios en el cdigo CSS, vuelva a guardar el archivo y vea el resultado en el
explorador.
10. Cierre el archivo pero deje la herramienta de edicin y el explorador web abiertos
sivaa continuar con el siguiente ejercicio durante esta sesin.
MS INFORMACIN
Visite la pgina web del mdulo de nivel 3 de regiones de CSS del W3C en
http://www.w3.org/TR/2012/WD-css3-regions-20120823/ para obtener la informacin ms reciente sobre
laimplementacin de regiones de CSS. Puede realizar una prueba de uso de regiones de CSS en el sitio web
de Microsoft, en http://bit.ly/veOZX2. (Nota: Es posible que esta pgina requiera Internet Explorer 10 para
unarepresentacin adecuada.)
CSS3 permite crear diseos de varias columnas que funcionan de forma muy parecida
a la caracterstica de columnas de Microsoft Word. Tambin puede habilitar los guiones
para partir correctamente las palabras al final de las lneas. As se evita el problema de
las palabras largas que se ajustan a la lnea siguiente y dejando un hueco en la lnea
anterior.
Otras de las caractersticas nuevas de CSS3 son los diseos de varias columnas y los
guiones. Ahora puede crear varias columnas, con el estilo de un peridico, en documentos
HTML que se escalan en funcin del tamao de la pantalla del usuario. Los guiones parten
palabras al final de las lneas para crear un margen derecho ms uniforme yeliminar
huecos de espacio en blanco en los prrafos.
146 | Leccin 6
CREAR COLUMNAS
Las propiedades de CSS3 para el diseo de varias columnas le permiten crear columnas
dividiendo texto en varias columnas, especificar la cantidad de espacio que aparece entre
columnas (la separacin), hacer que aparezcan lneas verticales (reglas) entre columnas
ydefinir dnde se parten las columnas.
Las principales propiedades de CSS que se usan para crear y manipular varias columnas
en un documento HTML son:
column-count: establece el nmero de columnas en las que se debe dividir un elemento.
Tambin se puede usar la propiedad de columnas con valores para establecer las
propiedades column-count y column-width a la vez.
column-gap: especifica la distancia entre las columnas.
column-rule: crea una lnea vertical en la separacin entre las columnas y establece
elancho, el estilo (lnea simple o doble, continua, discontinua, 3D, etc.) y el color
delaregla.
En el diseo de varias columnas de CSS3 se usa el concepto de cuadro de columna en
referencia al contenedor en el que se encuentra el contenido, que se muestra en columnas.
El cuadro de columna est entre el cuadro de contenido y el contenido en el modelo de
cuadros de CSS original. Consulte la leccin 5 si necesita informacin sobre el modelo
decuadros.
En la tabla 6-1 se indican todas las propiedades de columna de CSS3.
Tabla 6-1
Propiedades de varias Propiedad Valor Descripcin
columnas usadas en CSS3
break-after auto Inserta un salto despus del cuadro
always de columnas generado
avoid
left
right
page
column
region
avoid-page
avoid-column
avoid-region
break-before (los mismos Inserta un salto antes del cuadro
que break-after) de columnas generado
break-inside auto Inserta un salto dentro del cuadro
avoid de columnas generado
avoid-page
avoid-column
avoid-region
column-count integer Establece el nmero de columnas
auto que usar un elemento
column-fill auto Especifica cmo llenar las columnas.
balance Equilibra el contenido uniformemente
entre las columnas, si se puede, o llena
las columnas secuencialmente.
(contina)
Administrar el flujo de texto mediante CSS | 147
Tabla 6-1
(contina) Propiedad Valor Descripcin
column-gap length Especifica el espacio entre columnas
normal
column-rule column-rule-width Es una propiedad resumida que establece
column-rule-style las propiedades column-rule-width,
column-rule-color column-rule-style y column-rule-color
transparent en el mismo lugar de una hoja de estilos
column-rule-color color Especifica el color de la regla entre
columnas
column-rule-style border-style Especifica el estilo de la regla entre las
columnas, por ejemplo continua, doble,
discontinua, etc.
column-rule-width border-width Especifica el ancho de la regla entre
columnas
column-span none Especifica si un elemento debe abarcar
all todas las columnas o ninguna
column-width length Especifica el ancho de una o varias
auto columnas
columns column-width Establece las propiedades column-width
column-count y column-count a la vez
Veamos ahora cmo funciona el cdigo CSS. Este cdigo usa la propiedad column-count
LISTO PARA CERTIFICACIN
Cmo se crean varias
para crear tres columnas con el texto del marcado HTML siguiente:
columnas con CSS en <head>
un documento HTML? <style>
.tricolumn { column-count: 3; }
3.3 </style>
</head>
<body>
<h2>Tres columnas</h2>
<div class="tricolumn">
Lorem ipsum. . . orci.
</div>
</body>
Dado que las columnas CSS3 todava se encuentran en fase de desarrollo, podra tener que
agregar prefijos de proveedor a los nombres de propiedades de columnas. En este caso,
hemos modificado el cdigo como se indica a continuacin para los cuatro exploradores
ms conocidos:
<style>
.tricolumn {
-ms-column-count: 3;
-moz-column-count: 3;
-o-column-count: 3;
-webkit-column-count: 3;
}
</style>
148 | Leccin 6
Puede crear varias columnas usando la propiedad columnas, que es una ms breve de
establecer el nmero y el ancho de las columnas en una sola declaracin. En el siguiente
cdigo se usa el valor auto para el ancho de las columnas:
.tricolumn { columns: 3 auto; }
Otra forma de usar la propiedad de columnas es asignar un valor numrico a column-width
y column-count establecido en auto. En este ejemplo, column-width se establece en 15em,
loque significa que el elemento de varias columnas tendr una anchura de columna
de15ems (o 15 veces el ancho del tamao de la fuente del contenido de la columna):
columns: auto 15em;
Agreguemos ahora una regla de columna. Esta propiedad establece el ancho, el estilo y
el color de la regla que hay entre todas las columnas. La sintaxis de una lnea discontinua
azul de 3 pxeles de anchura es:
column-rule: 3px dashed blue;
Para controlar el tamao del espacio entre columnas, use la propiedad column-gap.
Estapropiedad usa un valor entero, como se muestra abajo, o la palabra clave normal.
column-gap: 3em;
El efecto final de tres columnas con una regla de columna y un hueco de 3em se muestra
en la Figura 6-9 (con prefijos de proveedor aplicados). Si se cambia el tamao de la
ventana del explorador tambin cambia el tamao de las columnas y se distribuye su
contenido, como se muestra en la Figura 6-10.
Figura 6-9
Tres columnas con un
espacio grande y una regla
Figura 6-10
Si se cambia el tamao de
la ventana del explorador,
cambia el de las columnas
Para especificar si un elemento como un encabezamiento debe abarcar las columnas, use
la propiedad column-span. Esta propiedad se establece en el nmero de columnas que se
Administrar el flujo de texto mediante CSS | 149
deben abarcar, o usa las palabras clave all o none, que significan que un elemento abarca
todas las columnas o ninguna columna, respectivamente.
column-span: all;
Como puede ver, las propiedades relacionadas con las columnas proporcionan una
presentacin flexible del contenido con muy pocas declaraciones CSS.
Figura 6-11
Resultado del ejercicio
de tres columnas
150 | Leccin 6
5. Cambie el tamao de la ventana del explorador para ver qu sucede con las columnas.
6. (Opcional) Reemplace Mis tres columnas con un encabezado ms largo. Trate de que
el encabezado abarque las tres columnas.
7. Cierre el archivo pero deje la herramienta de edicin y el explorador web abiertos si va
a continuar con el siguiente ejercicio durante esta sesin.
MS INFORMACIN
Para obtener ms informacin sobre diseos de varias columnas, visite la seccin sobre regiones de
varias columnas de la pgina web del mdulo de regiones de CSS en http://bit.ly/IA03vV y la pgina
sobre varias columnas de CSS3 de W3schools.com en http://bit.ly/KpY0Gz.
USAR GUIONES
Los guiones unen dos palabras con un guion (-) o dividen las palabras entre slabas al
final de una lnea. Los guiones resultan muy tiles en diseos de varias columnas para
eliminar los espacios en blanco que crean en las columnas las palabras largas que se
LISTO PARA CERTIFICACIN ajustan automticamente a la lnea siguiente. El uso de guiones hace que el texto tenga
Cmo se habilitan los unaspecto ms profesional. En general, con los guiones automticos se intenta justificar
guiones con CSS en un el texto en el margen derecho.
documento HTML?
3.3 CSS3 introduce la propiedad hyphens, que controla los guiones. La propiedad usa los
valores none, manual y auto:
auto: permite la separacin automtica con guiones de palabras segn las opciones
de salto de lnea dentro de palabras o por un recurso de separacin por guiones
apropiado para el idioma.
manual: permite la separacin por guiones de palabras segn las opciones de salto
delnea dentro de palabras.
none: impide la separacin por guiones.
El W3C seala que se debe declarar un idioma mediante los atributos lang de HTML
TOME NOTA
* o xml:lang de XML para que el uso de guiones automtico sea correcto. As, si todo un
Hay una lista de cdigos
documento HTML est en el mismo idioma (ingls, por ejemplo) y quiere habilitar los
de idioma disponible
guiones automticos, debe agregar el atributo al elemento HTML o la declaracin doctype:
en la pgina web de
referencia de cdigos <!doctype html>
de idiomas para HTML <html lang="es-es">
de W3schools.com en o
http://www.w3schools.
com/tags/ref_language_ <html xmlns="http://www.w3.org/1999/xhtml"
codes.asp. xml:lang="es" lang="es">
Es necesario incluir prefijos de proveedor con la propiedad de guiones, es decir,
-ms-hyphens para Internet Explorer 10, -moz-hyphens para Firefox, etc.
Microsoft proporciona ms propiedades de guiones especficas para entornos Microsoft,
como se indica a continuacin:
-ms-hyphenate-limit-zone: especifica el ancho del espacio en blanco final (la zona de
guiones, como se ve en la Figura 6-12) que puede dejarse en una lnea antes de que se
usen los guiones. El valor de la propiedad es una longitud en pxeles o un porcentaje.
-ms-hyphenate-limit-chars: especifica el nmero mnimo de caracteres de una palabra para
que se puedan usar guiones. Si el nmero es menor que el mnimo, no se pueden usar
guiones en la palabra.
Administrar el flujo de texto mediante CSS | 151
Figura 6-12
La zona de guiones
Figura 6-13
La propiedad -ms-hyphens
representada en Internet
Explorer 10
152 | Leccin 6
<!doctype html>
<html lang="es-es">
<head>
<meta charset="utf-8" />
<title>Ejemplo de guiones</title>
</head>
<body>
<div style="width: 200px;
border: 2px solid orange;">
MS INFORMACIN
Para obtener ms informacin sobre los guiones, consulte la seccin correspondiente en la pgina
web sobre el nivel 3 de texto CSS del W3C en http://www.w3.org/TR/css-text-3/#hyphens. Microsoft
proporciona informacin sobre las propiedades de guiones especficas de Internet Explorer en
http://bit.ly/IQpgj4.
Quizs observ que en el ejercicio sobre regiones anterior de esta leccin se usaron
flotadores. A los dos flotadores se les asigno el valor left, por lo que se ven juntos
LISTO PARA CERTIFICACIN cuando se representan. La posicin era relativa al resto del documento. Adems, si no
Qu es un flotador se especifica la altura o anchura de un flotador, el elemento cambia automticamente
posicionado o exclusin detamao para que quepa el contenido.
de CSS? Con las exclusiones CSS puede controlar la posicin de un flotador con precisin, a
3.3 una distancia especificada desde la parte superior, inferior, izquierda o derecha de un
contenedor. Tambin puede crear un flotador con cualquier forma: rectangular, circular,
triangular y prcticamente cualquier otra. Las dems partes del documento simplemente
fluyen alrededor de la exclusin.
En el ejemplo de exclusiones de CSS de la Figura 6-14 se usa un diseo de varias
columnas con una exclusin (denominada flotador posicionado en el sitio web) en
elmedio. Puede mover el cuadro a cualquier lugar del diseo de ejemplo y ver que
eltexto circundante automticamente fluye alrededor del cuadro azul.
Figura 6-14
Un flotador posicionado en
un diseo de varias columna
en Internet Explorer 10
En la tabla 6-2 se mencionan las propiedades del W3C relacionadas con las exclusiones
de CSS.
Tabla 6-2
Propiedades de exclusiones Propiedad Valor Descripcin
de CSS
shape-outside auto Crea la forma general de una exclusin
shape
url
shape-inside outside-shape Modifica el contenido de una forma
auto
shape
uri
wrap wrap-flow Es un mtodo abreviado para establecer
wrap-margin las propiedades wrap-flow, wrap-margin
wrap-padding y wrap-padding en una declaracin
wrap-flow auto Especifica cmo afectan las exclusiones al
both contenido alineado dentro de elementos
start del nivel de bloque
end
maximum
clear
wrap-margin length Proporciona un desplazamiento para
el contenido fuera del elemento
wrap-padding length Proporciona un desplazamiento para
el contenido dentro de un elemento
wrap-through wrap Especifica cmo se debe ajustar el
none contenido alrededor de un elemento
de exclusin
Para crear una exclusin de CSS sencilla, use la propiedad wrap-flow: both para que el
contenido se muestre en todos los lados de la exclusin. Otra opcin es usar wrap-flow:
clear, que muestra contenido por encima y por debajo de la exclusin, pero deja los
ladosen blanco.
Una forma de exclusin se declara con las propiedades shape-inside y shape-outside,
quedefinen el contenido y la forma general de una exclusin, respectivamente.
En la actualidad, las exclusiones de CSS no funcionan correctamente en ninguno de
los principales exploradores. Si desea experimentar con exclusiones de CSS, pruebe
con Internet Explorer 10. Para usar propiedades de las exclusiones de CSS para su
representacin en Internet Explorer 10, agregue el prefijo de proveedor -ms-. Microsoft
usa tambin las propiedades -ms-wrap-side y -ms-flow-wrap, que no forman parte de la
especificacin del W3C.
MS INFORMACIN
Para obtener ms informacin sobre exclusiones de CSS, visite la pgina web de nivel 3 del mdulo
deexclusiones y formas de CSS del W3C en http://www.w3.org/TR/css3-exclusions/. La pgina web
sobre exclusiones de Microsoft, en http://bit.ly/ImadRV, proporciona informacin sobre lasexclusiones
de CSS y las propiedades especficas de Microsoft para usos con Windows 8 eInternet Explorer 10.
RESUMEN DE CONOCIMIENTOS
Evaluacin de conocimientos
Rellene los espacios en blanco
Complete las oraciones siguientes escribiendo la palabra o palabras correctas en los
espacios en blanco proporcionados.
1. son reas definidas de un documento HTML en las que puede
fluirel contenido. Se usan en lugar de varias columnas en diseos ms complejos.
2. Las propiedades de CSS3 para el le permiten crear columnas
dividiendo texto en varias columnas, especificar la cantidad de espacio que aparece
entre columnas (la separacin), hacer que aparezcan lneas verticales (reglas) entre
columnas y definir dnde se parten las columnas.
3. Un puede ser uno o varios bloques de texto en el mismo documento
HTML, o en otro, que incluye el contenido que desea que fluya a travs de un diseo
de CSS Regions.
4. son la parte de las regiones CSS en las que es fluye el contenido.
5. es el proceso de conectar dos palabras con un guion (-) o dividir
palabras entre slabas al final de una lnea.
6. Un es un flotador posicionado que permite posicionar imgenes,
texto y cuadros en cualquier parte de un documento HTML y luego ajustar el texto
completamente en torno a estos elementos.
156 | Leccin 6
Varias opciones
Rodee con un crculo la letra correspondiente a la mejor respuesta.
1. Va a crear un origen de contenido de CSS Regions denominado principal.
Culdelas siguientes opciones es la sintaxis correcta?
a. flow-from: main
b. flow-into: main
c. main: flow-into
d. main: flow-from
2. Va a crear un contenedor de contenido de CSS Regions para que se asocie con un
origen de contenido denominado principal. Cul de las siguientes opciones es
lasintaxis correcta?
a. flow-from: main
b. flow-into: main
c. main: flow-into
d. main: flow-from
3. Cules son las opciones para manipular texto de desbordamiento en el ltimo
contenedor de una regin CSS? (Seleccione todas las respuestas que correspondan).
a. Truncamiento
b. Continuar el desbordamiento y ser visible
c. Continuar el desbordamiento pero estar oculto
d. Duplicacin
4. En qu difiere la implementacin de regiones CSS de Microsoft de la especificacin
de W3C?
a. Microsoft usa la propiedad flow-into.
b. Microsoft usa la propiedad flow-from.
c. Microsoft no usa iframes.
d. Microsoft usa iframes.
5. Qu propiedad de CSS3 crea columnas escalables?
a. column-count
b. add-columns
c. wrap-columns
d. ninguna de las anteriores
6. Qu propiedad de CSS3 crea una lnea entre columnas en un diseo de varias
columnas?
a. break-inside
b. column-fill
c. column-gap
d. column-rule
7. Cul de las siguientes opciones no es un valor admitido para la propiedad
deguiones CSS3?
a. none
b. lines
c. manual
d. auto
Administrar el flujo de texto mediante CSS | 157
8. Cul de las siguientes opciones especifica el ancho del espacio en blanco final
quepuede dejarse en una lnea antes de que ocurra la unin por guion?
a. -ms-hyphenate-limit-chars
b. -ms-hyphenate-limit-lines
c. -ms-hyphenate-limit-zone
d. ninguna de las anteriores
9. Cul de las siguientes opciones era el trmino usado anteriormente para exclusiones
de CSS?
a. flotadores de izquierda/derecha
b. flotadores posicionados
c. cambiador de forma
d. DOM
10. Qu propiedad de CSS3 crea una exclusin de CSS?
a. wrap-flow
b. flow-wrapper
c. shape-wrapper
d. wrapper-shape
Verdadero/Falso
Haga un crculo alrededor de la V si el enunciado es verdadero o alrededor de la F
sielenunciado es falso.
VF1.Una exclusin de CSS debe ser de forma circular o rectangular.
VF2.Debe declarar un idioma mediante el atributo lang de HTML o xml:lang
de XML para que el uso de guiones sea correcto.
VF3.Puede centrar un encabezado en varias columnas mediante la propiedad
column-span: all
VF4.Las regiones CSS se usan conjuntamente con tcnicas de diseo CSS como
columnas, cajas flexibles y diseos de cuadrcula.
VF5.En las regiones CSS, el valor de la propiedad flow-from debe ser el mismo
que el de la propiedad flow-into.
Evaluacin de competencias
Escenario 6-1: Flujo de contenido en un boletn
Changpu es compaero en prcticas en Malted Milk Media. Su gerente le pidi que creara
un diseo de boletn con HTML5 y CSS3. El boletn ser visto por empleados que usan
equipos, tabletas y, quizs, smartphones. Changpu cre una plantilla con secciones, artculos,
un encabezado y pie de pgina, y caractersticas adicionales. Desea que algunos elementos
muevan automticamente contenido de desbordamiento a distintas reas del diseo, pero no
est seguro de cmo hacerlo. Cmo lo aconseja?
Evaluacin de aptitudes
Escenario 6-3: Comprender los requisitos del uso de guiones
Salih es un amigo suyo de la universidad. Est creando un documento HTML que tiene
contenido en rabe para su grupo de habilidades de lenguaje y quiere que el documento
contenga guiones. Us la propiedad de guiones y est visualizando el documento en un
explorador web compatible, pero los guiones no funcionan correctamente. Hay algo
msque Salih deba hacer en el documento?
TRMINOS CLAVE
animacin escalar
propiedad border-radius sesgar
sombra paralela filtro SVG
degradado transformar
fotograma clave transicin
degradado lineal trasladar
opacity transparencia
perspectiva Web Open Font Format (WOFF)
degradado radial Web segura
girar
El equipo de desarrollo de Malted Milk Media desea actualizar su propio sitio web
para que tenga una imagen ms moderna. A usted le han pedido que revise las reas
principales del sitio y que sugiera mejoras grficas basadas en CSS3. Esperan que
todo ello ayude a Malted Milk Media a destacar frente a la competencia.
CSS3 permite crear impresionantes elementos grficos para sitios y aplicaciones web,
que aumentan la satisfaccin de la experiencia del usuario. Se pueden crear efectos
grficos como esquinas redondeadas y sombras paralelas, y aplicar transformaciones
159
160 | Leccin 7
LISTO PARA CERTIFICACIN CSS3 permite aplicar con facilidad varios efectos grficos a los elementos HTML, con
Qu nuevos efectos lo que la interfaz de usuario resulta ms atractiva. Algunos de los nuevos efectos grficos
grficos se pueden crear son las esquinas redondeadas, las sombras paralelas, la transparencia y los degradados
con CSS3? de fondo. Algunas de estas propiedades, como las sombras, se pueden aplicar incluso
3.4 al texto.
<body>
<div>Cuadro con esquinas redondeadas</div>
</body>
</html>
Administrar la interfaz grfica mediante CSS | 161
Tambin se puede redondear una sola esquina de un cuadro con las propiedades siguientes:
border-top-left-radius
border-top-right-radius
border-bottom-right-radius
border-bottom-left-radius
En la Figura 7-2 se muestra un ejemplo de cada cuadro.
Figura 7-2
Cuadros con una esquina
redondeada cada uno
CREAR SOMBRAS
CSS3 introduce la propiedad box-shadow para crear sombras alrededor de elementos de
diseo. Una sombra paralela es un efecto visual en el cual un objeto se repite detrs y
levemente por debajo de s mismo para crear la ilusin de que el objeto flota sobre su fondo.
162 | Leccin 7
LISTO PARA CERTIFICACIN La sintaxis de CSS para crear una sombra es:
Qu propiedad de CSS box-shadow: h-shadow v-shadow blur spread color inset;
crea sombras paralelas
alrededor de elementos Los atributos h-shadow y v-shadow indican la posicin horizontal y vertical de la sombra
de diseo? en relacin con el cuadro. Estos dos atributos son obligatorios. El valor h-shadow define
3.4 el desplazamiento horizontal de la sombra. Un valor positivo desplaza la sombra hacia
laderecha del elemento y un valor negativo hacia la izquierda. El valor v-shadow define
eldesplazamiento vertical de la sombra. Un valor positivo desplaza la sombra desde la
parte inferior del elemento y un valor negativo desde la parte superior.
Los dems atributos son opcionales. El atributo blur, en pxeles, indica la cantidad de
desenfoque que se aplica a la sombra. El atributo spread indica el tamao de la sombra,
color especifica el color de la sombra paralela e inset lleva la sombra del exterior al
interior de la caja.
En la Figura 7-3 se muestra un ejemplo de cuadro con esquinas redondeadas y sombra
paralela. La sombra se cre a partir de estos valores, que especifican la posicin horizontal
y vertical de la sombra, la cantidad de desenfoque y el color de la sombra:
box-shadow: 10px 10px 5px #808080;
Figura 7-3
Sombra paralela aplicada
a un cuadro
<body>
<div>Ejemplo de cuadro</div>
</body>
</html>
Figura 7-4
Cuadro con esquinas
redondeadas
3. Para agregar una sombra paralela, agregue la lnea siguiente al elemento de estilo:
box-shadow: 5px 5px 5px #999;
Figura 7-5
Cuadro con esquinas
redondeadas y una
sombra paralela
APLICAR TRANSPARENCIA
Un elemento opaco no permite que pase la luz, mientras que s se puede ver a travs de
unelemento transparente. Si bien los trminos son contrarios, reduciendo la opacidad
deun elemento o aumentando su transparencia, finalmente se llega al mismo punto.
En la Figura 7-6 se muestra el efecto de transparencia (u opacidad reducida) en una
imagen. La imagen original est a la izquierda; la imagen con un 50 % de transparencia
aplicado est a la derecha.
Figura 7-6
Transparencia aplicado
a una imagen
LISTO PARA CERTIFICACIN La sintaxis para aplicar una transparencia a una imagen u otro elemento es:
Qu propiedad de
CSS permite aplicar opacity: value
transparencia a una
El valor es un valor de punto flotante entre 0,0 (100 % transparente) y 1,0 (100 % opaco).
imagen o un elemento?
Para aplicar una transparencia de 45 %, por ejemplo, se usara el valor 0,55 (1,0 0,45).
3.4
164 | Leccin 7
Figura 7-7
Cuadro con esquinas
redondeadas, sombra
paralela y el 40 %
de transparencia
4. Deje el archivo, la herramienta de edicin y el explorador web abiertos si va a llevar
acabo el siguiente ejercicio durante esta sesin.
Para aplicar un degradado a una imagen HTML, use la propiedad background con uno de
LISTO PARA CERTIFICACIN los mtodos de degradado enumerados anteriormente, junto con los parmetros especficos
Qu propiedad de de cada mtodo. Los valores posibles para los mtodos se enumeran en la pgina web del
CSS permite agregar un mdulo de nivel 3 de valores de imgenes y contenido reemplazado de CSS del W3C,
degradado de fondo a enhttp://dev.w3.org/csswg/css-images-3/#repeating-gradients.
un contenedor HTML?
3.4 A degradado lineal es un degradado horizontal, vertical o diagonal. Para crear un
degradado lineal del negro al blanco, use el siguiente cdigo CSS:
background: linear-gradient(black, white);
El degradado predeterminado va desde arriba hacia abajo. Puede insertar top, bottom,
right o left como primer valor para controlar la direccin del degradado. En la
Figura7-8 se muestra el degradado de negro a blanco que va de arriba abajo.
Figura 7-8
Degradado lineal del negro
(arriba) al blanco (abajo)
Administrar la interfaz grfica mediante CSS | 165
Figura 7-9
Degradado radial
El primer conjunto de porcentajes (50% 50%) define los valores horizontal y vertical del
centro. En este caso, el degradado empieza en el centro del elemento. El segundo conjunto
de porcentajes (70% 70%) especifica el tamao y la forma del degradado. Puesto que un
degradado radial se parece a una elipse, los porcentajes hacen referencia a los radios. Los
cdigos hexadecimales del ejemplo son las paradas de color. La primera parada de color
es el punto inicial y la segunda es el punto final.
Observe el uso de prefijos de proveedor en este cdigo. La inclusin de todos los prefijos
de proveedor principales, es ms probable que el documento HTML se represente
correctamente para un gran nmero de usuarios. Sin embargo, como ya hemos visto en
la leccin 5, la inclusin de los cuatro prefijos de proveedor en el cdigo no garantiza
que la caracterstica de CSS3 funcione en todos los exploradores. Un explorador que no
TOME NOTA
* admita una caracterstica concreta no la mostrar correctamente, incluso con un prefijo
de proveedor. Algunos exploradores ofrecen compatibilidad parcial con una funcin, lo
que puede dar lugar a resultados irregulares. Durante la transicin a CSS3, debe probar
elcdigo en todos los exploradores principales antes de usar una caracterstica concreta
endocumentos HTML/CSS que se vayan a mostrar a un pblico amplio.
4.
Quite el borde (no el radio del borde), la opacidad y las lneas de sombra del cuadro
del CSS.
5.
Guarde el archivo como L7-gradient-exercise.html y visualcelo en distintos
exploradores web. Se muestra el degradado en todos ellos? El cuadro debe parecerse
al de la Figura 7-10 en todo explorador compatible con degradados lineales.
Figura 7-10
Cuadro con un degradado
de fondo aplicado
6. Cierre el archivo y los exploradores web, pero deje la herramienta de edicin abierta
siva a realizar el siguiente ejercicio durante esta sesin.
MS INFORMACIN
La pgina web Explorar nuevas ideas en el diseo y la distribucin de sitios web de Microsoft,
en http://bit.ly/KtYr1W, contiene vnculos a informacin sobre cmo crear esquinas redondeadas,
sombras paralelas y muchas ms cosas. La pgina web del mdulo de nivel 3 sobre el color en CSS del
W3C, en http://www.w3.org/TR/css3-color/, contiene la especificacin de las propiedades de color y
opacidad. Tambin puede visitar el sitio web W3schools.com, y buscar CSS3 y el tema que desee.
Los desarrolladores web estn empezando a usar el Web Open Font Format (WOFF)
como forma de mejorar las interfaces de usuario con casi cualquier fuente disponible
o fuentes personalizadas. La flexibilidad de poder usar cualquier fuente es un cambio
muy importante respecto a restricciones sobre el uso de fuentes en los documentos
HTML anteriores a WOFF.
Para usar una fuente no estndar en un encabezado, ttulo o bloque de texto, los
desarrolladores tenan que crear el contenido en un programa de diseo de pginas
odegrficos, guardarlo como imagen y, despus, usar la etiqueta <img> en los
documentosHTML. Este mtodo tiene varios inconvenientes:
Requiere mucho tiempo.
Afecta negativamente a los lectores de pginas de accesibilidad, ya que las imgenes
de texto no se pueden leer en voz alta.
LISTO PARA CERTIFICACIN Reduce la efectividad de la optimizacin del motor de bsqueda (SEO), porque
Cul es el objetivo del losmotores de bsqueda buscan texto, no imgenes de texto.
Web Open Font Format
(WOFF)? Los desarrolladores tambin deban usar fuentes incrustadas, que son conjuntos de
3.4 fuentes cargados en servidores. El diseador inserta un vnculo al conjunto de fuentes
en un documento HTML o archivo CSS, lo que ayuda a que la fuente se represente
correctamente en el explorador. Si bien las fuentes incrustadas se usando mucho,
WOFFes una tcnica nueva y mejor para el uso de fuentes no estndar.
El Web Open Font Format (WOFF) es un mtodo para mejorar tipografa en la Web.
WOFF permite a los desarrolladores web usar fuentes personalizadas, prcticamente
cualquier fuente, en lugar de tener que limitarse a las fuentes estndar para web. Los
archivos WOFF son fuentes comprimidas True Type, OpenType u Open Font Format
quecontienen metadatos adicionales.
Para usar WOFF, las fuentes se pueden guardar en el servidor o usar un servicio de
fuentes web. Hay fuentes gratuitas disponibles en diversos lugares, como fontsquirrel y
Open Font Library. Entre los servicios de fuentes estn FontFont y FontShop. Requieren
una suscripcin de pago, que da derecho a usar la fuente en un sitio web mientras la
suscripcin est vigente.
Para usar una fuente WOFF del sitio de un proveedor de fuentes, por ejemplo, incluya
laregla @font-face en el archivo CSS, como se indica a continuacin:
<style>
@font-face {
font-family: "font-family-name";
src: url("http://website/fonts/fontfile")
}
</style>
Algunas fuentes WOFF funcionan mejor que otras segn el explorador en el que se
visualicen. Por ejemplo, una fuente puede representarse en un explorador web perfectamente
y en otro puede aparecer en forma de mapa de bits o en una negrita inadecuada. Antes de
comprar fuentes WOFF, obtenga informacin sobre ellas en Internet para saber si otros
desarrolladores tuvieron problemas al usarlas. Algunos vendedores de fuentes ofrecen la
forma de obtener su vista previa en los exploradores principales antes de comprarlas.
MS INFORMACIN
La especificacin de WOFF est en el sitio web del W3C, en http://www.w3.org/TR/WOFF/. Para
obtener informacin sobre WOFF, visite la pgina sobre fuentes la Web, en http://www.w3.org/Fonts/,
y la pgina de preguntas frecuentes sobre WOFF, en http://www.w3.org/Fonts/WOFF-FAQ.html.
Aplicar transformaciones 2D y 3D
TOME NOTA
* La propiedad de transformacin de CSS3 traduce, escala, gira, sesga y hasta hacer
Se necesitara JavaScript girar elementos 2D y 3D.
o alguna otra forma
de scripting para ver En HTML5/CSS3, una transformacin es un efecto que permite cambiar el tamao, la
como tiene lugar una forma y la posicin de un elemento. Las transformaciones son 2D o 3D, y pueden ser el
transformacin 2D o 3D. traslado, el cambio de tamao, la rotacin, el sesgo (estiramiento) y el giro de los elementos.
Sin scripting, solo se ve
el resultado final de una Se usa la propiedad transform de CSS para especificar distintos tipos de transformaciones
transformacin. realizadas en elementos HTML. La propiedad transform usa varios mtodos para las
transformaciones 2D y 3D, que se describen en la tabla 7-1.
168 | Leccin 7
Tabla 7-1
Mtodos para la propiedad Valor Descripcin
de transformacin
matrix (n,n,n,n,n,n) Especifica una transformacin 2D mediante
una matriz de seis valores
matrix3d (n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n) Especifica una transformacin 3D mediante
una matriz 4 x 4 de 16 valores
Especifica una vista en perspectiva para
perspective(n)
un elemento 3D que se ha transformado
rotate (angle) Gira un elemento en 2D
rotate3d (x,y,z,angle) Gira un elemento en 3D
rotateX (angle) Gira un elemento en 3D a lo largo del eje X
rotateY (angle) Gira un elemento en 3D a lo largo del eje Y
rotateZ (angle) un elemento en 3D a lo largo del eje Z
scale (x,y) Escala un elemento en 2D (anchura y altura)
scale3d (x,y,z) Escala un elemento en 3D (anchura, altura
y un vector arbitrario en el espacio 3D)
scaleX (x) Escala un elemento en 3D a lo largo del eje X
scaleY (y) Escala un elemento en 3D a lo largo del eje Y
scaleZ (z) Escala un elemento en 3D a lo largo del eje Z
(un vector en el espacio 3D)
skew (x-angle,y-angle) Sesga un elemento en 2D a lo largo de los ejes
XeY
skewX (angle) Sesga un elemento en 3D a lo largo del eje X
skewY (angle) Sesga un elemento en 3D a lo largo del eje Y
translate (x,y) Traslada (mueve) un elemento en 2D
translate3d (x,y,z) Traslada (mueve) un elemento en 3D
translateX (x) Traslada un elemento en 3D usando el eje X
translateY (y) Traslada un elemento en 3D usando el eje Y
translateZ (z) Traslada un elemento en 3D usando el eje Z
ESCALADO 2D
Escalar un elemento es aumentar o disminuir su tamao. Para que un elemento aumente
LISTO PARA CERTIFICACIN
odisminuya de tamao dinmicamente, se usa el mtodo scale() de CSS, y se proporcionan
Qu significa escalar
los valores de los ejes X (anchura) e Y (altura). Por ejemplo, el cdigo siguiente aumenta
un elemento?
la anchura del elemento dos veces su tamao original y aumenta la altura cuatro veces su
3.4
tamao original:
transform: scale(2,4);
Un ejemplo de un elemento escalado se muestra en la Figura 7-12.
Figura 7-12
El cuadro escalado es
dos veces ms ancho y
cuatro veces ms alto
que el original
<body>
<div>Este elemento se puede mover</div>
</body>
2.
Guarde el archivo como L7-translate-exercise.html y visualcelo en dos exploradores
distintos como mnimo. El cuadro debe aparecer en la esquina superior izquierda de
laventana del explorador.
3.
Agregue las siguientes lneas al elemento de estilo:
transform: translate(200px,100px);
-ms-transform: translate(200px,100px);
-moz-transform: translate(200px,100px);
-o-transform: translate(200px,100px);
-webkit-transform: translate(200px,100px);
4.
Guarde el archivo y visualcelo en los mismos exploradores web. El cuadro se debe
haber movido hacia abajo y hacia la derecha.
5.
Para cambiar la escala del cuadro de forma que sea el doble de ancho y el doble
dealto que el cuadro original, agregue scale(2,2) a las lneas de transformacin, as:
transform: translate(200px,100px) scale(2,2);
-ms-transform: translate(200px,100px) scale(2,2);
-moz-transform: translate(200px,100px) scale(2,2);
-o-transform: translate(200px,100px) scale(2,2);
-webkit-transform: translate(200px,100px) scale(2,2);
6.
Cambie el texto de div a Este elemento se puede escalar.
7.
Guarde el archivo como L7-scale-exercise.html y visualcelo en los exploradores web.
La pantalla debe ser parecida a la de la Figura 7-13.
Figura 7-13
El cuadro se ha movido y
es dos veces ms grande
que el original
8. Cierre el archivo, pero deje la herramienta de edicin y los exploradores web abiertos
si va a realizar el siguiente ejercicio durante esta sesin.
Administrar la interfaz grfica mediante CSS | 171
ROTACIN 2D Y 3D
Girar un elemento consiste en moverlo en el sentido de las agujas del reloj una cantidad
concreta de grados. Para girar un elemento, se usa el mtodo rotate() de CSS y se especifican
los grados de giro.
Por ejemplo, el cdigo siguiente gira un elemento 30 grados en el plano 2D:
transform: rotate(30deg);
Figura 7-14
Imagen original e imagen
rotada 2D
Figura 7-15
La imagen original y
la imagen 3D girada
por el eje X
SESGAR 2D Y 3D
Sesgar un elemento es estirarlo en una o varias direcciones. Para sesgar un elemento
mediante CSS, se usa el mtodo skew() y se proporcionan los valores, en grados, de
los ejes X e Y para crear una forma angular. Por ejemplo, el cdigo siguiente gira
unelemento 20 grados alrededor del eje X y 30 grados alrededor del eje Y:
transform: skew(20deg,30deg);
En la Figura 7-17 se muestra un ejemplo de un elemento sesgado.
Figura 7-17
Un elemento sesgado
Figura 7-18
Un sesgo 3D en torno
al eje X
3.
Cambie el texto de div a Este elemento est rotado.
Administrar la interfaz grfica mediante CSS | 173
4.
Guarde el archivo como L7-rotate-exercise.html y visualcelo en los exploradores web.
Aparecen el cuadro y el texto girados como se muestra en la Figura 7-19?
Figura 7-19
Un cuadro girado con
un ngulo de 30 grados
5.
Para sesgar el cuadro 45 grados, reemplace el giro con un sesgo en las lneas
detransformacin, como se indica a continuacin:
transform: translate(200px,100px) skew(45deg);
-ms-transform: translate(200px,100px) skew(45deg);
-moz-transform: translate(200px,100px) skew(45deg);
-o-transform: translate(200px,100px) skew(45deg);
-webkit-transform: translate(200px,100px) skew(45deg);
6.
Cambie el texto de div a Este elemento est sesgado.
7.
Guarde el archivo como L7-skew-exercise.html y visualcelo en los exploradores web.
La pantalla debe ser parecida a la de la Figura 7-20.
Figura 7-20
Un cuadro sesgado con
un ngulo de 45 grados
8. Cierre el archivo, pero deje la herramienta de edicin y los exploradores web abiertos
si va a realizar el siguiente ejercicio durante esta sesin.
color: #fff;
font-family: sans-serif;
font-size: xx-large;
}
div#div2
{
margin: 100px;
perspective: 600; margin: 100px 0 0 50px;
-ms-perspective: 600; margin: 100px 0 0 50px;
-moz-perspective: 600; margin: 100px 0 0 50px;
-o-perspective: 600; margin: 100px 0 0 50px;
-webkit-perspective: 600; margin: 100px 0 0 50px;
<body>
<div>Elemento original</div>
<div id="div2">Elemento transformado</div>
</body>
</html>
Figura 7-21
Perspectiva aplicada con
un giro de 45 grados
Tabla 7-2
Propiedades de las Propiedad Descripcin
transiciones de CSS3
Es la forma abreviada de especificar la configuracin
transition
de transition-property, transition-delay, transition-duration
y transition-timing-function a la vez.
Especifica las propiedades de CSS que van a ser objeto
transition-property
de la transicin.
Especifica la cantidad de tiempo que pasa una vez que
transition-delay
cambia el valor y antes de que comience la transicin,
en segundos o milisegundos.
Especifica la duracin de la transicin en segundos
transition-duration
o milisegundos; comienza despus de la propiedad
transition-delay.
Especifica la curva de velocidad del efecto de transicin;
transition-timing-function
permite que la velocidad de la transicin cambie
mientras dura.
Valor predeterminado = ease, que comienza
relativamente rpido y se ralentiza hacia el final.
<body>
<div id="wrapper">
<div id="before">Ahora me ves</div>
<div id="after">Y ahora no</div>
</div>
</body>
Figura 7-22
Esta transicin simple oculta
un texto y muestra otro texto
cuando se pasa el puntero
del mouse por encima
176 | Leccin 7
transition-property: opacity;
-ms-transition-property: opacity;
-moz-transition-property: opacity;
-o-transition-property: opacity;
-webkit-transition-property: opacity;
transition-duration: 1s;
-ms-transition-duration: 1s;
-moz-transition-duration: 1s;
-o-transition-duration: 1s;
-webkit-transition-duration: 1s;
transition-timing-function: linear;
-ms-transition-timing-function: linear;
-moz-transition-timing-function: linear;
-o-transition-timing-function: linear;
-webkit-transition-timing-function: linear;
}
-o-opacity: 0;
-webkit-opacity: 0;
}
</style>
</head>
<body>
<div id="wrapper">
<div id="front">Toc-toc</div>
<div id="back">Quin llama?</div>
</div>
</body>
</html>
2.
Guarde el archivo como L7-transition-exercise.html. Abra el archivo en los distintos
exploradores web principales. Pase el puntero del mouse sobre el cuadro en cada
explorador. La pantalla debe ser parecida a la de la Figura 7-23.
Figura 7-23
Una transicin simple
3.
Para agregar un retraso, escriba lo siguiente despus de las lneas de la propiedad
deduracin de la transicin:
transition-delay: 1s;
-ms-transition-delay: 1s;
-moz-transition-delay: 1s;
-o-transition-delay: 1s;
-webkit-transition-delay: 1s;
Tabla 7-3
Propiedades de animacin Propiedad Valor Descripcin
de CSS3 predeterminado
@keyframes Crea la animacin.
Este fundido de salida se inicia inmediatamente cuando el usuario pasa el puntero del mouse
por encima de un elemento div, dura tres segundos y usa la funcin de temporizacin.
<body>
<div></div>
</body>
2.
Guarde el archivo como L7-animation-exercise.html. Abra el archivo en los distintos
exploradores web principales. La animacin consiste en un cuadro rectangular que
cambia de verde a azul y de azul a verde repetidamente. Funcion la animacin
en todos los exploradores web? Tome nota de qu exploradores web admiten
animaciones.
3.
Reemplace la lnea de animacin de la seccin div de CSS con lo siguiente:
animation-name: a1;
animation-duration: 4s;
animation-delay: 2s;
Los filtros SVG son una forma de aplicar estilo a los grficos SVG. Hay un gran
nmero de filtros, como el filtro feBlend, que combina imgenes, o el filtro feOffset,
que desplaza la imagen respecto a su posicin actual. Otros filtros afectan a la forma
en que se calcula la iluminacin de una ilustracin.
feTile
feTurbulence
feDistantLight
fePointLight
feSpecularLighting
feSpotLight
Muchos de los nombres de los filtros son bastante intuitivos. Por ejemplo, el filtro feBlend
combina imgenes, feColorMatrix filtra por transformaciones de color y feOffset mueve
una imagen en relacin con su posicin actual. Los cuatro ltimos de la lista filtran
poriluminacin.
Para definir filtros SVG se usa el elemento de filtro. Es necesario incluir el atributo
id para dar nombre al filtro. Por ejemplo, el siguiente cdigo es un ejemplo de filtro
feGaussianBlur, cuyos resultados se muestran en la Figura 7-24:
Figura 7-24
Un filtro de desenfoque
gaussiano aplicado a
un grfico SVG
<body>
<svg>
<defs>
<filter id="a1" x="0" y="0">
<feGaussianBlur in="SourceGraphic"
stdDeviation="20" />
</filter>
</defs>
<rect width="150" height="150" stroke="plum"
stroke-width="3" fill="plum" filter="url(#a1)" />
</svg>
</body>
El atributo id del elemento de filtro especifica el nombre del filtro. El elemento feGaussianBlur
especifica el efecto de desenfoque. Dentro de este elemento estn in="SourceGraphic", que
indica que todo el elemento estar desenfocado y el atributo stdDeviation, que especifica
la cantidad del desenfoque. El rectngulo que se crea se vincula con el filtro mediante
elatributo filter="url(#a1)" del elemento rect.
En otro ejemplo, el siguiente filtro feOffset crea una sombra paralela debajo de un rectngulo.
Una sombra se ajusta a la accin del filtro de desplazamiento, porque una sombra es
simplemente un cuadro desplazado hacia abajo y hacia la derecha de la imagen original.
Losatributos dx y dy especifican cunto hay que mover la imagen a lo largo de los ejes
XeY, respectivamente. La imagen representada se muestra en la Figura 7-25.
Administrar la interfaz grfica mediante CSS | 181
Figura 7-25
Un filtro de desplazamiento
aplicado a un grfico SVG
<body>
<svg>
<defs>
<filter id="i1" x="0" y="0">
<feOffset dx="5" dy="5" />
</filter>
</defs>
<rect width="150" height="150" fill="grey"
filter="url(#i1)" />
<rect width="150" height="150" fill="plum" />
</svg>
</body>
<body>
<svg>
<defs>
<filter id="i1" x="0" y="0">
<feOffset dx="5" dy="5" />
</filter>
</defs>
<rect width="150" height="150" fill="grey"
filter="url(#i1)" />
<rect width="150" height="150" fill="springgreen"
/>
</svg>
</body>
</html>
182 | Leccin 7
2.
Guarde el archivo como L7-SVGoffset-exercise.html. Abra el archivo en todos
losexploradores web principales. El resultado debe ser parecido a la Figura 7-26.
Serepresent la imagen con un desplazamiento en todos los exploradores web?
Tome nota de que los exploradores web que admiten el desplazamiento.
Figura 7-26
Un grfico SVG con
una sombra paralela
3.
Agregue la siguiente lnea en el elemento de filtro para aplicar el filtro de desenfoque
gaussiano:
<feGaussianBlur stdDeviation="5" />
4.
Guarde el archivo como L7-SVGgblur-exercise.html y visualcelo en los exploradores
web que admiten la funcin de desplazamiento de SVG. El resultado debe ser parecido
a la Figura 7-27.
Figura 7-27
Un grfico SVG con sombra
paralela y un desenfoque
gaussiano aplicado
aldesplazamiento
Puede usar propiedades de CSS para agregar color y degradados al objeto canvas,
aplicarle transformaciones y animaciones, y mejorarlo de otras formas.
LISTO PARA CERTIFICACIN Adems de SVG, en la leccin 2 se describe el elemento canvas. Canvas se puede usar para
Cmo se puedes el dibujar formas basadas en pxeles. Si bien el elemento canvas solo acepta dos atributos
elemento canvas para (altura y anchura), casi todas las propiedades de CSS se pueden usar para aplicarle estilo,
mejorar la interfaz grfica agregando color, degradados, rellenos de patrn, transformaciones, animaciones y muchas
de usuario? otras cosas. En esta seccin se describen algunos de los efectos de estilo que se pueden
3.4 aplicar a dibujos de canvas para mejorar la interfaz grfica de usuario (GUI).
Administrar la interfaz grfica mediante CSS | 183
En este ejemplo se usa el atributo fillStyle para el objeto getContext("2d"). Vamos a cambiar
el color para aplicar un degradado con el coral como color de inicio y el caqui como color
final. Reemplace la lnea fillStyle con lo siguiente, que se representa como se muestra en la
Figura 7-28:
var grd=context.createLinearGradient(0,0,150,0);
grd.addColorStop(0.3,"coral");
grd.addColorStop(0.7,"khaki");
Figura 7-28
Un objeto de canvas con
un degradado aplicado
context.fillStyle=grd;
Para girar el objeto canvas se usa la frmula degrees*Math.PI/180. Tambin se debe agregar
el giro antes de que se genere el rectngulo. As, para girar el objeto canvas 20 grados,
agregue la lnea siguiente de la lnea context-fillRect:
context.rotate(20*Math. PI/180);
Figura 7-29
Un objeto de canvas
girado 20 grados
Figura 7-30
Texto generado mediante
canvas rodeado con un
borde
Mientras que el mtodo fillText crea texto con relleno slido de cualquier color (negro de
manera predeterminada), fillText se puede reemplazar con strokeText para letras sin relleno,
solo con bordes.
2.
Guarde el archivo como L7-canvas-exercise.html. Abra el archivo en un explorador
web para comprobar que se ve un rectngulo de color coral.
3.
Reemplace el color slido con un degradado que empiece con azul claro y termine
conazul oscuro. Para ello, reemplace la lnea de fillStyle con lo siguiente:
var grd = context.createLinearGradient(0, 0, 150, 0);
grd.addColorStop(0.3, "lightblue");
grd.addColorStop(0.7, "darkblue");
context.fillStyle = grd;
Administrar la interfaz grfica mediante CSS | 185
4.
Escale el rectngulo de forma que sea cinco veces ms ancho y cinco veces ms alto
que el rectngulo original. Para ello, agregue lo siguiente despus de la nueva lnea
fillStyle:
context.scale(5,5);
5.
Vuelva a guardar el archivo y visualcelo en un explorador web. El resultado debe ser
parecido a la Figura 7-31.
Figura 7-31
Un rectngulo de canvas con
un degradado y escalado
para ser cinco veces ms
grande que el original
RESUMEN DE CONOCIMIENTOS
(contina)
186 | Leccin 7
Una transicin es un cambio de una cosa a otra; en CSS, una transicin es el cambio
de un estilo a otro en un elemento.
Una animacin es la visualizacin de una secuencia de imgenes estticas a una
velocidad lo bastante rpida para crear la ilusin de movimiento.
Un filtro SVG es un conjunto de operaciones que usan CSS para dar estilo o
modificar de alguna otra forma un grfico SVG. El grfico mejorado se visualiza
enun explorador mientras que el grfico original no se toca.
Si bien el elemento canvas solo acepta dos atributos (altura y anchura), casi todas
las propiedades de CSS se pueden usar para aplicarle estilo, agregando color,
degradados, rellenos de patrn, transformaciones, animaciones y muchas otras
cosas.
Evaluacin de conocimientos
Rellene los espacios en blanco
Complete las oraciones siguientes escribiendo la palabra o palabras correctas en los
espacios en blanco proporcionados.
1. Un es un cambio suave de color, ya sea dentro de la misma
tonalidad o partiendo con un color y terminando con otro.
2. un elemento es aumentar o disminuir su tamao.
3. Una es un efecto visual en el cual un objeto se repite detrs
ylevemente por debajo de s mismo para crear la ilusin de que el objeto flota
sobresufondo.
4. Una es un cambio de una cosa a otra; en CSS, es el cambio
enunelemento de un estilo a otro.
5. permite a los desarrolladores web usar fuentes
personalizadas, prcticamente cualquier fuente, en lugar de tener que limitarse
alasfuentes estndar para web.
6. La propiedad de CSS3 permite crear esquinas redondeadas en torno
a elementos de diseo, como encabezados, pies de pgina, barras laterales, cajas de
grficos y contornos alrededor de imgenes.
7. es opacidad reducida.
8. un elemento significa moverlo, sin rotar, sesgar ni girar de ninguna
manera la imagen.
9. En HTML5/CSS3, una es un efecto que permite cambiar el tamao,
la forma y la posicin de un elemento.
10. Un es un conjunto de operaciones que usan CSS para dar estilo
omodificar de alguna otra forma un grfico SVG.
Varias opciones
Rodee con un crculo la letra correspondiente a la mejor respuesta.
1. Cul de las siguientes opciones crea un degradado de arriba abajo, de izquierda
aderecha, o de esquina a esquina, sin reiterar colores?
a. linear-gradient
b. radial-gradient
c. repeating-linear-gradient
d. repeating-radial-gradient
Administrar la interfaz grfica mediante CSS | 187
Verdadero/Falso
Haga un crculo alrededor de la V si el enunciado es verdadero o alrededor de la F
sielenunciado es falso.
V F 1. Un elemento opaco no permite que pase la luz, mientras que s se puede ver
atravs de un elemento transparente.
V F 2. En CSS, rotar un elemento lo gira a la izquierda por un nmero determinado
degrados.
V F 3. Una animacin es la visualizacin de una secuencia de imgenes estticas
auna velocidad lo bastante rpida para crear la ilusin de movimiento.
V F 4. Los degradados radiales comienza desde un punto central e irradian color
alosbordes de un contenedor.
V F 5. La perspectiva, cuando se habla de dibujos e ilustraciones, es la convergencia
de lneas que da la ilusin de profundidad.
Evaluacin de competencias
Escenario 7-1: Solucin de problemas cdigo CSS3
Ali es un entusiasta de coches de poca que restaura los coches viejos y los vende para
obtener ganancias. Cuelga fotos y descripciones en su sitio web, que mantiene l mismo.
Ali est en transicin a HTML5 y CSS3 tanto como sea posible. Ha estado tratando de
aplicar las transformaciones de traslado y escala a una imagen 2D en su sitio pero ninguna
transformacin funciona. Este es el cdigo que est usando:
<style>
img { transform: translate(100px,50px);
transform: scale(2,4); }
</style>
Qu consejo le da a Ali?
Evaluacin de aptitudes
Escenario 7-3: Creacin de botones con mejoras
Edward est creando un conjunto de botones para una aplicacin web y quiere que los
botones tengan esquinas redondeadas y una pequea sombra paralela levemente borrosa.
Le pregunta qu propiedades CSS3 usar. Qu le dice?
TRMINOS CLAVE
devolucin de llamada biblioteca JavaScript
programa jQuery
aplicacin dinmica biblioteca
controlador de eventos mtodos
eventos subrutinas
funcin validacin
identificadores variable
interactividad
Malted Milk Media tiene una aplicacin mvil de mucho xito. Con todo, no es fcil
de usar. Los usuarios deben presionar ms teclas y esperar ms de lo que sera deseable.
El equipo de desarrollo ha decidido que JavaScript mejorar mucho la aplicacin,
haciendo que funcione mejor para los usuarios.
HTML5 y CSS3 son un punto de partida excelente para su sitio web o aplicacin mvil.
Con todo, para hacer algo ms que la mera presentacin de contenido estructurado,
(responder con datos individualizados sobre un usuario concreto, realizar transacciones de
CONCLUSIN comercio en lnea u obtener resultados derivados de los datos especificados, por ejemplo)
se necesita programacin de verdad. JavaScript es un lenguaje de programacin con
grandes posibilidades para expresar las interacciones que los usuarios finales necesitan
en una aplicacin.
189
190 | Leccin 8
Imagine una aplicacin mvil de servicio que muestre la hora de la prxima visita de
servicio a un cliente. Ofrece un hipervnculo para llamar por telfono a un repartido si es
necesario cambiar la hora de la entrega. No es algo muy prctico fuera de horas de oficina,
porque no habr nadie para responder la llamada. Cmo podra cambiar el hipervnculo
en funcin de la hora del da?
Cualquier trabajo de este tipo, que requiere una decisin, un clculo o un estudio por parte
de una persona, exige el uso de programacin. Para nosotros, un programa es una receta que
pedimos al equipo que ejecute y que genera una visualizacin o accin determinada. Muchas
pginas web estn diseadas para ser estticas, es decir, tienen el mismo aspecto para todos
LISTO PARA CERTIFICACIN los usuarios, en todos los casos. Con la programacin de JavaScript las aplicaciones pueden
Cmo hace JavaScript
ser dinmicas e interactivas, se adaptan y responden a usuarios finales concretos y a sus
que una aplicacin sea
acciones. La interactividad permite que un usuario final realice una accin en una aplicacin,
dinmica e interactiva?
generalmente haciendo clic en un botn o presionando una tecla. Una aplicacin dinmica
4.1
se adapta y responde a las acciones de los usuarios finales. Por otra parte, JavaScript ofrece
ms oportunidades para animar las pantallas, es decir, para que partes de la pantalla tengan
movimiento y se actualicen mientras un usuario final las visualiza.
Con los programas de JavaScript, varios elementos distintos tienen que cooperar para obtener
el resultado deseado. JavaScript difiere de CSS y HTML en algunos aspectos clave. En
este manual se describen nuevos conceptos para hacer el mejor uso de JavaScript. HTML y
CSS, por ejemplo, se centran en gran medida en que las cosas tengan un aspecto concreto.
En JavaScript, se presta ms atencin a cmo actan las cosas. Para probar un programa
de JavaScript, a menudo es necesario observar la pantalla en momentos distintos y, quizs,
interactuar con ella.
El trabajo con JavaScript, incluso ms que con HTML y CSS, depende de un entorno de
desarrollo que resulta conocido y con el que uno se siente cmodo. Un entorno de desarrollo
til puede ser tan simple como una copia del Bloc de notas e Internet Explorer, o tan
complejo como un entorno de desarrollo integrado (IDE) con editor, depurador, generador
de aplicaciones, etc. integrados. Si bien en los ejercicios de esta leccin se presupone que
se usan las herramientas ms sencillas, son fciles de adaptar a instalaciones ms complejas.
Los trminos programa y script son casi sinnimos. Algunas personas dicen script para
destacar que un cdigo fuente es pequeo, que no est en C o Java, o incluso por otras
TOME NOTA
* razones ms vagas. No se preocupes por las diferencias. En esta leccin, los trminos
programa, script, archivo de cdigo fuente y cdigo son prcticamente lo mismo.
Figura 8-2
Comprobar la configuracin
de JavaScript en Internet
Explorer
192 | Leccin 8
Figura 8-3
Un cuadro de alerta es una
forma prctica de probar
el funcionamiento de un
programa de JavaScript
X REF
En lecciones anteriores
aprendi los fundamentos
de la edicin de marcado
HTML y cdigo CSS,
y de la visualizacin de 5. Haga clic en Aceptar para cerrar el cuadro de alerta.
la pantalla resultante.
Use los mismos 6. Deje el archivo HTML, la herramienta de edicin y el explorador web abiertos si va
conocimientos para allevar a cabo el siguiente ejercicio durante esta sesin.
trabajar con JavaScript.
Este es su primer programa de JavaScript. Adems de tener un aspecto concreto en la
pantalla, su aspecto cambia. Esto es habitual en los programas: responden a acciones
delos usuarios.
Con todo, es un programa algo especial, porque la parte de JavaScript es casi invisible.
Ve el programa de JavaScript? Es el nico fragmento entre comillas, as:
alert('Hizo clic en el botn');
No es recomendable que el texto alert() se vea en el cdigo de produccin que se publica
para que lo usen los usuarios, por lo que casi nunca aparece en la documentacin de
referencia. Al mismo tiempo, es la forma ms sencilla de empezar con JavaScript
ypuedeser extremadamente til durante el desarrollo o la depuracin.
Un programa normal de JavaScript es una secuencia de declaraciones. Las declaraciones
se separan con punto y coma, como se indica en el siguiente ejercicio.
Figura 8-4
El segundo cuadro de alerta
se hace visible despus
de que el primero ha
desaparecido
MS INFORMACIN
Para obtener ms informacin sobre, JavaScript, visite la pgina web de JavaScript de W3schools.com
en http://www.w3schools.com/js/default.asp. Para obtener ms informacin sobre Microsoft
y JavaScript, busque msdn javascript con el buscador que prefiera.
En principio, se podra escribir un programa de JavaScript completo con una declaracin tras
otra en la secuencia exacta en la que se deben ejecutar. Con todo, para los programadores
resulta ms til introducir smbolos, o nombres, para partes especiales de un programa.
La primera de estas partes es una funcin. En programacin, una funcin es un segmento
LISTO PARA CERTIFICACIN de un programa que se define y realiza de manera aislada respecto a otras partes. Piense
Qu es una funcin ahora en una receta de cocina. No es necesario en todas las recetas explicar cada uno
de programacin?
de los pasos que se siguen para separar la clara de un huevo. En una receta normal
4.1
simplemente se dice agregar una clara de huevo y se supone que el usuario sabe
194 | Leccin 8
cmobuscar el huevo, abrirlo, sacar la clara, etc. En la cocina, incluso podra haber un
ayudante que prepara claras de huevo sin que la persona que elabora la receta participe
directamente en ello. La programacin funciona de forma parecida. Es habitual usar
funciones escritas por otras personas, a veces sin detenerse a analizar cmo funcionan.
Escribir una funcin de programacin tiene dos finalidades principales:
Se puede definir una sola vez una tarea que se lleva a cabo en varias situaciones.
Luego, puede usarse en muchos casos con confianza de que su comportamiento
ser el mismo. Este tipo de atajo es ms conciso y menos dado a errores que la
repeticin de toda una secuencia de pasos en cada contexto en el que la secuencia
podra ser necesaria.
Para facilitar las cosas a quien escribe, mantiene o lee el programa, es til e
informativo identificar segmentos significativos de funcionamiento con nombres
de funcin. De la misma forma que los libros tienen captulos, con ttulos que
informan sobre su contenido o tema, los programas tienen funciones.
Es importante entender que la accin de una funcin es la secuencia de las acciones de
lasdeclaraciones que contiene. Cuando se ejecuta un programa que contiene una funcin,
elprograma simplemente ejecuta las declaraciones que hay en la funcin.
Es tambin importante distinguir entre definicin y ejecucin de una funcin. La expresin
de una funcin (la parte function example1() {. . .}) no lleva a cabo ninguna parte del cdigo
de la funcin. Lo que se ve en el cdigo fuente es solo la definicin de una funcin. Solo
cuando la funcin se invoca, ejecuta o inicia (trminos sinnimos en este caso), se produce
un resultado til.
Figura 8-5
Este programa tiene
el mismo aspecto
que L8-js1.html
3. Haga clic en el botn. Compare la accin de esta pgina con el comportamiento del
archivo L8-js1.html que contiene dos alertas. Ve cmo actan igual aunque estn
escritos de forma un poco diferente? El cuadro de alerta tiene el mismo aspecto
yaseabra desde dentro de la definicin de una funcin o no.
4. Cierre el archivo HTML, pero deje la herramienta de edicin y el explorador web
abiertos si va a realizar el siguiente ejercicio durante esta sesin.
En este ejemplo se presentan al menos dos otros conceptos nuevos, adems del uso de
unafuncin. En primer lugar, el JavaScript se muestra incrustado en etiquetas <script> en
el HTML. Existen varias formas de conectar un programa de JavaScript con el HTML
al que se aplica. Este uso de <script> dentro <head> es habitual, especialmente en proyectos
de JavaScript de tamao medio.
Tambin debemos fijarnos en el nombre example1 de la funcin. Nosotros controlamos
este nombre. Al escribir href como parte de un hipervnculo, o alert() para que aparezca una
alerta, contamos con palabras clave definidas en los estndares de HTML y JavaScript,
respectivamente. Con todo, el nombre de funcin example1, no se encuentra en ninguno
de los estndares. Es nuestra eleccin. Simplemente, debemos ser coherentes: si escribimos
"my_example" en lugar de example1 en la definicin de la funcin, debemos usar tambin
"my_example".
Aunque el nombre de la funcin est bajo nuestro control, hay algunas restricciones
ennuestra eleccin: el nombre debe constar de letras, dgitos, guiones bajos y signos
de dlar, y el primer carcter del nombre debe ser una letra, un guion bajo o un signo
dedlar. "example$1" es un nombre de funcin de JavaScript aceptable, pero "not.with.
periods", "1wrong" y "first name/last name" no lo son.
Los programas de JavaScript tienen otro tipo de abreviatura simblica, o nombre, que
es habitual. Es lo que se conoce como variable. Mientras que una funcin enuncia una
secuencia de acciones, una variable representa un dato. Se usa la sintaxis var para definir
una variable nueva en JavaScript.
Las reglas para los identificadores de JavaScript (bsicamente, los nombres de variables y
funciones) son en realidad algo ms complicadas que lo que se ha descrito. Los identificadores
no pueden ser iguales a palabras ya usadas en el lenguaje; por ejemplo, if tiene un significado
TOME NOTA
* especial en declaraciones de JavaScript y no est disponible como nombre de variable.
Sin embargo, los caracteres permitidos en un nombre podran pertenecer a alfabetos que
no son el del ingls en determinadas circunstancias. La definicin completa de las reglas
de nomenclatura de JavaScript est fuera del alcance de esta leccin.
196 | Leccin 8
Figura 8-6
El valor de una variable
se muestra en un cuadro
de alerta
3. Haga clic en Aceptar para descartar la primera alerta y pasar a la segunda. Ve cmo
una variable puede ser til? Un nmero de serie u otra cantidad importante se podra
mostrar en distintos lugares de un programa. No es necesario copiar el valor en cada
lugar, porque JavaScript permite usar el nombre de la variable que contiene el valor.
4. Haga clic en Aceptar para cerrar el cuadro de la segunda alerta.
5. Cierre el archivo HTML, pero deje la herramienta de edicin y el explorador web
abiertos si va a realizar el siguiente ejercicio durante esta sesin.
Comprensin de los principios bsicos de JavaScript y codificacin| 197
Los programadores con ms experiencia saben hacer buen uso de lo que otros
escriben. Una biblioteca de programacin contiene fragmentos de cdigo, subrutinas,
clases y otros recursos que se pueden reusar para crear software. Hay muchas
bibliotecas de JavaScript disponibles y jQuery es una de las ms populares.
Otros programadores han pensado ya en muchas de las tareas a las que usted tendr
que hacer frente, ya trabaje comprobando que los nmeros de tarjetas de crdito no son
vlidos, visualizando imgenes mdicas o creando un sistema de chat para un equipo
repartido por cuatro continentes. Puede aprovechar lo que otros ya han escrito mediante
el uso de bibliotecas de JavaScript. Una biblioteca es una coleccin de recursos, como
cdigo y subrutinas de funcin preescritos, que los desarrolladores usan para crear
programas. Los programadores de JavaScript a veces denominan subrutinas las funciones
que no devuelven ningn valor. Una biblioteca de JavaScript es cdigo de JavaScript
preescrito.
La mayora de lugares de trabajo tienen establecida una poltica sobre qu bibliotecas
se pueden usar y cmo invocarlas. La Web est llena de consejos sobre las bibliotecas
y su uso, y constituye un gran mercado de bibliotecas disponibles. Muchas, si bien no
LISTO PARA CERTIFICACIN todas, estn disponibles de forma gratuita. Algunas cuentan con polticas de soporte
Qu es jQuery? ms o menos establecidas, es decir, un compromiso de respuesta si se notifican errores.
4.1 Algunos estn destinadas a un nmero reducido de programadores, por ejemplo, una
biblioteca que facilita el desarrollo de aplicaciones para controlar panaderas industriales,
pero otras estn destinadas a cualquiera que escriba cdigo en JavaScript.
jQuery es la principal biblioteca de JavaScript de este tipo. En ms de la mitad de los
10.000 sitios web ms visitados del mundo se usa jQuery. jQuery se puede usar de forma
gratuita y con muy pocas restricciones. Por supuesto, debe consultar a un abogado para
informarse sobre cmo le afectan a usted las licencias de la biblioteca. Adems, tenga
encuenta que Microsoft y otros lderes del sector hacen copias de jQuery disponibles
paraque cualquier persona las descargue y las use.
USAR JQUERY
PREPRESE. Para usar jQuery, siga estos pasos:
1. En una herramienta de edicin o de desarrollo de aplicaciones, cree L8-js4.html
conelsiguiente contenido:
<!doctype html>
<html>
<head>
<title>Primer uso de jQuery</title>
<script type = "text/javascript"
src =
"http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.5.js"></script>
<script type = "text/javascript">
// Una vez que cargue el documento HTML, ejecutar
// la funcin de ready().
$(document).ready(function() {
// Cada prrafo recibe una accin de "clic":
// ocultar ese prrafo concreto.
$("p").click(function() {
$(this).hide();
});
});
</script>
</head>
198 | Leccin 8
<body>
<p>Este es el primer prrafo. Haga clic en m para hacerme
desaparecer.
<p>Este es el segundo prrafo.
<p>Este es el tercer prrafo.
</body>
</html>
Figura 8-7
Una pantalla de HTML
sencilla, antes de que se
haya ejecutado JavaScript
3. Haga clic en cualquier lugar de la primera lnea. La lnea desaparece, como se muestra
en la Figura 8-8.
Figura 8-8
JavaScript ha actuado para
ocultar un prrafo
Como puede ver, este es un modelo de comportamiento til en una de sus aplicaciones
LISTO PARA CERTIFICACIN web, para mviles o para consola de juegos. Podra interesarle que la informacin que se
Qu otras bibliotecas de muestra a los usuarios finales cambie segn las circunstancias. Si bien se puede escribir
terceros existen, aparte JavaScript puro, sin jQuery, que se comporte como hemos visto en L8-js4.html, la
de jQuery?
codificacin es bastante ms lenta. jQuery acorta muchas de las operaciones habituales,
4.1
facilita su comprensin y simplifica la forma de expresarlas correctamente.
Es posible que tenga que usar muchas bibliotecas de terceros adems de jQuery. A menudo,
recibir instrucciones concretas sobre qu biblioteca debe usar. Cuando tenga la opcin
de elegir, no le ser difcil encontrar abundante informacin en Internet realizando una
Comprensin de los principios bsicos de JavaScript y codificacin| 199
<h1>Calculadora en explorador</h1>
<form name="calculator">
<table border=4>
<tr>
<td>
<input type="text" name="Input" Size="20">
<br>
</td>
</tr>
<tr>
<td>
<input type="button" name="one" value=" 1 "
200 | Leccin 8
OnClick="calculator.Input.value
+= '1'">
<input type="button" name="two" value=" 2 "
OnCLick="calculator.Input.value
+= '2'">
<input type="button" name="three" value=" 3 "
OnClick="calculator.Input.value
+= '3'">
<input type="button" name="plus" value="
+ " OnClick="calculator.Input.value
+= ' + '">
<br>
<input type="button" name="four" value=" 4 "
OnClick="calculator.Input.value
+= '4'">
<input type="button" name="five" value=" 5 "
OnCLick="calculator.Input.value
+= '5'">
<input type="button" name="six" value=" 6 "
OnClick="calculator.Input.value
+= '6'">
<input type="button" name="minus" value=" - "
OnClick="calculator.Input.value
+= ' - '">
<br>
<input type="button" name="seven" value=" 7 "
OnClick="calculator.Input.value
+= '7'">
<input type="button" name="eight" value=" 8 "
OnCLick="calculator.Input.value
+= '8'">
<input type="button" name="nine" value=" 9 "
OnClick="calculator.Input.value
+= '9'">
<input type="button" name="times" value=" x "
OnClick="calculator.Input.value
+= ' * '">
<br>
<input type="button" name="clear" value=" c "
OnClick="calculator.Input.value
= ''">
<input type="button" name="zero" value=" 0 "
OnClick="calculator.Input.value
+= '0'">
<input type="button" name="DoIt" value=" = "
OnClick="calculator.Input.value
= eval(calculator.Input.value)">
<input type="button" name="div" value=" / "
OnClick="calculator.Input.value
+= ' / '">
</td>
</tr>
</table>
</form>
</body>
</html>
Comprensin de los principios bsicos de JavaScript y codificacin| 201
Figura 8-9
Una calculadora creada
con JavaScript
Figura 8-10
Al hacer clic o tocar en el
signo igual de la calculadora
de JavaScript, el resultado
se calcula inmediatamente,
lo mismo que sucedera
con una calculadora de
mano convencional
Este pequeo ejemplo ilustra que un programa de JavaScript dentro del explorador puede
esencialmente todo lo que hace cualquier otra aplicacin, y a veces con solo unas cuantas
lneas de cdigo fuente. Entre las capacidades de JavaScript estn la entrada de datos, la
respuesta a movimientos del teclado y el mouse, la presentacin de resultados, clculos
complejos y mucha ms cosas, como veremos en los siguientes ejercicios. Por supuesto,
las aplicaciones mviles creadas partiendo de HTML5 tienen las mismas capacidades.
</body>
</html>
Figura 8-11
Un modelo para la validacin
de la entrada del usuario
conJavaScript
Muchos requisitos de las aplicaciones conllevan eventos, que son acciones que desencadenan
otras acciones. Las descripciones que explican cuando o si, por lo general, se codifican
en JavaScript como eventos. Los programadores acostumbrados a usar otros lenguajes,
enlosque lo principal es la secuencia, pueden encontrar esto un tanto sorprendente:
1. Hacer lo primero.
2.A continuacin, hacer lo segundo.
204 | Leccin 8
function init() {
alert("En este momento, se garantiza que se han
cargado todos los elementos HTML.")
;
}
</script>
</head>
<body onload = "init();">
Comprensin de los principios bsicos de JavaScript y codificacin| 205
</body>
</html>
Figura 8-12
Una vez que se ha
cargado todo el HTML,
se desencadena el
eventoonLoad
Figura 8-13
El JavaScript de este ejemplo
reacciona ante el valor
especificado
206 | Leccin 8
Puede mostrar y ocultar elementos mediante el atributo HTML display para que sus
visualizaciones sean inteligentes, mostrando al usuario final informacin pertinente
y ocultarla cuando ya no se necesita.
</body>
</html>
Figura 8-14
La interfaz del programa
Figura 8-15
El programa de JavaScript
avisa cuando el valor
especificado se aproxima a
un intervalo determinado
recuerde que para que el cdigo de JavaScript se vuelva a ocultar una vez que pasan las
condiciones para mostrar debe asignar el atributo display. Si no lo hace as, una vez que
se muestre no se volver a ocultar.
Hay alguna parte de una pantalla que depende de otra? Use JavaScript y la propiedad
innerHTML para que las dos se sincronicen al instante.
}
var total_slot = document.getElementById("total");
total_slot.innerHTML = total;
}
</script>
</head>
<body><h1>Calcular el elemento</h1>
<form>
Especifique un precio: <input type = "number" id = "price1" min = "1" max = "100"
oninput = "check_range(); compute_total();"
></input> El precio total, impuestos incluidos,
es <span id = "total">INDETERMINADO</span>.
</form>
<p style = "display:none;">Advertencia: Se encuentra en el 20 % de su lmite.</p>
</body>
</html>
2. Abra L8-js9.html en un explorador web.
3. Mediante el teclado, escriba el nmero 1 en el cuadro de texto. Aparece un mensaje,
que se muestra en la Figura 8-16, mostrando el precio ms el 8 % de impuestos en
unelemento de 1 $. Observe con qu rapidez se actualiz la pantalla.
Figura 8-16
JavaScript puede calcular
inmediatamente un total,
con el impuesto de ventas
incluido, en funcin de una
entrada del usuario
4. Presione Entrar.
5. Escriba 50 en el cuadro de texto y observe cmo cambia el mensaje que aparece.
6. Repita los pasos 3 y 4 usando los valores 79, 80, 90 y 60 cada vez.
7. Cierre el archivo HTML, pero deje la herramienta de edicin y el explorador web
abiertos si va a realizar el siguiente ejercicio durante esta sesin.
Agregar elementos
Figura 8-17
La interfaz del programa
inicial
Comprensin de los principios bsicos de JavaScript y codificacin| 211
Figura 8-18
Una pantalla formada por
elementos HTML simples
junto con otros creados
mediante JavaScript en
respuesta a la accin
delusuario
Crear un elemento es una operacin algo ms delicada que actualizar uno existente.
Es necesario usar JavaScript para crear relaciones que, de otra forma, HTML realiza
automticamente.
RESUMEN DE CONOCIMIENTOS
Evaluacin de conocimientos
Rellene los espacios en blanco
Complete las oraciones siguientes escribiendo la palabra o palabras correctas
enlosespacios en blanco proporcionados.
1. Un es una receta que pedimos al equipo que ejecute a fin
deobtenercomo resultado una visualizacin o accin determinada.
2. Se usa la sintaxis var para definir una nueva en JavaScript.
3. Muchos requisitos de aplicaciones conllevan , que son acciones,
como un clic del mouse, que desencadenan que ocurran otras acciones.
4. Usted se da cuenta de que una parte del programa de JavaScript representa una
secuencia de acciones que est lgicamente aparte de otras partes del programa.
Probablemente sea til definir que una para que realice esa
secuencia especfica.
5. El evento asociado con <body> constituye una garanta de que
sehamostrado todo el HTML.
6. Un patrn de codificacin comn es vincular un identificador a un elemento HTML
especfico, para luego obtener acceso a dicho elemento a travs de JavaScript con
.
7. JavaScript son los nombres de variables y funciones.
8. Una es una coleccin de recursos, como cdigo y subrutinas
preescritos, que los desarrolladores usan para crear programas.
9. Una es cdigo de JavaScript preescrito.
10. Ms de la mitad de los sitios web ms importantes usan la
biblioteca de JavaScript.
Varias opciones
Rodee con un crculo la letra correspondiente a la mejor respuesta.
1. La programacin JavaScript hace que las aplicaciones sean de qu tipo?
(Seleccionetodas las respuestas que correspondan).
a. estticas
b. dinmicas
c. sintcticamente correctas
d. interactivas
2. Cules de las siguientes opciones son bibliotecas de JavaScript?
(Seleccione todas lasrespuestas que correspondan).
a. Dojo
b. MooTools
c. YUI
d. jQuery
3. Cul de las siguientes opciones nombra una variable JavaScript vlida?
a. my.variable
b. 1st-variable
c. ord['a']
d. [TBC]var1_$
Comprensin de los principios bsicos de JavaScript y codificacin | 213
6. Una pgina web concreta tiene un solo <form>. Cmo logra esto de la mejor manera
JavaScript?
a. document. getElementsByTagName("form")[0]
b. document. getElementsByTagName("form")[1]
c. document. getElementsByTagName("form")
d. [document. getElementsByTagName("form")]
9. Cul de las siguientes opciones usa JavaScript para agregar elementos nuevos
aunapantalla de programa? (Seleccione todas las respuestas que correspondan).
a. createElement
b. appendChild
c. getElement
d. addChild
10. Cul de las siguientes opciones puede usar para mostrar y ocultar elementos
enunprograma de JavaScript?
a. atributo display
b. atributo show-hide
c. comando show
d. innerHTML
214 | Leccin 8
Verdadero/Falso
Haga un crculo alrededor de la V si el enunciado es verdadero o alrededor de la F
sielenunciado es falso.
VF1.
Los nombres de las funciones se enumeran en el estndar de JavaScript.
VF2.
En cdigo HTML, JavaScript aparece normalmente dentro de un elemento
<script>.
VF3.
Es posible escribir cdigo JavaScript de tal manera que se ejecute antes
dequese carguen todas las imgenes.
VF4.
Si la funcin f2() usa la funcin f1() y las definiciones de las dos funciones
aparecen en el mismo <script>, la definicin de f1() debe estar primero.
VF5.
El mtodo getElementByElement() devuelve una referencia al primer objeto
conelatributo id o NAME especificado.
Evaluacin de competencias
Escenario 8-1: Validacin de entrada
Le pidieron codificar una funcin JavaScript que juzga si una entrada de usuario podra
ser un nmero de Seguro Social vlido o no. Cmo lo hara? Qu entregara de vuelta
asu equipo?
Evaluacin de aptitudes
Escenario 8-3: Seleccin de una biblioteca de JavaScript
CiCi desea comenzar a usar bibliotecas de JavaScript para reducir el tiempo de produccin
de sus programas, pero no est segura cmo empezar. Hay tantas bibliotecas disponibles
que es difcil elegir. Qu le dice?
TRMINOS CLAVE
animacin JSON
AppCache LocalStorage
elemento canvas anlisis
cookies recursin
tipo de datos API XMLHttpRequest
encapsular
El equipo de desarrollo de Malted Milk Media tiene que terminar dos proyectos para
clientes esta semana. Attaboy Pet Services quiere que su logotipo tenga animacin
la primera vez que los usuarios abren la pgina de inicio de la empresa. Desea que
el logotipo se cree mediante el elemento canvas. El proyecto de aplicacin mvil
de Trusty Lawn Care se encuentra en un punto en el que es necesario agregar cdigo
para intercambiar datos con un servidor. El equipo de desarrollo quiere aprovechar
los dos proyectos para aprender ms sobre estos aspectos del uso de JavaScript.
215
216 | Leccin 9
HTML y CSS ofrecen diversas funciones para agilizar la animacin de efectos habituales.
CONCLUSIN Sin embargo, JavaScript es mucho ms flexible y puede producir resultados excelentes.
Crear animaciones
function move_paragraph() {
next = current + "px";
current += 1;
if (current > 300) {
current = 0;
}
paragraph.style.left = next;
// Detener durante 18 milisegundos antes
// del siguiente movimiento.
var rate = 18;
setTimeout(move_paragraph, rate);
}
function init() {
paragraph = document.getElementById("original");
paragraph.style.position = "absolute";
current = 0;
move_paragraph();
}
</script>
</head>
<body onload = "init();">
<h1>Animar con JavaScript</h1>
<p id = "original">Me ve desplazarme por la
pantalla?</p>
</body>
</html>
Figura 9-1
Dos instantneas de
una pantalla de cinta
de teletipo en distintos
momentos temporales
218 | Leccin 9
<!doctype html>
<html>
<head>
<title>Animar con JavaScript</title>
</body>
</html>
Figura 9-2
Casi todo lo que se ve
en la pantalla se controla
mediante JavaScript, incluida
la velocidad de la animacin.
MS INFORMACIN
Para obtener informacin bsica y procedimientos recomendados en el diseo de animaciones
paralainterfaz de usuario, visite la pgina web sobre animaciones y transiciones de Microsoft en
http://bit.ly/ziqs0G. La biblioteca de animaciones, en http://bit.ly/IgGj0f, proporciona un conjunto de
animaciones desarrollado por Microsoft, que puede usar para crear aplicaciones en tiempo de ejecucin.
Puede usar JavaScript para visualizar una imagen cuando se hace clic en un botn o
CONCLUSIN bien ocurre algn otro evento. El mtodo createElement funciona bien para este uso.
JavaScript puede mostrar diferentes tipos de grficos, desde archivos JPG y PNG a
formas como cuadros y crculos. Un forma de hacerlo es usar el mtodo createElement().
LISTO PARA CERTIFICACIN
Este mtodo crea una funcin reutilizable para mostrar una imagen:
Cmo se puede mostrar
un archivo de imagen function show_image(src, width, height, alt) {
mediante JavaScript? var img = document.createElement("img");
4.3 img.src = src;
img.width = width;
img.height = height;
img.alt = alt;
JavaScript, con HTML5, puede controlar textos, formas e imgenes estticas y, adems,
dibujar grficos complejos.
<!doctype html>
<html>
<head>
<title>Esfera de reloj analgico como ilustracin del control de canvas
mediante JavaScript</title>
function init() {
var canvas =
document.getElementById("clockface");
// Las siguientes variables se crean como
// globales, para que otras funciones puedan
// tener acceso a ellas con facilidad.
dctx = canvas.getContext('2d');
dctx.fillStyle = "black";
center_x = 100;
center_y = 100;
length = 100;
show_hands();
}
function show_hands() {
// Borrar todo lo que haya en el rea
// que representa la esfera del reloj.
dctx.clearRect(0, 0, 200, 200);
// Qu hora es *ahora*?
var now = new Date();
seconds = now.getSeconds();
minutes = now.getMinutes() + seconds / 60;
hours = now.getHours() + minutes / 60;
// La manecilla de los segundos es la ms fina de las tres.
show_hand(seconds / 60, 0.002);
show_hand(minutes / 60, 0.005);
// La manecilla de las horas es el doble de ancha que la de los
// minutos.
show_hand(hours / 12, 0.01);
var rate = 1000;
setTimeout(show_hands, rate);
}
</script>
</head>
<body onload = "init();">
</body>
</html>
Figura 9-3
Una instantnea de las
agujas del reloj codificadas
con JavaScript y que
representan la hora 11:47:28
222 | Leccin 9
case "left":
dx = -size;
dy = -size;
newx += dx;
direction = "down";
break;
case "down":
dx = -size;
newy += dy;
direction = "right";
break;
case "right":
newx += dx;
direction = "up";
break;
}
dctx.fillRect(x, y, dx, dy);
// Cada bloque que se dibuja a continuacin es ms grande
// que el anterior.
size *= ratio;
x = newx;
y = newy;
setTimeout(draw_spiral, delay);
}
function place_blocks() {
d
ctx.fillStyle =
'#'+Math.floor(Math.random()*16777215).toString(16
);
x = 100 + 300 * Math.random();
y = 100 + 300 * Math.random();
delay = 100 + 2000 * Math.random();
size = 3 + 7 * Math.random();
direction = "up";
draw_spiral();
}
</script>
</head>
<body onload = "init();">
<h1>Bloques</h1>
<canvas id = "drawing_area" width = "500" height =
"500"></canvas>
</body>
</html>
Figura 9-4
Una instantnea de un
dibujo abstracto realizado
colocando bloques sobre un
elemento canvas de HTML5
Si una aplicacin accesible desde su equipo le muestra datos como usuario final, es
muy probable que haya una forma de que JavaScript tenga acceso a esos datos. Una
CONCLUSIN de las funciones ms importantes de JavaScript es comunicarse en tiempo real con
orgenes de datos remotos.
Esto no es cierto. Las funciones son algo ya conocido: las funciones son como pequeas
cajas especiales a las que se suministran cero o ms argumentos y, a continuacin, la
caja hace algo y tal vez devuelve un resultado. La comunicacin en red de JavaScript es
algo muy parecido: se pasan cero o ms piezas de datos y se recibe un resultado. La gran
dificultad estriba en crear en primer lugar un laboratorio con las piezas necesarias para
que este dilogo funcione. Una vez que ese primer canal funciona sin problemas, ver que
aprende rpidamente las reglas de seguridad, flujo de control y codificacin especficas
de las comunicaciones de datos de JavaScript.
LISTO PARA CERTIFICACIN
Qu API permite Una de las tcnicas esenciales para la transferencia de datos implica el uso de la API
intercambiar cadenas XMLHttpRequest (a veces abreviada a XHR). XMLHttpRequest permite usar JavaScript para
de datos entre un cliente pasar datos en forma de cadenas de texto entre un cliente y un servidor. La sintaxis
y un servidor? general puede tener un aspecto parecido al siguiente:
4.4
function load(url, data, callback) {
var xhr = new XMLHttpRequest();
xhr.open("GET", url, true);
xhr.onload = function() {
callback(xhr.responseText);
}
xhr.send(data);
}
ACCESO A DATOS
PREPRESE. Como un pequeo ejemplo de la capacidad de JavaScript para tener acceso
a datos, siga estos pasos:
1. Cree L9-js5.html con el siguiente contenido:
<!doctype html>
<html>
<head>
<title>Acceso a datos con JavaScript</title>
226 | Leccin 9
function init() {
var paragraph_object =
document.getElementById('paragraph');
m
essage = "Observe que el ttulo de esta pgina es
'" + document.title + "'.";
paragraph_object.innerHTML = message;
}
</script>
</head>
<body onload = "init();">
LISTO PARA CERTIFICACIN
Cmo se usa la funcin <h1>Acceso a datos con JavaScript</h1>
getElementById() para tener <p id = "paragraph"></p>
acceso a datos?
</body>
</html>
4.4
2. Abra L9-js5.html en un explorador web. Aparece la pantalla, como se muestra
enlaFigura 9-5.
Figura 9-5
Una pgina HTML sencilla,
con un prrafo computado
por JavaScript
Poltica es un trmino que los programadores usan para indicar, ms o menos, estilo de
accin. Un estilo visual podra ser algo que los seres humanos expresamos como todas las
pginas deben aparecer con esta sutil imagen de fondo concreta. Un ejemplo de poltica es
TOME NOTA
* cada pgina debe hacer su texto visible casi instantneamente y debe ser legible incluso si
cambia de tamao horizontalmente. Las funciones auxiliares de JavaScript y los estndares
de codificacin para todo un sitio pueden contribuir a conseguir polticas de este tipo.
Creacin de animaciones, trabajo con grficos y acceso a datos | 227
</script>
</head>
<body onload = "init();">
</body>
</html>
2. Abra L9-js6.html en un explorador web. La pantalla debe ser parecida a la Figura 9-6.
Figura 9-6
JavaScript puede extraer
los datos incrustados en
un formato complejo
loadJSON("my.json", { id : 1 }, function(response) {
setTitle(response.title);
});
Creacin de animaciones, trabajo con grficos y acceso a datos | 229
JavaScript puede tener acceso a archivos en el equipo local y, con HTML5, puede
CONCLUSIN validar el tipo de archivo antes de cargarlo. Con JavaScript, la carga de archivos
es un proceso ms interactivo y con menos errores.
Muchas aplicaciones web o mviles incluyen una funcin de carga de archivos. Este ha
LISTO PARA CERTIFICACIN sido durante mucho tiempo un punto dbil de HTML, donde no hay ninguna forma eficaz
Cmo puedo restringir de especificar, por ejemplo, permitir solo cargas de imgenes, y no de documentos, y
el tipo de archivo que solo si las imgenes ocupan menos de 1,1 MB. Sin esta capacidad, sucede con frecuencia
se carga? que los usuarios, por error, tratan de cargar algo que no deseaban o que la aplicacin no
4.4 admite, y los retrasos en la red hacen que la correccin del error sea lenta.
La capacidad de HTML5 de tener acceso a archivos locales implica que una imagen que se
va a cargar se puede ver primero como miniatura y validar antes de su carga. Las acciones
inmediatas de JavaScript contribuyen a que la carga sea un proceso ms interactivo y sin
errores.
function complain(fname) {
v ar message = "El archivo de nombre '" + fname + "'
parece no tener una extensin aceptable.";
alert(message);
}
230 | Leccin 9
function handle_file_selection(item) {
var f = item.files[0];
var fname = f.name;
var last_index = fname.lastIndexOf('.');
if (last_index == -1) {
complain(fname);
return;
}
var ext = fname.substr(last_index + 1);
if (ext.toLowerCase() in {'gif': '',
'jpg': '',
'png': '',
'tif': ''
}) {
acknowledge(f);
} else {
complain(fname);
}
}
</script>
</head>
<body>
</body>
</html>
Figura 9-7
JavaScript puede analizar los
archivos antes de su carga
y rechazar los que no se
ajusten a las restricciones
Creacin de animaciones, trabajo con grficos y acceso a datos | 231
4. Repita el paso 3 y, esta vez, abra un archivo que sea una imagen. El cuadro de mensaje
TOME NOTA
* resultante debe parecerse al de la Figura 9-8, e informa de que se selecciono un tipo
Este ejercicio se llev a de archivo acceptable. Haga clic en Aceptar para cerrar el cuadro de mensaje.
cabo con el explorador
Mozilla Firefox.
Figura 9-8
Este archivo cumple
los requisitos de
carga de archivos
Observe que este programa no carga el archivo seleccionado. El objetivo de este ejercicio
es mostrar cmo JavaScript puede tener acceso al archivo y su contenido, y administrarlo,
antes de cargarlo.
Los usuarios desean poder explorar un incluso sin conexin. La API de memoria cach
de la aplicacin (AppCache) lo hace posible. AppCache se diferencia de la memoria cach
del explorador en que esta ltima contiene todas las pginas web visitadas, mientras
que AppCache guarda solo los archivos mencionados en el manifiesto de cach.
AppCache guarda una copia de los archivos del sitio web de forma local, de manera
estructurada. Los archivos contienen HTML, CSS y JavaScript, junto con otros recursos
LISTO PARA CERTIFICACIN
que el sitio necesita para funcionar. Despus de que un visitante visita el sitio una vez,
Cul es la finalidad
en las visitas posteriores los recursos se cargan rpidamente desde la copia local en lugar
de AppCache?
de tener esperar a que haya conexin de red.
4.4
Como vimos en la leccin 1, AppCache usa un archivo de texto denominado manifiesto
de cach para especificar los archivos que el explorador web debe almacenar en la
memoria cach sin conexin. Incluso si un usuario actualiza el explorador mientras
trabaja sin conexin, la pgina se carga y funciona correctamente.
AppCache no es lo mismo que la memoria cach de un explorador. Mientras que la
memoria cach de un explorador guarda todas las pginas web visitadas, AppCache
guarda solo los archivos que aparecen en el manifiesto de la memoria cach. Puede
aplicar AppCache a una sola pgina o un sitio completo.
232 | Leccin 9
Para que AppCache funcione, el servidor web debe estar configurado con el tipo MIME
correcto, que es text/cache-manifest. Adems, la extensin de archivo preferida para
los archivos de manifiesto es .appcache.
USAR APPCACHE
PREPRESE. Para probar AppCache, siga estos pasos:
1. Obtenga del instructor privilegios para usar un servidor web. El servidor debe tener
el tipo MIME configurado en text/cache-manifest. AppCache solo se puede usar para
accesos de red. No funciona cuando un recurso web es local.
2. Cree L9-appcache.html con el siguiente contenido:
<!doctype html>
<html manifest = "test.appcache">
<head>
<title>Ejemplo breve de AppCache</title>
</head>
<body>
<h1>Ejemplo breve de AppCache</h1>
<p>Esta pgina se debe volver a cargar despus de
desconectar deInternet y actualizar la pgina web.
</body>
</html>
MS INFORMACIN
Si desea consultar un tutorial sobre AppCache, visite la pgina web de la gua del principiante para el uso
de la memoria cach de la aplicacin, en http://www.html5rocks.com/en/tutorials/appcache/beginner/.
Creacin de animaciones, trabajo con grficos y acceso a datos | 233
En JavaScript, los datos pueden ser diversos. Los ms comunes son cadenas y
nmeros. Otros tipos de datos son matriz, booleano, Null, objeto y sin definir.
En JavaScript, los valores aparecen con unos aspectos especiales, que se conocen como
tipos de datos. Los ms habituales son nmeros y cadenas. ABCD y 1234 son dos
ejemplos de cadenas. Adems, el segundo ejemplo contiene solo dgitos. El numeral 3
LISTO PARA CERTIFICACIN
es un nmero, pero 3 dlares es una cadena.
Qu tipos de datos hay
disponibles en JavaScript? Otros tipos de datos son ms especializados, como matriz, booleano, Null, objeto y sin
4.4 definir. Su uso es relativamente raro y no se describe en esta leccin.
Lo ms importante de los tipos de datos en este nivel es que su definicin da lugar
aalgunas sorpresas. En JavaScript, el ejemplo siguiente tiene el valor 123:
"'1' + 2 + 3"
Pero el ejemplo siguiente tiene el valor 6 o '33', segn qu lector de JavaScript se use:
"1 + 2 + '3'"
Hay reglas que definen todo este comportamiento, y cada tipo de datos tiene sus usos.
En relacin con esta leccin, debe tener clara la diferencia entre, por ejemplo, un nmero
y los caracteres que representan ese nmero. Si, por casualidad, encuentra una operacin
en la JavaScript manipula los tipos de forma inesperada, consulte el material de referencia
de MSDN sobre tipos de datos. Entretanto, programe JavaScript de forma sencilla y atenta.
</body>
</html>
2. Abra L9-js8.html en un explorador web. Aparece la pantalla, como se muestra en la
Figura 9-10.
3. Empiece a escribir caracteres. Observe que el campo de entrada solo acepta caracteres
que coinciden con el patrn XXX-XXX-XX-X, y pasa por alto los que no coinciden.
Figura 9-10
La validacin de entradas del
lado cliente es una tarea que
realiza JavaScript
En el mundo real, una aplicacin exigira una mayor validacin: no basta con que una
entrada parezca un nmero de serie, sino que la aplicacin debe confirmar que es un nmero
de serie. Siempre cabe la posibilidad de que el usuario final especifique un valor incorrecto,
pero la sencilla comprobacin de JavaScript de las entradas del formulario es muy eficaz
para contribuir a que todas sean vlidas. Con todo, y a pesar de esta validacin, un usuario
final que realmente quisiera hacerlo podra usar el mouse para especificar valores que no
coincidan con el patrn de nmero de serie. Un validador ms complejo podra detectar
las eliminaciones y los movimientos realizados con el mouse.
Tradicionalmente, las cookies han almacenado informacin que aumenta las posibilidades
CONCLUSIN de personalizacin y la comodidad. JavaScript puede crear y recuperar las cookies.
Las cookies son pequeos archivos de texto que los sitios web guardan en el disco duro del
LISTO PARA CERTIFICACIN equipo, y que contienen informacin acerca del usuario y sus preferencias de exploracin.
Qu es una cookie?
El contenido de las cookies cambia cuando un usuario vuelve a visitar un sitio y selecciona
4.4 diferentes elementos o preferencias de cambios. Desde la perspectiva de JavaScript, una
cookie es una variable, y JavaScript se usa para crear y recuperar las cookies.
Supongamos que est a cargo de un juego de computadora codificado en HTML y JavaScript.
Funciona bien, pero requiere que el usuario elija un nivel cada vez que empieza una partida
nueva. No sera mejor que el juego asumiera que el usuario desea empezar en un nivel
superior al de su ltima partida, con la opcin de cambiarlo? No solo es mejor, sino que
con las funciones de cookies de JavaScript la programacin resulta muy sencilla.
236 | Leccin 9
USAR COOKIES
PREPRESE. Para demostrar la capacidad de JavaScript de retener informacin
enelequipo de escritorio incluso con el explorador desactivado, siga estos pasos:
1. Cree L9-js9.html con el siguiente contenido:
<!doctype html>
<html>
<head>
<title>Uso de cookies</title>
function getCookie(c_name) {
var i,x,y,ARRcookies=document.cookie.split(";");
for (i=0;i<ARRcookies.length;i++)
{
x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
x=x.replace(/^\s+|\s+$/g,"");
if (x==c_name)
{
return unescape(y);
}
}
}
function init() {
var message;
level_object = document.getElementById("level");
var welcome = document.getElementById("welcome");
var level = getCookie("level");
if (level == null || level == '') {
message = "Parece que es la primera vez
que juega. Empezar en el nivel 1.";
level = 1;
} else {
message = "La ltima vez que jug, lleg al
level " + level +". Ahora empezar en ese nivel. ";
}
welcome.innerHTML = message;
level_object.value = level;
}
function save_level() {
setCookie("level", level_object.value, 10);
}
function setCookie(c_name,value,exdays) {
var exdate=new Date();
exdate.setDate(exdate.getDate() + exdays);
var c_value=escape(value) + ((exdays==null) ? ""
: "; expires="+exdate.toUTC
String());
document.cookie=c_name + "=" + c_value;
}
</script>
</head>
<body onload = "init();">
Creacin de animaciones, trabajo con grficos y acceso a datos | 237
<h1>Uso de cookies</h1>
<p id = "welcome">Bienvenidos.</p>
<form>
Puede actualizar el nivel en cualquier momento. Ahora est
establecido en
<input id = "level" type = "number" min = "1" max =
"100"
oninput = "save_level();" />.
</form>
</body>
</html>
2. Obtenga del instructor privilegios para usar un servidor web. Las cookies solo pueden
activarse en las pginas web a las que se tiene acceso a travs de la red, no de manera
local.
3. Cargue L9-js9.html en el servidor web mediante un programa de transferencia de
archivos, como le ha explicado instructor. El instructor tambin debe darle la direccin
web del archivo.
4. En un explorador web, use la direccin web para ir a L9-js9.html y abrirlo.
5. Observe el nivel en el que empieza, como se muestra en la Figura 9-11.
Figura 9-11
Las cookies se han usado
a menudo para guardar
pequeas cantidades de
datos en el equipo cliente
6. Imagine que ha jugado un rato y alcanzado otro nivel. Especifique ese nivel en la zona
de entrada.
7. Cierre la ventana de la aplicacin.
8. Vuelva a abrir L9-js9.html. Ve cmo la aplicacin recuerda su posicin de una
sesin del explorador a otra?
9. En las preferencias de configuracin del explorador, elimine la cookie creada en este
ejercicio o, si es ms prctico, elimine todas las cookies.
10. Vuelva a abrir L9-js9.html. Observe que el nivel ha vuelto al valor predeterminado
de1.
11. Cierre el archivo, pero deje la herramienta de edicin y el explorador web abiertos
siva a continuar con el siguiente ejercicio durante esta sesin.
Las cookies tienen limitaciones en cuanto a la informacin que almacenan y, por lo tanto,
en los efectos que se puede obtener con su programacin. Adems, las cookies suponen
CONCLUSIN una amenaza para la privacidad de los datos. HTML5 proporciona almacenamiento local
para que la personalizacin sea ms fcil de programar y tenga ms capacidades.
238 | Leccin 9
LISTO PARA CERTIFICACIN Las cookies tienen limitaciones. No son muy populares entre algunos usuarios porque
Qu es el almacenamiento contribuyen a difundir informacin personal sin autorizacin y porque solo son prcticas
local? para almacenar datos muy sencillos. La propiedad LocalStorage de HTML5 tiene una mayor
4.4 seguridad y hace que la programacin sea ms fcil que con las cookies.
2. Obtenga del instructor privilegios para usar un servidor web. El almacenamiento local
solo puede activarse en pginas web a las que se tiene acceso a travs de la red, no
deforma local.
3. Cargue L9-js10.html en el servidor web mediante un programa de transferencia
dearchivos, como le ha explicado instructor. El instructor tambin debe darle la
direccin web del archivo.
Figura 9-12
Interfaz inicial del programa
RESUMEN DE CONOCIMIENTOS
(contina)
240 | Leccin 9
L os usuarios desean poder explorar un incluso sin conexin. La API de memoria cach
de la aplicacin (AppCache) lo hace posible. AppCache se diferencia de la memoria cach
del explorador en que esta ltima contiene todas las pginas web visitadas, mientras
que AppCache guarda solo los archivos mencionados en el manifiesto de cach.
En JavaScript, los datos pueden ser diversos. Los ms comunes son cadenas y
nmeros. Otros tipos de datos son matriz, booleano, Null, objeto y sin definir.
Cuando los usuarios finales especifican datos en un formulario, JavaScript puede
validar las entradas al instante y sugerir alternativas.
Tradicionalmente, las cookies han almacenado informacin que aumenta las
posibilidades de personalizacin y la comodidad. JavaScript puede crear y recuperar
las cookies.
Las cookies tienen limitaciones en cuanto a la informacin que almacenan y, por
lo tanto, en los efectos que se puede obtener con su programacin. Adems, las
cookies suponen una amenaza para la privacidad de los datos. HTML5 proporciona
almacenamiento local para que la personalizacin sea ms fcil de programar y
tenga ms capacidades.
Evaluacin de conocimientos
Rellene los espacios en blanco
Complete las oraciones siguientes escribiendo la palabra o palabras correctas en los
espacios en blanco proporcionados.
1. es la visualizacin de una secuencia de imgenes estticas a una
velocidad lo suficientemente rpida como para crear la ilusin de movimiento.
2. Tiene que dibujar un diagrama complejo como parte de una visualizacin de HTML5.
Una forma de hacerlo es usar el elemento .
3. Antes de HTML5, la manera ms comn de mantener informacin en el lado cliente
de una aplicacin web (es decir, en el equipo del usuario) era con .
4. permite usar JavaScript para pasar datos en forma de cadenas
detexto, pero no objetos, entre un cliente y un servidor.
5. es una tcnica de programacin en la cual una funcin se invoca
asmisma.
6. es la etiqueta que se usa generalmente para el anlisis
deinformacin compleja en partes constituyentes.
7. La API guarda una copia de sus archivos del sitio web a nivel local,
en un formulario estructurado.
8. Los valores en JavaScript tienen apariencias especiales diferentes, llamadas
, que a menudo son cadenas y nmeros.
9. es un subconjunto de JavaScript que permite intercambiar objetos
JavaScript con un servidor.
10. es una alternativa a las cookies.
Varias opciones
Rodee con un crculo la letra correspondiente a la mejor respuesta.
1. Cul de las siguientes opciones es la forma ms comn de codificar JavaScript
conun efecto retardado?
a. sleep()
b. delay()
c. wait()
d. setTimeout()
Creacin de animaciones, trabajo con grficos y acceso a datos | 241
2. JavaScript puede mostrar diferentes tipos de grficos, desde archivos JPG y PNG a
formas como cuadros y crculos. Un mtodo que puede usar para mostrar grficos
con JavaScript es:
a. createElement
b. move_paragraph
c. JSON
d. display
3. Cules son las dos construcciones principales que se usan para dibujar un objeto
canvas?
a. getElementById()
b. getCanvasContext
c. getElementByCanvas()
d. canvas.getContext
4. Enviar y recibir datos en JavaScript requiere un servidor web dinmico y:
a. validacin del lado cliente
b. programacin del lado servidor
c. CSS
d. ninguna de las anteriores
5. El elemento canvas se basa en qu conjunto de mtodos?
a. drawRect(), outlineRect(), eraseRect()
b. fillRect(), strokeRect(), clearRect()
c. beginPath(), fillPath(), endPath()
d. beginPath(), fillPath(), closePath()
6. Qu API JSON convierte un objeto JavaScript a datos en cadena para intercambio
con un servidor?
a. JSON.parsify
b. XMLHttpRequest
c. JSON.stringify
d. getObjectString
7. En qu se diferencia AppCache de la memoria cach del explorador?
a. AppCache guarda copias de las pginas web.
b. Primero tiene que visitar una pgina web para que pueda incluirse
enlamemoriacach.
c. AppCache guarda solo aquellos archivos que aparecen en el manifiesto
delamemoria cach.
d. AppCache y la memoria cach del explorador son la misma cosa.
8. Cul de las siguientes opciones no es un tipo de datos usado por JavaScript?
a. composicin
b. cadena
c. nmero
d. booleano
9. Cul de las siguientes opciones es una amenaza a la privacidad de los datos?
a. AppCache
b. LocalStorage
c. cookies
d. animacin
10. Qu API le permite trabajar en archivos sin conexin remotos?
a. XMLHttpRequest
b. AppCache
c. JSON.parse
d. JSON.stringify
242 | Leccin 9
Verdadero/Falso
Haga un crculo alrededor de la V si el enunciado es verdadero o alrededor de la F
sielenunciado es falso.
VF 1.
JavaScript no permite recursin.
VF 2.
XMLHttpRequest se usa para crear animaciones.
VF 3.
Es posible escribir cdigo JavaScript de tal manera que se ejecute antes
dequese carguen todas las imgenes.
VF 4.
LocalStorage se puede usar para almacenar datos personales de un usuario.
VF 5.
Una tcnica comn en la animacin de JavaScript es usar setTimeout
recursivamente.
Evaluacin de competencias
Escenario 9-1: Comprensin de conceptos bsicos de animacin
Roan trabaja como auxiliar administrativo en una organizacin sin fines de lucro que est
produciendo una enciclopedia sobre plantas silvestres. El relacionador de clientes pidi a
Roan si poda animar el grfico de la pgina de inicio para que parezca como si la semilla
se transformara en un manto totalmente crecido de hierba de pradera en 5 o 6 segundos.
Roan no sabe nada de animacin y le pide a usted un breve resumen.
Evaluacin de aptitudes
Escenario 9-3: Mejora de la aplicacin de almacn
Trudy ha decidido expandir su solicitud al equipo de desarrollo y ahora desea incluir un
formulario de entrada que acepte cdigos de referencia de almacn (SKU). El servidor
de almacn tiene fotografas de la mercanca, indexada por SKU, as como informacin
sobre dnde en el almacn se encuentran actualmente los artculos de esa descripcin.
Trudy desea que el programa coloque una fotografa del artculo en el pasillo y el estante
donde se encuentra actualmente. Brevemente, cmo se puede hacer esto? Debe agregar
la descripcin a su solicitud.
TRMINOS CLAVE
acelermetro sondeo
objeto binario pantalla tctil resistiva
pantallas tctiles capacitivas almacenamiento de sesin
datos civiles evento tctil
independiente del dispositivo objeto tctil
API de archivo lista tctil
datos geodsicos Web Hypertext Application Technology Working
API de geolocalizacin Group (WHATWG)
independiente de la plataforma
243
244 | Leccin 10
Tabla 10-1
Informacin general Gesto Equivalente del mouse Descripcin
sobre gestos tctiles
Pulsar Hacer clic con el botn Pulse con un dedo en la pantalla
primario
Pulsar dos veces Hacer doble clic con Pulse rpidamente con un dedo dos veces
el botn primario en la pantalla
Pulsar con N/C Pulse simultneamente dos dedos en la pantalla
dos dedos
Mantener Hacer clic con el botn Mantenga presionado un dedo mientras pulsa
pulsado secundario con el otro
Mantener Hacer clic con el botn Mantenga presionado un dedo en la pantalla
presionado secundario y luego suelte
Seleccionar/ Arrastrar el mouse Arrastre un dedo a la izquierda o la derecha
arrastrar (seleccionar)
Movimiento Desplazamiento Mantenga presionado un dedo en la pantalla
panormico y luego arrastre el dedo con inercia
Desplazarse Mover atrs o adelante Presione un dedo en la pantalla, muvalo en
Panormica arriba o abajo cualquier direccin y luego levntelo para desplazarse
Girar N/C Mueva dos dedos sobre un objeto en la pantalla
con un movimiento circular
Zoom CTRL + rueda del mouse Pellizque un objeto hacia dentro o hacia fuera
hacia delante o atrs
Codificacin de JavaScript para los recursos de interfaz tctil, dispositivo, sistema operativo y ms | 245
object.addEventListener(event, eventListenerFunction);
function startup() {
var el = document.getElementsByTagName(cdraw)[0];
el.addEventListener(touchstart, handleStart, false);
el.addEventListener(touchmove, handleMove, false);
el.addEventListener(touchend, handleEnd, false);
el.addEventListener(touchcancel, handleCancel, false);
}
Una vez que conoce los distintos tipos de gestos tctiles, veamos cmo se capturan y usan
en las aplicaciones.
La accin que una aplicacin realiza en respuesta a un gesto se denomina un evento tctil.
Puede usar JavaScript para crear eventos tctiles en aplicaciones que los admitan. Los
desarrolladores pueden elegir entre un amplio conjunto de interfaces de programacin
de aplicaciones (API) de entrada que funcionan con los datos de pantallas tctiles.
Los eventos tctiles principales de JavaScript son:
touchstart: cada nuevo toque del dedo genera un evento touchstart event.
touchmove: cuando se mueve un dedo por la superficie de la pantalla, se produce
un evento touchmove, que realiza el seguimiento del movimiento del dedo.
touchend: levantar el dedo de la pantalla genera un evento touchend.
touchcancer: el evento touchcancel se acciona cuando el dispositivo inicia otra
aplicacin.
rotation: indica la cantidad de giro de dos dedos que tuvo lugar. El valor de giro
se expresa en grados. Los valores positivos indican giro en sentido horario y los
negativos en sentido antihorario.
Los eventos de gesto se pueden combinar con efectos visuales de CSS para habilitar la
escala y el giro. Por ejemplo, el siguiente cdigo implementa el controlador de eventos
gesturechange con escalado y giro:
document.addEventListener('gesturechange',
function(event) {
event.preventDefault();
console.log(Scale: + event.scale + ,
Rotation: + event.rotation);
}, false);
<html>
<head>
<title>Detectar pantalla tctil</title>
<meta charset=utf-8 />
<style type=text/css>
#canvas{background-color: dodgerblue;}
</style>
<script type=text/javascript>
document.addEventListener(DOMContentLoaded,
init, false);
function init() {
var canvas =
document.getElementById(canvas);
if (ontouchstart in
document.documentElement) {
canvas.addEventListener(touchstart,
detect, false);
}
248 | Leccin 10
else {
canvas.addEventListener(mousedown,
detect, false);
}
}
function detect() {
if (ontouchstart in
document.documentElement) {
alert(Dispositivo con pantalla tctil
detectado.);
}
else {
alert(Dispositivo con pantalla tctil no
detectado.);
}
}
</script>
</head>
<body>
<canvas id=canvas width=100
height=100></canvas>
<br />
<p>Haga clic en el cuadro para iniciar la deteccin de pantalla tctil.</p>
</body>
</html>
Este cdigo dibuja un cuadro de canvas en la pantalla, seguido por una lnea de texto
que indica Haga clic en el cuadro para iniciar la deteccin de pantalla tctil. La funcin inicial
asigna el elemento canvas y, a continuacin, el elemento de escucha de eventos
espera que se produzca un evento tctil o un clic del mouse. Si el usuario tiene una
pantalla tctil y toca el cuadro, el programa muestra el mensaje Dispositivo con pantalla
tctil detectado. Si se detecta un clic del mouse, el mensaje indica Dispositivo con pantalla
tctil no detectado.
2. Abra L10-touch.html en un explorador web. La pantalla debe ser parecida a la
Figura 10-1.
Figura 10-1
La interfaz de programa de
deteccin de pantalla tctil
3. Haga clic en el cuadro azul. Si trabaja en un equipo con un monitor normal, aparece
el cuadro de alerta que se muestra en la Figura 10-2. De lo contrario, se muestra un
cuadro de alerta con el texto Dispositivo con pantalla tctil detectado.
Codificacin de JavaScript para los recursos de interfaz tctil, dispositivo, sistema operativo y ms | 249
Figura 10-2
El cuadro de alerta indica
que no se detecta una
pantalla tctil
MS INFORMACIN
La especificacin de la versin 2 los eventos tctiles del W3C se encuentra en
http://www.w3.org/TR/touch-events/.
Como ha visto a lo largo de este libro, hay muchas API de HTML5 disponibles.
Proporcionan funcionalidad nueva y mejorada, a la vez que facilitan el desarrollo de
documentos HTML. Lo que no se ha sealado de forma explcita es que, en realidad,
hay dos versiones de la especificacin de HTML5: una publicada por el W3C y otra
por el WHATWG.
El grupo Web Hypertext Application Technology Working Group (WHATWG) fue
LISTO PARA CERTIFICACIN creado por Apple, la Fundacin Mozilla y Opera Software para definir y documentar la
Qu es WHATWG?
especificacin HTML5. El sitio web del WHATWG, en http://developers.whatwg.org/,
4.6 es un buen recurso para obtener informacin sobre los nuevos elementos de HTML5
y cmo usarlos.
La especificacin HTML que alberga el WHATWG contiene API adicionales que no
se describan en la especificacin original de HTML5 del W3C. Las API aplicables
que se describen en las secciones siguientes son las de geolocalizacin, trabajadores
web, websockets y de archivo.
Codificacin para capturar la geolocalizacin
navigator.geolocation.getCurrentPosition(showmap);
function showmap(position) {
var latitude = position.coords.latitude;
var longitude = position.coords.longitude;
// Cdigo para mostrar un mapa
}
Puede presentar datos de ubicacin para los usuarios de dos maneras: geodsicos y civiles.
Los datos geodsicos proporcionan datos de ubicacin sin procesar, como longitud y
latitud, o metros. Los datos civiles son datos de ubicacin ms fciles de entender, por
ejemplo un mapa o una direccin como 637 Park Street.
La API de geolocalizacin devuelve datos geodsicos a partir de las funciones, que puede
presentar en su forma sin procesar o combinar con un servicio de mapas en lnea como
Bing Maps para mostrar un mapa con un puntero a la ubicacin del usuario.
Tenga en cuenta que la privacidad es una preocupacin importante para muchos usuarios.
Por lo tanto, la API de geolocalizacin permite que los usuarios oculten su localizacin.
Muchas implementaciones solicitan al usuario permiso para devolver sus coordenadas
de ubicacin.
La geolocalizacin est pensada, sobre todo, para smartphones y otros dispositivos
mviles, y no funciona con eficacia para equipos de sobremesa. Si un dispositivo no
dispone de medios para localizarse a s mismo, la API genera un error de posicin no
disponible.
<!doctype html>
<html>
<head>
<title>Ejemplo de geolocalizacin</title>
<meta charset=utf-8 />
<script>
var messageDiv =
document.getElementById('message');
Codificacin de JavaScript para los recursos de interfaz tctil, dispositivo, sistema operativo y ms | 251
function initLocation() {
if (geolocation) {
try {
navigator.geolocation.getCurrentPosition(
successCallback,
errorCallback
);
} catch (err) {
messageDiv.innerHTML = 'Error';
}
} else {
messageDiv.innerHTML = 'El explorador
no es compatible con geolocalizacin.';
}
function successCallback(location) {
message.innerHTML = <p>Latitude: +
location.coords.latitude + </p>;
message.innerHTML += <p>Longitude: +
location.coords.longitude + </p>;
}
function errorCallback() {
messageDiv.innerHTML = 'Error
al buscar su posicin';
}
</script>
</head>
<body onload=initLocation()>
<div id=message>Buscando ubicacin</div>
</body>
</html>
Figura 10-3
El explorador solicitando
permiso para detectar
su ubicacin fsica
Figura 10-4
La pantalla de coordenadas
usando la aplicacin
de geolocalizacin
MS INFORMACIN
La pgina web de geolocalizacin de Microsoft, en http://bit.ly/IZ7Lut, contiene vnculos a la creacin
de una pgina web compatible con la ubicacin y a tutoriales de Internet Explorer. Tambin puede
consultar el artculo con sugerencias para geolocalizacin en HTML5 de MSDN Magazine,
en http://msdn.microsoft.com/en-us/magazine/hh563893.aspx.
Los Web Workers son scripts que se ejecutan en segundo plano. Realizan clculos y
otras acciones que hacen que la interfaz de usuario tenga mayor capacidad de respuesta.
LISTO PARA CERTIFICACIN Los Web Workers son API que permiten que los scripts se ejecuten en segundo plano
Qu tipos de aplicaciones como procesos paralelos. Estos procesos en segundo plano pueden conectarse a varias
usan Web Workers? pginas web, buscar en tiempo real datos como actualizaciones de existencias, hacer
4.6 solicitudes de red u obtener acceso a almacenamiento local mientras el documento
Codificacin de JavaScript para los recursos de interfaz tctil, dispositivo, sistema operativo y ms | 253
HTML principal responde a la entrada del usuario como pulsar, desplazarse y escribir. Los
Web Workers contribuyen a que la interfaz de usuario tenga mayor capacidad de respuesta
para los usuarios.
Los objetos Web Worker se ejecutan en procesos aislados, no actan directamente en el
documento HTML principal ni el DOM. Por ello, en los script no se usan documentos
ni getElementById. (Puede usar setTimeout, setInterval y XMLHttpRequest.) En cambio, Web
Workers pasan informacin a travs de mensajes, al ejecutar cdigo de un archivo
JavaScript independiente del documento HTML principal.
Para usar un Web Worker, primero se debe crear un objeto Worker en el documento
HTML principal, como se indica a continuacin:
Cuando el explorador interpreta esta lnea, crea otro subproceso de trabajo y, a continuacin,
lo inicia con el siguiente mtodo:
worker.postMessage();
El mtodo postMessage() acepta una cadena o un objeto JSON como argumento. Todos
los exploradores admiten que se pasen cadenas de mensaje, pero solo las versiones ms
recientes de los exploradores principales admiten que se pasen objetos JSON.
Como ejemplo sencillo de mensaje que se pasa con un Web Worker, el script siguiente
pertenece al documento HTML principal:
onmessage = function(e){
if ( e.data === start ) {
// Realizar una accin o un clculo
done()
}
};
function done(){
// Enviar resultado al documento principal
postMessage(Hola, ya termin);
}
worker.addEventListener('mensaje', function(e) {
254 | Leccin 10
Figura 10-5
El resultado de ejecutar
un Web Worker
Codificacin de JavaScript para los recursos de interfaz tctil, dispositivo, sistema operativo y ms | 255
Comprender WebSockets
WebSocket es una API que ofrece comunicacin dplex completa, es decir, comunicacin
de dos vas simultnea, a travs de un socket nico por Internet. Los desarrolladores usan
websockets principalmente para aplicaciones web en tiempo real como chat, juegos en
lnea de varios jugadores y cotizaciones de bolsa.
Para entender la utilidad de websockets, se necesita un poco de informacin sobre sus
precedentes. Originalmente, cuando un usuario especificaba una direccin URL en un
explorador web o haca clic en un vnculo a una pgina web, el explorador se pona en
contacto con el servidor web de la pgina. Cada vez que el usuario quera actualizar algo
en la pgina, el explorador volva a recibir otra pgina completa desde el servidor web.
Algo as se puede seguir viendo al hacer clic por una galera de fotos. Cada vez que hace
clic en otra foto, la pgina se actualiza y, a veces, tiene que ir atrs para volver a la galera.
Tecnologas como AJAX hicieron posible que solo haya que actualizar una parte de la
pgina web. Comet y tecnologas push similares introdujeron el sondeo, en el que un
explorador se pone en contacto con un servidor web peridicamente (algunas veces de
forma constante) para ver si hay nueva informacin disponible que presentar al usuario.
El problema con el sondeo es que se hacen muchas solicitudes al servidor para comprobar
si hay datos nuevos, algo que puede dar lugar a problemas de rendimiento.
La tecnologa WebSocket crea una conexin persistente entre un cliente y un servidor web,
de forma que se pueden enviar datos el uno al otro en cualquier momento. La conexin
persistente reduce considerablemente la cantidad de sobrecarga necesaria para el canal
LISTO PARA CERTIFICACIN
de comunicacin.
Cmo reducen los
websockets los problemas Para establecer una conexin WebSocket, el cliente y el servidor cambian del protocolo
de rendimiento asociados HTTP al protocolo WebSocket (WS) durante el protocolo de enlace inicial. Una vez que
a las aplicaciones en se establece la conexin, el cliente y el servidor pueden intercambiar texto y archivos
tiempo real? binarios en modo dplex completo.
4.6
Existen tres eventos principales asociados a las comunicaciones de WebSocket:
opopen: cuando se abre un socket
opmessage: cuando se ha recibido un mensaje del servidor web
onclose: cuando se cierra un socket
Va a ver cada uno de estos eventos en los fragmentos de cdigo de esta seccin.
Primero, echemos un vistazo al JavaScript que abre una conexin WebSocket:
var host = 'ws://example.com';
Observe el uso de ws en lugar de http en la direccin URL. Tambin se puede usar
wss para conexiones de WebSocket seguras, de la misma forma que se usa https para
conexiones HTTP seguras.
Despus de iniciar una conexin web, debe probarla para asegurarse de que estableci
correctamente. Puede probarla con el controlador de eventos onopen para saber cundo se abre
la conexin. En el ejemplo siguiente se abre un cuadro de alerta cuando se abre el socket:
socket.onopen = function(){
alert(Socket open);
}
256 | Leccin 10
socket.onmessage = function(msg){
alert(msg); //Received!
}
Por ltimo, para cerrar una conexin, use el controlador de eventos onclose, as:
socket.onclose = function() {
alert(Connection closed.);
};
La especificacin de la API de WebSocket todava se est desarrollando en el momento
de escribir este libro y los websockets no son compatibles con todos los exploradores
web. Para tener una idea de cmo se usa WebSockets, lleve a cabo el siguiente ejercicio.
};
socket.onmessage = function (e) {
var received_msg = e.data;
alert(Mensaje recibido.);
};
socket.onclose = function () {
// Websocket cerrado
alert(Connection closed.);
};
}
else {
// El explorador no admite websockets
alert(Su explorador no admite
websockets.);
}
}
</script>
</head>
<body>
<div>
<a href=javascript:WebSocketTest()>Haga clic para ejecutar la
demostracin de WebSocket</a>
</div>
</body>
</html>
Figura 10-6
Un cuadro de alerta confirma
que el explorador admite
websockets
Figura 10-7
Un cuadro de alerta confirma
que la conexin est cerrada
MS INFORMACIN
Para obtener ms informacin sobre websockets, visite la pgina web de Microsoft sobre la API
de WebSocket, en http://bit.ly/JXDAYN.
Puede usar la API de archivo para cargar en un servidor remoto archivos de uno en
uno o en grupo desde un disco local o el almacenamiento local de un dispositivo.
Tambin puede visualizar los archivos de imagen cargados en una aplicacin web.
Para permitir que el usuario cargue varios archivos a la vez, agregue multiple antes
de onchange, como se indica a continuacin:
<input type=file id=input multiple onchange=handleFiles(this.files)>
<body>
</body>
</html>
La declaracin if comprueba la compatibilidad con las API File, FileReader, FileList y
Blob. Si las API son compatibles, aparece el mensaje que lo indica. En caso contrario,
aparece el segundo mensaje.
2. Guarde el archivo como L10-FileAPI-checkBrowser.html y bralo en cada uno de los
exploradores web ms populares. La pantalla que se muestra en la Figura 10-8 aparece
cuando las API de archivo no son compatibles.
Figura 10-8
Mensaje que indica que no
se admiten API de archivo
3. Cierre el archivo y los exploradores web, pero deje la herramienta de edicin abierta si
va a realizar el siguiente ejercicio durante esta sesin.
260 | Leccin 10
MS INFORMACIN
Puede consultar la lista de las API de Windows en tiempo de ejecucin y de la Biblioteca de Windows
para JavaScript en http://msdn.microsoft.com/en-us/library/windows/apps/br211377.aspx.
La API de almacenamiento web proporciona un mtodo del lado cliente para guardar
informacin de sesin a nivel local dentro de la memoria del explorador o el dispositivo.
El mtodo localStorage permite que los usuarios guarden grandes cantidades de datos de
sesin en sesin (datos persistentes), mientras que el mtodo sessionStorage guarda los
datos solo para una sesin (hasta que se cierra el explorador). Los datos se almacenan
en pares clave/valor para ambos tipos de almacenamiento web.
Almacenamiento local son datos persistentes y tiles para cosas como listas de tareas
pendientes en lnea, listas de contactos, calendarios y datos de carritos de compra
guardados. Desea que esta informacin est disponible para el usuario despus de que se
cierra el explorador y el usuario lo reabre en algn momento. La informacin se mantiene
en memoria persistente de aplicaciones web y dispositivos mviles. Almacenamiento de
sesin son datos temporales que se guardan solo durante una sesin, hasta que se cierra
el navegador. Todos los datos de una sesin se guardan en almacenamiento de sesin y
luego se borran cuando se cierra la ventana o pestaa del explorador. Un ejemplo del uso
adecuado del almacenamiento de sesin es un programa de bsqueda de cdigo postal.
En JavaScript, los objetos localStorage y sessionStorage se usan con los siguientes mtodos
para administrar pares clave/valor:
setItem(key,value): agrega un par clave/valor al objeto de almacenamiento
getItem(key): recupera el valor de una clave concreta
removeItem(key): quita un par clave/valor del objeto de almacenamiento
clear():quita todos los pares clave/valor del objeto de almacenamiento
El cdigo genrico para agregar un par clave/valor a un objeto sessionStorage es:
sessionStorage.setItem('key', 'value');
var myVar = sessionStorage.getItem('key');
Codificacin de JavaScript para los recursos de interfaz tctil, dispositivo, sistema operativo y ms | 261
if (!value) {
alert(No se encuentra el elemento, se va a agregar a
localStorage);
localStorage.setItem(myKey, myValue);
}
else {
alert(value + found!);
}
}
</script>
</head>
<body onload=load()>
</body>
</html>
Figura 10-10
El segundo cuadro de alerta
confirma que el valor se
guard
MS INFORMACIN
La pgina web sobre almacenamiento web HTML5 de Microsoft, en http://bit.ly/JeXlJU, proporciona
las API para el almacenamiento persistente de datos de pares clave/valor.
usar dispositivos compatibles con complementos. Por el contrario, puede usar cualquier
explorador web, ya sea en su PC o dispositivo mvil, y obtener una experiencia igualmente
LISTO PARA CERTIFICACIN satisfactoria en la Web.
Qu significa
independiente Un programa o una interfaz que ejecuta software que produce resultados similares
del dispositivo? en mucho hardware distinto se denomina tambin independiente del dispositivo.
4.7 Con HTML5, CSS y JavaScript, puede crear fcilmente aplicaciones independientes
del dispositivo. Algunas de las capacidades de hardware a las que puede tener acceso
con aplicaciones independientes del dispositivo son GPS, el acelermetro y la cmara.
Puede usar JavaScript para tener acceso a las API de Windows en tiempo de ejecucin
para dispositivos de hardware.
COMPRENDER EL SISTEMA DE POSICIONAMIENTO GLOBAL (GPS)
El hardware del sistema de posicionamiento Global (GPS), que suele ser un chip o una
tarjeta de circuitos, es un receptor que se comunica con satlites para proporcionar la
ubicacin precisa de un dispositivo en coordenadas de longitud y latitud. Casi todos los
telfonos modernos estn equipados con funcionalidad GPS, lo mismo que los porttiles
que disponen de Wi-Fi y/o banda ancha celular.
La API de geolocalizacin que ya vimos en esta leccin funciona con el chip de GPS
para recopilar datos de geolocalizacin sin formato.
COMPRENDER EL ACELERMETRO
Muchos dispositivos mviles cuentan con sensores de orientacin y de movimiento, que
detectan la orientacin y el movimiento del dispositivo y usan esa informacin como
entrada. Por ejemplo, si un usuario tiene el dispositivo en la mano y sube el brazo por
encima de la cabeza y hacia atrs, y luego mueve el brazo hacia delante como si se
tratara de un golpe de tenis, el dispositivo reconoce y registra el movimiento.
Un acelermetro es un dispositivo que mide la aceleracin, que es un cambio de
velocidad o direccin en un espacio de tiempo. El sensor acelermetro detecta las fuerzas
aplicadas al dispositivo, como movimiento (arriba, abajo, hacia los lados) y gravedad.
En los sistemas Windows, existen API concretas que recuperan datos de movimiento sin
procesar desde sensores de acelermetro y, a continuacin, la API de movimiento combina
los datos de esos sensores y hace clculos con los nmeros resultantes para obtener
valores fciles de usar.
El evento devicemotion proporciona la aceleracin del dispositivo, en coordenadas
cartesianas, y la velocidad de rotacin. Un fragmento de JavaScript que recibe eventos
devicemotion es as:
window.addEventListener(devicemotion,
function(event) {
// Process event.acceleration,
event.accelerationIncludingGravity,
// event.rotationRate and event.interval
}, true);
Con todo, esta construccin tiene una compatibilidad limitada y solo funciona con algunos
exploradores mviles. Se tiende a usar el mtodo getUserMedia(), junto con el objeto
navigator como alternativa, que tiene acceso a la transmisin de la cmara el micrfono
de un dispositivo local. getUserMedia funciona bien con los nuevos elementos de audio
y vdeo de HTML5. El siguiente es un fragmento de cdigo que proporciona acceso
al hardware de un dispositivo:
navigator.GetUserMedia('audio, video',
function(localMediaStream) {
var video = document.querySelector('video');
video.src =
window.createObjectURL(localMediaStream);
}, onFailSoHard);
MS INFORMACIN
Puede obtener ms informacin sobre las API relacionadas con la cmara en esta pgina web de MSDN:
http://bit.ly/K2Lf5E. Para explorar los componentes de Windows en tiempo de ejecucin, vaya a esta
pgina web de MSDN: http://bit.ly/HWTZJL.
RESUMEN DE CONOCIMIENTOS
(contina)
Codificacin de JavaScript para los recursos de interfaz tctil, dispositivo, sistema operativo y ms | 265
Evaluacin de conocimientos
Rellene los espacios en blanco
Complete las oraciones siguientes escribiendo la palabra o palabras correctas en los
espacios en blanco proporcionados.
1. La accin que una aplicacin realiza en respuesta a un gesto se denomina un evento
__________.
2. Los datos __________ proporcionan datos de ubicacin sin procesar, como longitud
y latitud, o metros.
3. Los __________ son API que permiten que los scripts se ejecuten en segundo plano
como procesos paralelos.
4. La API de __________ ofrece comunicacin de dplex completo, de dos vas,
a travs de un socket nico por Internet.
5. La API __________ permite que un explorador o una aplicacin cargue archivos
de almacenamiento local en un servidor remoto sin necesitar ningn complemento.
6. un programa o una interfaz que ejecuta software que produce resultados similares
sobre una amplia variedad de hardware tambin se denomina _____________.
7. Un __________ es un dispositivo que mide la aceleracin, la cual es un cambio
de velocidad o direccin en un perodo de tiempo.
8. Una pantalla tctil __________ se compone de varias capas, las ms alta de las
cuales se dobla cuando se presiona y oprime la capa inferior. Los sensores detectan
la presin, que es como el sistema sabe qu parte de la pantalla se ha presionado.
9. Un __________ es un tipo de datos que puede almacenar datos binarios, como
imgenes o archivos multimedia.
10. Comet y tecnologas push similares introdujeron el __________, en el cual un
explorador se pone en contacto con un servidor web peridicamente (algunas veces de
forma constante) para ver si hay nueva informacin disponible que presentar al usuario.
266 | Leccin 10
Varias opciones
Rodee con un crculo la letra correspondiente a la mejor respuesta.
1. Qu tipo de pantalla tctil requiere propiedades conductoras?
a. Capacitiva
b. Resistiva
c. Electrnica
d. Ninguna de las anteriores
5. Cul de las siguientes opciones son buenos ejemplos de aplicaciones web que se
benefician de WebSockets? (Seleccione todas las respuestas que correspondan).
a. Chat
b. Libreta de direcciones
c. Juegos de varios jugadores en lnea
d. Cotizaciones
Verdadero/Falso
Haga un crculo alrededor de la V si el enunciado es verdadero o alrededor de la F
sielenunciado es falso.
VF1. El W3C lo formaron Apple, Mozilla Foundation y Opera Software para definir
y documentar la especificacin HTML5.
VF2. En JavaScript, el objeto tctil detecta la entrada de dispositivos tctiles.
VF3. Los datos civiles son datos de ubicacin ms fciles de entender, por ejemplo
un mapa o una direccin como 637 Park Street.
VF4. Los desarrolladores prueban sus aplicaciones y los usuarios ejecutan las
aplicaciones en el entorno WinRT.
VF5. El gesto presionar y pulsar es un equivalente a un clic con el botn primario
del mouse.
Evaluacin de competencias
Escenario 10-1: Comprensin de los gestos
Jerome es un compaero de trabajo y desarrollador en ciernes que est experimentando
con una aplicacin tctil. Desea saber qu gesto imita a un clic del mouse. Qu le dice?
Evaluacin de aptitudes
Escenario 10-3: Comprensin del movimiento del dispositivo
Vong es una programadora para un importante fabricante de smartphones. Recientemente
se le asign trabajar en un proyecto de movimiento del dispositivo con un equipo de
desarrollo. Desea comprender rpidamente la diferencia entre los sensores acelermetro,
brjula y giroscopio. Qu le dice?
268
ndice
elemento Article, 61 L
elemento Aside, 6164 Lenguaje de marcado de hipertexto (HTML), 2, 22,
elemento de encabezado, 56 Vase tambin HTML5
elemento de men, 72 anidar elementos, 24
elemento de pie de pgina, 6 atributos, 2324
elemento de seccin, 5759 elemento, 23
elemento Nav, 5961 entidades, 2425
entrada, 5386 estructura de la pgina, 2229
formulario web sencillo, crear, 7981 etiquetas vacas, 22
formularios, 5472 etiquetas, 2223
HTML semntico, 5455 marcado bsico, 2229
listas, usar etiquetas para crear, 6472 principios bsicos de, 2229
organizacin, 5386 representaciones, 22
tablas, usar etiquetas para crear, 6472 tipo de documento, 2526
usar etiquetas, 5564 Lenguaje de marcado extensible (XML), 42
validacin, 5386 Lenguaje de marcado, 2
valores, 7781 Lenguaje de scripting, 2
organizacin de contenido mediante CSS, 111114, Lista de definiciones, 71
Vase tambin en Principios bsicos de CSS Lista ordenada, 6970
Interfaz de usuario (UI) estilo Moderno, 3 crear, 72
Interfaz grfica de usuario (GUI) Lista sin ordenar, 6970
canvas para mejorar, 182185 Lista tctil, 245246
Invertir orden de caja flexible, 124126 Listas
crear listas, 6972
etiquetas en, 6472
J elemento DataList, 79
JavaScript Object Notation (JSON), 228 lista de definiciones, 71
JavaScript, 189214, 216219 lista ordenada, 6970
actualizar interfaz de usuario mediante, 199211, lista sin ordenar, 6970
Vase tambin en Interfaz de usuario Localizador uniforme de recursos (URL), 47
administrar un formulario con, 233235
codificacin, 243267, Vase tambin en Interfaces tctiles
acelermetro, 263 M
cmara, 263264 Marcado bsico, HTML, 2229
datos civiles, 250 Marcado semntico, 54
datos geodsicos, 250 Margen, 112
recursos en memoria, tener acceso a, 260262 Marketplace de la Tienda Windows, 1617
sistema de posicionamiento global (GPS), 263 Mtodo getElementById() para entrada de usuario, 202203
sondeo, 255 Mtodos, 189214
codificar animaciones mediante, 216219 Modelo de caja flexible, 113
jQuery, 197199 caja flexible con elementos de caja flexible, crear, 119
manipulacin de canvas con, 220224, direccin de elementos secundarios en una caja flexible,
Vase tambin en Canvas cambiar, 122126
programa JavaScript de varias instrucciones, 192193 elementos de caja flexible, 114, 116128
programa JavaScript sencillo, crear, 190192 con funcin flex, crear, 120122
usar en validacin de entrada de formularios de usuario, escala proporcional en interior, 116122
233235 orden de caja flexible, invertir, 124126
uso de variables en, 196 para alineacin, direccin y orientacin de contenido, 114128
jQuery, 197199 para diseos sencillos, 112114
propiedad flex-order, 127
trabajar con, 116128
K Monospace, 94-95
Kit de desarrollo de software (SDK), 14 Multimedia, 2152
consultas, 4, 127
etiquetas HTML5 para reproducir, 4549,
Vase tambin Etiquetas de audio; Etiquetas de vdeo
274 | ndice
N Proceso, 8
.NET Framework, 10 Programa JavaScript de varias instrucciones, 192193
Programa, 190
Propiedad border-radius, 160
O Propiedad flex-order, 127128
Objeto flotante, crear flujo de texto alrededor, CSS en, 152155 Protocolo de transporte de hipertexto (HTTP), 11
Exclusiones de CSS, 152154
flotador posicionado, 152
Objeto tctil, 245246 R
Objetos complejos, transmitir, 227229 Recursin, 216
Opacidad, 163164 Recursos de dispositivos y del sistema operativo,
codificacin de JavaScript para, 243267
Recursos de dispositivos, tener acceso a, 260264
P Recursos del sistema operativo, 260264
Pgina web sencilla, 2629 Recursos en memoria, tener acceso a, 260262
crear, 2629 Regiones CSS, Vase Regiones, CSS
marcado de, 2629 Regiones, CSS, 139
Pgina web vlida, 26 crear, 143145
Pgina web, mostrar imgenes en, 37 implementacin de Microsoft de, 142145
Pantalla Reglas, 89
agregar un elemento a, 210 Relacin primario-secundario, 113
ocultar partes de, en funcin de la accin del usuario, 206208 Relleno, 112
Pantalla tctil resistiva, 244 Reloj con manecillas en movimiento, crear, 220222
Pantallas tctiles capacitivas, 244 Representaciones, 22
Paquete de aplicacin, 8 Rotacin 171172
Permisos de identidad, 10 Rotacin 2D, 171172
Perspectiva, 173179 Rotacin 3D 171172
3D, 173179 Rotacin 2D, 171172
Plantillas de cuadrcula, 132133 Rotacin 3D 171172
Posicin flotante, 152
Posicionamiento absoluto, 100102
con varias columnas, 101 S
Posicionamiento flotante, 99100 Scalable Vector Graphics (SVG), 34, 42
con varias columnas, 99100 crear grficos con, 4244
Prefijo de proveedor, 111 grfico vectorial SVG, 4344
Principios bsicos de codificacin, 189214 efectos de filtro, aplicar, 179182
Principios bsicos de CSS, 110136 desenfoque gaussiano, 181182
contenido, ordenar y organizar, 126128 desplazamiento, 181182
organizacin del contenido de la interfaz uso de canvas en lugar de SVG, 44
de usuario (UI), 111114 Selectores, 9294
borde, 112 Separacin de contenido y estilo, 9192
caja flexible para diseos simples, 112114 Servicio de validacin de marcado, W3C, 15
contenido, 112 Sesgado 172173
cuadrcula para diseos complejos, 112114 2D, 172175
elemento de nivel de bloque, 113 3D, 172173
elementos alineados, 113 Sesgado 2D, 172175
margen, 112 Sesgado 3D 172173
modelo de caja flexible (Flexbox), 113, Sistema de posicionamiento global (GPS), 263
Vase tambin la entrada correspondiente Sombra paralela, 161
modelo de diseo de cuadrcula, 114, Sombras, crear, 161163
Vase tambin Diseos de cuadrcula cuadro con, crear, 162163
prefijo de proveedor, 111 sombra paralela, 161
relacin primario-secundario, 113 sombra h, 162
relleno, 112 sombra v, 162
Probar aplicaciones HTML5, 1316 Sondeo, 255
Proceso de host, 78 Subrutinas, 197
ndice | 275
T V
Tablas Validacin automtica, 82
crear tablas, 6469 Validacin de entrada de formularios de usuario,
etiquetas en, 6472 uso de JavaScript en, 233235
Texto de marcador de posicin, 78 Validacin del lado cliente, 82
Texto desbordante, 142 Validacin del lado servidor, 82
Texto, 2152 validacin, 8183, 203
administracin de flujo mediante CSS, 137158, adicin de campos a formulario web, 83
Vase tambin en Hojas de estilo en cascada etiquetas HTML5 para, 7283
elementos de texto no usados en HTML5, 3234, validacin automtica, 82
Vase tambin Degradacin, elementos HTML5 validacin del lado cliente, 82
etiquetas HTML5 para mostrar, elegir y configurar, 2934 validacin del lado servidor, 82
<b>, 30 Validar cdigo HTML5, 14
<em>, 30 Validar un paquete, 1416
<i>, 30 Valores, 7781
<small>, 30 Variable, 195
<strong>, 30 en programa JavaScript, 196
elementos HTML 4 relacionados con texto con nuevo Varias columnas en CSS3, 146147
significado o funcionalidad, 2931
texto alternativo para exploradores anteriores, 4142
etiquetas relacionadas con texto en pgina web, W
modificar, 3031 Web Hypertext Application Technology Working Group
nuevos elementos de texto en HTML5, 3132 (WHATWG), 249
<command>, 31 Web Open Font Format (WOFF), 166167
<mark>, 31 Web segura, 166
<time>, 31 Windows en tiempo de ejecucin (WinRT), 7, 260
uso de elemento mark, 32 World Wide Web Consortium (W3C), 2
Tipo de documento, 2526 servicio de validacin de CSS, 1516
Tipografa, 166167 servicio de validacin de marcado, 15
Transformacin 2D, 167169 WWAHost.exe, 8
Transformacin 3D 167169
Transformaciones, 167169
2D, 167169
3D, 167169
Transiciones, 173179
crear mediante CSS, 176178
3D, 173179
Transparencia, 163164
Traslacin, 168172
2D, 168169