LMSGI02 - DAM - Lenguajes de marcas y sistemas de gestión de información - Utilización de lenguajes de marcas en entornos web. Contenidos.
Utilización de lenguajes de marcas en entornos web.
Caso práctico
Después de asociarse,MaríayFélixesperan aumentar el número de clientes de su negocio teniendo presencia en Internet, para ello hablan conJuan, técnico superior en Administración de Sistemas Informáticos.
Juanles aconseja desarrollar una sencilla página web para la empresa, cuya funcionalidad puede ir aumentando a medida que aumenten sus necesidades. Por lo que el primer paso, será encargárselo a alguien que conozca el lenguaje HTML.
Maríale pregunta aJuanpor su disponibilidad y capacidad para realizar dicha tarea.Juanle contesta que aprendió HTML en 1998. El boom de Internet le animó a interesarse por este campo y en este lenguaje realizó su primera página web. Desde entonces el lenguaje ha sufrido cambios en los que se ha ido actualizando.
Orientaciones para el alumnado
En esta unidad de trabajo estudiarás el lenguaje HTML y el uso de las hojas de estilos CSS. Al finalizar la unidad podrás elaborar páginas web sencillas.
Materiales formativos de FP Online propiedad del Ministerio de Educación y Formación Profesional. Aviso Legal
1.- Introducción a la utilización de lenguajes de marcas en entornos web.
Orientaciones para el alumnado
En este primer apartado de la UT2 aprenderás sobre la evolución del lenguaje HTML y las características del XHTML. Descubrirás cual es la estructura de un documento HTML y aprenderás a identificar las etiquetas y los atributos que forman el lenguaje. Por último conocerás los atributos comunes a todas las etiquetas HTML.
Para poder aprovechar todo el contenido de la unidad es recomendable que a la vez que lees los contenidos tengas preparado algún editor de HTML para ir probando los ejemplos que acompañan a las explicaciones.
1.1.- HTML: evolución y versiones.
HTML es el lenguaje utilizado para crear la mayor parte de las páginas web. Es un estándar reconocido en todos los navegadores, por lo tanto, todos ellos visualizan una páginaHTML de forma muy similar independientemente del sistema operativo sobre el que se ejecutan.
El origen de HTML fue un sistema de hipertexto para compartir documentos electrónicos en 1990. La primera propuesta oficial para convertirHTMLen un estándar se realizó en 1993. Ninguna de las dos primeras propuestas de estándar que se hicieron (HTMLyHTML+) consiguieron convertirse en estándares oficiales.
HTML 2.0 fue la primera versión oficial de HTML. El IETF publicó el estándar en septiembre de 1995.
HTML 3.2 se publicó el 14 de Enero de 1997, por el W3C. Incorporaba los applets de Java y texto alrededor de las imágenes.
HTML 4.0 se publicó el 24 de Abril de 1998. Entre las novedades que presentaba se encontraban las hojas de estilos CSS y la posibilidad de incluir pequeños programas en las páginas web.
HTML 4.01se publicó el 24 de diciembre de 1999, como actualización de la versión anterior. En ese momento el W3C detuvo la actividad de estandarización de HTML hasta marzo de 2007, momento en que se retoma debido a la fuerza de las empresas que forman el grupo WHATWG y a la publicación de los borradores de HTML 5.0, que será la siguiente versión de este lenguaje.
HTML 5es la versión más avanzada y la que se considera estándar actualmente, aunque ha ido evolucionando por diferentes especificaciones (HTML 5.1, HTML 5.2 y HTML 5.3). Es una versión viva en la que se sigue trabajando y su estándar actual (HTML 5.3) fue definido el 18 de octubre de 2018. Puedes encontrar las especificaciones de la última versión de HTML en el siguienteenlace.
Uno de los cambios más importantes en HTML 5 es que todo lo relativo a la presentación del documento se pasa del HTML a las hojas de estilo CSS. Es decir, cuestiones como colores, fondos, tamaño o posicionamiento se especifican mediante CSS. El HTML se encarga de la información que se quiere mostrar, su estructura y su semántica. Esto hace que muchos elementos y atributos de HTML 4 hayan quedado obsoletos (<font>,<center>,align,...).
Permite crear documentos interactivos que proporcionan información adicional cuando se solicita mediante "hiperenlaces", también llamados "enlace", que relacionan dos recursos. Dichos recursos pueden ser otras páginas web, imágenes, documentos o archivos.
Acrónimo. Inglés. IETF = Internet Engineering Task Force, significa Grupo Especial sobre Ingeniería de Internet. Institución sin ánimo de lucro que establece las modificaciones de los protocolos y arquitectura de Internet.
Son pequeños programas escritos en lenguaje Java que puede incrustarse en un documento HTML permitiendo obtener una gran variedad de efectos en las páginas web. Entre sus características es digno de mencionar un esquema de seguridad que impide que los applets que se ejecutan en el equipo tengan acceso a partes sensibles del sistema, a menos que uno mismo le dé los permisos necesarios.
(Web Hypertext Application Technology Working Group). Organización fundada por trabajadores de las empresas Apple, Mozilla y Opera en 2004, su interés es ayudar a la organización W3C para regular todos los estándares que forman parte de la Web.
(Web Hypertext Application Technology Working Group). Organización fundada por trabajadores de las empresas Apple, Mozilla y Opera en 2004, su interés es ayudar a la organización W3C para regular todos los estándares que forman parte de la Web.
1.2.- HTML y XHTML.
Caso práctico
Puesto que Juan ha aceptado realizar la página web se plantea el hacerla en HTML o en XHTML consulta con Marina, trabajadora de su empresa informática.
Marina opina que, desde un punto de vista formal, no hay diferencias sustanciales entre utilizar uno u otro lenguaje, y siguiendo la evolución lógica le parece que sería más apropiado utilizar XHTML y añade que este lenguaje tiene la ventaja de ser compatible con navegadores antiguos.
Juan opina que es una buena opción, pero que algunos navegadores, a pesar de ser compatibles con el lenguaje no interpretan los formatos.
El lenguaje XHTML (EXtensible HyperText Markup Language) es muy similar al lenguaje HTML. De hecho, no es más que una adaptación de HTML al lenguaje XML.
El estándarXHTML1.0 sólo añade pequeñas mejoras y modificaciones menores al estándarHTML4.01, por lo que este último está prácticamente incluido en el primero. Pasar delHTML4.01 StrictaXHTMLno requiere casi ningún cambio.
El lenguajeHTMLtiene una sintaxis muy permisiva, por lo que es posible escribir sus etiquetas y atributos de muchas formas diferentes. Las etiquetas, por ejemplo, pueden escribirse en mayúsculas, minúsculas e incluso combinando mayúsculas y minúsculas. El valor de los atributos de las etiquetas se pueden indicar con o sin comillas. Además, el orden en el que se abrían y cerraban las etiquetas no era importante.
La flexibilidad deHTMLda lugar a páginas con un código desordenado, difícil de mantener y muy poco profesional.
XHTMLsoluciona estos problemas añadiendo ciertas normas en la forma de escribir las etiquetas y atributos. Son las normas que vimos en el capítulo 1 para que un fichero XML se considera bien formado. Así se consigue:
Sencillez a la hora de editar y mantener el código.
Al ser más regular, es más fácil escribir código que lo procese.
Como esXMLse pueden utilizar fácilmente herramientas creadas para procesar documentosXMLgenéricos (editores,XSLT, etc.).
Diferencias sintácticas y estructurales con HTML
Para que que el código HTML se pueda considerar XML bien formado, y por tanto, XHTML, tiene que cumplir:
Toda la página debe estar contenida en un elemento raíz,<html>.
Los nombres de las etiquetas y atributos siempre se escriben en minúsculas.
El valor de los atributos, incluso los numéricos, siempre se encierra entre comillas.
En los atributos en los que el nombre coincide con su valor, no puede darse el valor por entendido, es decir, no se pueden comprimir. Este tipo de atributos no son muy habituales.
Todas las etiquetas deben cerrarse siempre.XHTMLpermite que en lugar de abrir y cerrar de forma consecutiva la etiqueta (<br><br/>) se puede utilizar la sintaxis <br/> para indicar que es una etiqueta vacía que se abre y se cierra en ese mismo punto.
En general, los diseñadores web suelen trabajar con HTML. El XHTML es más apreciado por los desarrolladores, que aprecian la regularidad adicional. De cualquier manera, los tres primeros puntos de la anterior lista se consideran una buena práctica y se suelen cumplir siempre.
Por otro lado, hay que tener en cuenta que los navegadores no procesan HTML y XHTML exactamente igual. En concreto, en caso de errores para HTML el navegador intentará mostrar el mayor contenido posible. Pero si el documento se sirve como XHTML (con un tipo MIME XML), cualquier error de sintaxis causa que no se muestre el documento.
Félix pregunta a Juan si existen grandes diferencias entre el XML y el HTML. Juan le explica que ambos lenguajes tienen origen en otro lenguaje que es el SGML y que sus diferencias son, principalmente, funcionales ya que la estructura del documento es semejante.
La estructura de una página HTML ha de ser coherente con la que hemos visto en el tema anterior para cualquier documento XML. Por ello tendrá un prólogo y un ejemplar.
Prólogo
Todo documento HTML ha de tener una declaración del tipo de documento donde se le indica al navegador el tipo de documento que se va a iniciar y la versión de HTML utilizada para la codificación del mismo y, además, le permite interpretarlo correctamente.
Para la versión HTML 4.0, hay tres prólogos distintos que definen tres tipos de documentos HTML:
HTML 4.0 Strict. Es la DTD utilizada por defecto con HTML 4.0. En estos documentos no se permite el uso de los elementos declarados deprecated en otras versiones o Recomendaciones HTML. La declaración del tipo de documento correspondiente es:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
HTML 4.0 Transitional. Permite el uso de todos los elementos que permite el HTML 4.0 Strict, además de los elementos deprecated. La declaración del tipo de documento correspondiente es:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
HTML 4.0 Frameset. Es una variante de HTML 4.0 Transitional para documentos que usan frames. En estos documentos el elemento body hay que reemplazarlo por un elemento frameset. La declaración del tipo de documento correspondiente es:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
En el caso de HTML5 solo existe una declaración de tipo de documento:
<!DOCTYPE html>
Ejemplar
En un documento HTML está delimitado por las etiquetas<html>y</html>. El ejemplar puede, a su vez dividirse en dos partes:
La cabecera, delimitada por las etiquetas <head> y </head>. Contiene la información sobre el título de la página, el autor, palabras clave, etc. Dentro de esta sección es obligatorio definir el título del documento, para ello se usan las etiquetas <title></title>. Está información no se presentará en la ventana del navegador, salvo el título, que aparecerá en la barra de título de la parte superior.
El cuerpo, contiene la información que se va a presentar en la pantalla. Está limitado por las etiquetas <body> y </body>, salvo en los documentos de tipo HTML 4.0 Frameset donde éstas se sustituyen por <frameset> y </frameset>.
Es un marco que permite visualizar simultáneamente, en una misma página web, varios apartados diferentes.
1.4.- Identificación de etiquetas y atributos HTML.
Caso práctico
María, tras escuchar que XML y HTML tienen el mismo origen, se interesa por si utilizan las mismas etiquetas.
Juan le contesta que en HTML las etiquetas y los atributos están definidos previamente, mientras que en XML los define el programador.
Un documentoHTML está formado por etiquetas y atributos.
Al igual que enXMLlas etiquetas pueden ser de apertura, <etiqueta>, o de cierre, </etiqueta>. Una de las diferencias conXMLes que la cantidad de etiquetas deHTMLestá limitada a aquellas que están definidas por el lenguaje.
AunqueHTMLdefine una gran cantidad de etiquetas, estas no son suficientes para crear páginas complejas ya que la definición completa de ciertos elementos, como las imágenes y los enlaces, requiere información adicional. Como no es posible crear una etiqueta por cada elemento diferente, se añade la información adicional a las etiquetas mediante los atributos, dando lugar a los elementos.
Para cada uno de los atributos hay definido un conjunto de valores que se le puede asignar. Si el valor de un atributo no es válido, el navegador lo ignora.
Cada una de las etiquetasHTMLdefine los atributos que puede utilizar, aunque algunos de ellos son comunes a muchas etiquetas.
1.5.- Clasificación de los atributos comunes según su funcionalidad.
Atributos básicos o globales: Se pueden usar en casi todas las etiquetas HTML.
Atributo
Descripción
name = "texto"
Permite asignar el nombre "texto" a un objeto HTML
title = "texto"
Asigna un título a un elemento HTML, mejorando así la accesibilidad. Dicho título es mostrado por los navegadores cuando el usuario pasa el ratón por encima del elemento. Es especialmente útil con los elementos: a, link, img, object, abbr y acronym
id = "texto"
Permite identificar al elemento HTML sobre el que se aplica de forma única mediante el identificador "texto". Sólo es útil cuando se trabaja con CSS y con Javascript.
No pueden empezar por números y sólo puede contener letras, números, guiones medios y/o guiones bajos.
style = "texto"
Permite aplicar al elemento HTML el estilo "texto" directamente.
class= "texto"
Permite aplicar al elemento HTML el estilo "texto" definido en las CSS.
No pueden empezar por números y sólo puede contener letras, números, guiones medios y/o guiones bajos.
Atributos para internacionalización: Los utilizan las páginas que muestran sus contenidos en varios idiomas o aquellas que quieren indicar de forma explícita el idioma de sus contenidos
Atributo
Descripción
dir
Indica la dirección del texto por lo que sólo puede tomar dos valores:
ltr (left to right) de izquierda a derecha. Es el valor por defecto.
rtl (right to left) de derecha a izquierda.
lang = "código"
Especifica el idioma del elemento mediante un código predefinido. Los posibles valores de este atributo se encuentran en el documento RFC 1766, algunos de los valores posibles son:
Código
Idioma
Código
Idioma
en
Inglés (Gran Bretaña)
es
Español
en-US
Inglés americano
fr
Francés
ja
Japones
fr-CA
Francés de Canadá
xml:lang = "codigo"
Especifica el idioma del elemento mediante un código definido según la recomendación RFC 1766.
En las páginas XHTML, el atributo xml:lang tiene más prioridad que lang y es obligatorio incluirlo siempre que se incluye el atributo lang.
Atributos de eventos y atributos para los elementos que pueden obtener el foco: Sólo se utilizan en las páginas web dinámicas creadas con JavaScript. Como no es nuestro objetivo no lo vamos a contemplar.
Lenguaje de programación interpretado con el mismo nombre (dialecto del estándar ECMAScript). Se define como orientado a objetos, basado en prototipos, imperativo, débilmente tipado y dinámico. Muy usado en la programación de páginas web para completar el comportamiento de los documentos HTML.
2.- Elementos HTML.
Introducción
Un elemento HTML está formado por:
Una etiqueta de apertura.
Cero o más atributos.
Opcionalmente, un texto, encerrado por la etiqueta. No todas las etiquetas pueden encerrar texto.
Una etiqueta de cierre. Para algunos elementos no hay etiqueta de cierre o es opcional.
Según el modo en que ocupan el espacio disponible en la página, los elementos pueden ser de dos tipos:
Elementos en línea. Sólo ocupan el espacio necesario para mostrar sus contenidos. Su contenido puede ser texto u otros elementos en línea.
Elementos de bloque. Los elementos de bloque siempre empiezan en una nueva línea y ocupan todo el espacio disponible hasta el final de la línea, aunque sus contenidos no lleguen hasta allí. Su contenido puede ser texto, elementos en línea u otros elementos de bloque.
El siguiente ejemplo muestra la diferencia entre ambos comportamientos
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de la diferencia entre los elementos en línea
y los elementos de bloque
</title>
</head>
<body>
<h1>Los encabezados son elementos de bloque.</h1>
<p>Y los párrafos también.</p>
<a href="#">Los enlaces son elementos de línea</a>
<p>Incluso si esta definido dentro de un párrafo, <strong>un texto resaltado</strong> sigue siendo un elemento en línea.
</p>
</body>
</html>
2.1.- Elementos de la estructura básica de un documento.
Los elementos que definen la estructura básica de un documento son:
<html>- Define el inicio (y final con "</html>") de un documento HTML. Contiene a los elementos:
<head>- Define el inicio (y final con "</head>") de la cabecera del documento.
<body>- Define el inicio (y final con "</body>") del cuerpo del documento. Permite definir formatos que se aplican a los elementos de la página de manera global, como por ejemplo el color de fondo del texto o la anchura de los márgenes.
Un ejemplo de un documento HTML básico que utiliza estos elementos es:
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de la estructura de un documento HTML</title>
</head>
<body>
Aquí es donde se coloca la información que se quiere visualizar en el navegador.
</body>
</html>
Al publicarlo en un navegador, por ejemplo en Firefox, tendríamos:
Metadatos sobre la página, como la codificación de caracteres, descripción o autores.
Ejemplo:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>El título es obligatorio</title>
</head>
<body>
...
</body>
</html>
El título aparece en la barra del navegador y como nombre de la pestaña. El ejemplo anterior se vería así:
Para que los acentos se vean bien hay que guardar el ejemplo con la codificación indicado en el documento, UTF-8
2.3.- Encabezados y párrafos.
Para agrupar el texto en párrafos se usa el elemento<p>. Es un elemento de bloque.
<p>Texto del párrafo </p>
Para los encabezados, en HTML se definen 6 elementos:
<h1>,<h2>,<h3>, <h4>, <h5>, <h6>
Cuanto menor es el número, mayor es la importancia del encabezado. El texto marcado debe servir como encabezado a la sección en la que aparece. Se pueden utilizar para organizar jerárquicamente el contenido de la página.
Al procesar el HTML los navegadores ignoran los saltos de línea y, si encuentran varios espacios consecutivos, los colapsan en uno.
Si es necesario introducir un salto de línea se utiliza el elemento <br>. Para introducir múltiples espacios, se puede utilizar la entidad , aunque también hay otras opciones con etiquetas HTML o propiedades CSS.
Ejemplo
Esta página
<!DOCTYPE html>
<html>
<head>
<meta charset='UTF-8'>
<title>Saltos de línea</title>
</head>
<body>
Esto
se
ve
en
una línea sin espacios de más
<p>Aquí hay espacios</p>
Esto <br> introduce un salto de línea
</body>
</html>
se verá así:
2.3.2.- Comentarios.
Se pueden introducir comentario en los ficheros HTML así:
<!-- comentario -->
También pueden ser mulitlínea:
<!-- comentario
de varias
líneas -->
Los comentarios no son procesados por los navegadores, sirven para documentar el código.
<small>, para comentarios accesorios, como lo que suelen aparecer en letra pequeña.
Elemento <a>
Este elemento hace que el texto encerrado entre las etiquetas sea un hipervínculo.
El atributo más importante eshref, que indica la URL del vínculo, A veces se usahref="#"para refererirse a la misma página en la que aparece el vínculo.
El atributotargetpermite elegir donde se abrirá el vínculo. Los valores más usados son:
target = "_blank", para que se abra en una ventana/pestaña nueva.
target = "_self", para que se abra en la misma. Es el valor por defecto.
Ejemplo:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Semántica a nivel de texto</title>
</head>
<body>
Texto marcado como <strong>importante</strong>.
<br>
Texto con <em>énfasis</em>
<br>
Texto marcado <small> con el elemento small </small>
<br>
Pulsa <a href="https://www.w3.org/">aquí</a> para ir a la página del W3C.
</body>
</html>
El resultado sería:
Aquíse puede consultar la lista completa de elementos para esta categoría. No todos tienen una representación visual en el navegador.
2.5.- Elementos de listas.
Hay tres tipos de listas: ordenadas, desordenadas y listas de definición.
Cada una de las definiciones de una lista de definición.
Un ejemplo de un documento HTML que muestra la forma de utilizar estos elementos es:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Listas</title>
</head>
<body>
<h1>Ejemplo de lista desordenada: Módulos de 1º de ASIR</h1>
<ul>
<li>Fundamentos de Hardware</li>
<li>Gestión de Bases de Datos</li>
</ul>
<h1>Ejemplos de listas ordenadas: Módulos de 1º de ASIR</h1>
Comenzando en 1
<ol>
<li>Fundamentos de Hardware</li>
<li>Gestión de Bases de Datos</li>
</ol>
Comenzando en 4
<ol start = "4">
<li>Fundamentos de Hardware</li>
<li>Gestión de Bases de Datos</li>
</ol>
<h1>Ejemplo de lista de definición: Módulos de 1º de ASIR</h1>
<dl>
<dt>Fundamentos de Hardware</dt>
<dd>Componentes fÍsicos de un ordenador</dd>
<dt>Gestión de Bases de Datos</dt>
<dd>Diseño y uso de bases de datos relacionales</dd>
</dl>
</body>
</html>
Que al publicarse en el navegador quedaría:
2.6.- Elementos de tablas.
Las tablas son una forma habitual de presentar información de manera compacta y fácil de entender para el que la lee. Aunque hay muchas posibilidades, en general las tablas muestras una serie de datos (columnas) comunes para varios elementos (filas). Como ejemplos, podemos pensar en un horario, o en una tabla comparativa de varios productos.
Los elementos para definir una tabla son los siguientes (no es necesario usar todos):
En HTML las tablas están formadas por filas (elemento <tr>,) y estas a su vez por celdas. Las celdas pueden ser de datos (elemento <td>) o de cabecera (elemento <th>).
El elemento <table> contiene al resto de elementos.
Por cada fila de la tabla habrá un elemento <tr>. Este elemento contiene una serie de elementos <td> o <th> (uno por columna).
Normalmente en la primera fila las celdas son elementos <th> y en el resto <td>.
En este tutorial puedes ver ejemplos de tablas avanzadas.
NOTA IMPORTANTE: Aunque era habitual hace años, no es correcto usar tablas para la maquetación de la página.
2.7.- Elementos de formularios.
Los formularios permiten recoger información que el usuario introduce en el navegador.
Es importante validar estos datos, para detectar los errores en local (en el propio equipo), en caso de haberlos. De este modo se evita sobrecargar la red con datos erróneos y sobrecargar al servidor con tareas innecesarias.
Normalmente se combinan los formularios con código JavaScript, que ayuda a realizar esas validaciones.
Es un elemento que permite a la página web solicitar información al usuario.
Ejercicio Resuelto
En la siguiente imagen puedes ver un ejemplo de un formulario con una muestra de algunos de los diferentes tipos de campos existentes.
¿Cuál podría ser el código HTML asociado al documento que se muestra en la siguiente imagen?
2.7.1.- Declaración de formulario
La apertura y cierre de un formulario se hace mediante el elementoform.
La etiqueta permite especificar una serie de atributos para ajustar sus características. Los principales son:
name– nombre del formulario
action– Acción que se ejecuta cuando se pulsa el botón de enviar formulario
enctype– Formato en el que se enviarán los valores del formulario, depende del contenido se enviarán de una u otra manera.
method– Método de envío de la transmisión de datos, se puede elegir entre dos métodos GETy POST
La diferencia entre los métodos de envío GETy POST es la siguiente:
GET vs POST
GET
POST
Permite pasar valores en ASCII con un límite de 100 caracteres
Los valores de las variables que se transmiten se pueden ver en la URL y van concatenadas por el símbolo de AND (&) por ejemplo: http://www.pagina.com/index.php?variable1=valor1&variable2=valor2&variable3=valor3
Permite pasar valores de variables y otros elementos tales como archivos
Carece de restricciones de longitud como el método GET
Las variables y sus valores no son visibles en la URL
2.7.2.- Campos de formulario - input
Dentro de un formulario puede haber varios tipos de controles: campos de texto normales, campos para contraseñas, fechas o botones de radio, entre otros.
El elemento<input>(que no tiene etiqueta de cierre) se puede usar para varios tipos de control, según el valor que tome el atributotype. Por ejemplo, para type="text", que es el valor por defecto, se obtiene un campo de texto. Con type = "radio", unbotón de radio.
Además, detype, los atributos más importantes de la etiqueta son:
name –nombre del campo
size – número de caracteres visibles en el campo. Por defecto 20.
maxlengh – número máximo de caracteres que el usuario podrá introducir en el campo
value – valor por defecto del campo de texto
placeholder – valor sugerido, se presenta en color gris y desaparece al hacer foco con el cursor en el campo
readonly – El valor del campo no puede ser modificado por el usuario
autofocus– Sitúa el cursor del ratón en el campo una vez cargada la página
required – No se podrá enviar el formulario hasta que el campo esté cumplimentado
Ejemplo:
<input type="text" name="usuario" size="30" maxlengh="20" placeholder="Escriba aquí el nombre de usuario" required>
Se vería en el navegador así:
2.7.3.- Campos de formulario - Área de texto
Permite recoger información abierta del usuario pero permitiendo un mayor número de caracteres. Se especifica mediante la etiqueta<textarea>
Para especificar un valor previo en el campo debe escribirse entre las etiquetas <textarea> de apertura y cierre
Atributos principales
name- nombre del campo
rows– número de filas. Reemplazable por la propiedad CSS height
cols– número de columnas. Reemplazable por la propiedad CSSwidth
También puede utilizar algunos de los atributos especificados para input:
placeholder
readonly
autofocus
maxlength
required
Por ejemplo, la siguiente línea de código HTML:
Describa a continuación sus intereses: <br> <textarea name="area"></textarea>
Quedaría en el navegador del siguiente modo:
2.7.4.- Campos de formularios - Lista desplegable
Permite que el usuario seleccione un valor entre diferentes opciones.
size– Número de elementos de la lista desplegable que se mostrarán
multiple– Permite seleccionar varias opciones manteniendo pulsada la teclaCtrlal seleccionarla
Atributos - <option>
selected– campo que aparece seleccionado por defecto
value– valor que se transmite cuando se envía el formulario
A continuación puedes encontrar un ejemplo de código HTML:
Por último seleccione el sistema operativo de su ordenador:
<select name="Sistema operativo favorito">
<option value="Linux">Linux </option>
<option value="Windows">Windows </option>
<option value="MacOS">Mac OS </option>
</select>
En la siguiente imagen puedes observar cómo quedaría en un editor de HTML (en este caso Notepad++) y cuál es el resultado en el navegador.
2.7.5.- Campos de formulario - checkbox
Permite que el usuario indique si está conforme con una o varias opciones.
value– valor que se transmitirá al enviar el formulario con ese campo seleccionado
Veamos un ejemplo de código HTML:
Estoy conforme con la política de privacidad de la página
<input type="checkbox" name"conforme" checked>
En el navegador se vería así:
2.7.6.- Botones de formulario
2.7.6.1.- Botón de envío
Permite enviar el formulario a un destinatario, por ejemplo a una página determinada en un servidor web para que procese los datos o una dirección de correo electrónico. Todo dependiendo del valor del atributoactionde la etiqueta de apertura de formulario.
Permite asociar a cada campo del formulario una etiqueta con su nombre. El texto mostrado entre las etiquetas <label> se muestra y constituye además una ayuda de usabilidad a personas invidentes.
<label for="conforme">Acepto el acuerdo de licencia</label>
<input type="checkbox" name="licencia" id="conforme" value="ok">
En el ejemplo la etiquetalabel se asocia al campo tipoinput mediante el atributoforque contiene el valor del identificador(id)de la etiquetainput. En el navegador se vería:
Escrita inmediatamente a continuación de la etiqueta de apertura<fieldset>agrega un texto relacionado con los campos agrupados
2.7.11.- Un ejemplo de formulario
Ejercicio Resuelto
¿Podrías escribir el código HTML de este formulario?
Caso práctico
Sin embargo verás que dicho código no sigue las reglas de organización de formularios que hemos indicado. ¿Podrías modificarlo? Si es así, entrégalo en esta Actividad voluntaria.
Para incrustar contenido multimedia (audio, vídeo, ficheros PDF, applets...)
Elemento <img>
Este elemento se usa para insertar una imagen. No tiene etiqueta de cierre. Los atributos más importante son:
src. Especifica la ruta de la imagen. Puede ser local, o una URL cualquiera. Los formatos soportados dependen de cada navegador, pero en general se pueden utilizar JPG, PNG y GIF, entre otros.
alt. Texto alternativo. Se usa si no se puede cargar la imagen o para loslectores de pantalla. Es obligatorio.
height. Altura. Si no se especifica, se escoge el tamaño original. Si se especifica, se escala. Es de los pocos casos en HTML5 en que un atributo tiene información de representación.
Para la segunda etiqueta <img>, como no se encuentra la imagen, el navegador muestra el texto alternativo.
Para poder probar este ejemplo, descargaesta imageny "guárdala como" index.jpeg en el mismo directorio que la el fichero html.
Acrónimo. Inglés. GIF = Graphics Interchange Format, que significa Formato de Intercambio de Gráficos. Formato gráfico para animaciones e imágenes de baja calidad con compresión. Admite transparencias y animaciones.
Acrónimo. Inglés. JPG = Joint Photographic experts Group. Formato para imágenes con compresión muy utilizado en páginas web.
Acrónimo. Inglés. PNG = Portable Network Graphics, que significa Gráficos de Red Portátiles. Formato para imágenes con compresión no sujeto a patentes muy utilizado en la páginas web. Admite transparencias.
2.9.- Secciones y etiquetas semánticas.
El elemento<div>se usa para agrupar otros elementos en secciones, tanto para organizar el contenido como para posicionarlo mediante hojas de estilo.
En HTML5 aparecieron varias etiquetas semánticas para estructurar el contenido de la página, y por tantosolo se debería usar<div>cuando no haya una etiqueta más apropiada
Estas etiquetas son:
<header>Contiene contenido introductorio para la sección de la página en que aparece. Es habitual que contenga los elementos de encabezado, h1,...,h6.
<aside> Se utiliza para contenido parcialmente relacionado con el contenido principal. No tiene por qué mostrarse en un lateral.
<footer> Contiene información sobre la sección correspondiente, como el autor. No tiene que estar necesariamente en la parte de inferior.
<section> Una sección genérica dentro del documento.
<article> Representa un elemento que se puede distribuir de manera independiente o reutilizable.
<nav>Contiene vínculos, internos o externos.Suele usarse para la barra de navegación.
La siguiente imagen muestra una disposición habitual para estos elementos. Para obtenerla hay que usar CSS.
El elemento iframe permite integrar una página web dentro de otra. En ciertos aspectos, sustituye a la especificación de marcos (frameset) de HTML 4, ya obsoleta.
Atributos más importantes de iframe:
height: Altura, por defecto en píxeles. Si no cabe todo el contenido, se usa una barra de desplazamiento. También se puede fijar con CSS.
width: Anchura, como el anterior.
src: La ruta al contenido inicial del iframe.
name: Nombre, para referirse al iframe desde un vínculo.
A continuación, vamos a ver un ejemplo de uso habitual.
El contenido del iframe cambia al seguir los vínculos. Para conseguirlo, en los vínculos hay que poner como valor del atributo target el valor del atributo name del iframe en que queramos que se cargue.
Es decir, para que se carguen en un iframe con name = "contenido"
se usará
<a href="..." target="contenido">...</a>
El código del ejemplo anterior sería el siguiente:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>iframe</title>
</head>
<body>
<a href = "listas.html" target = "contenido">Ejemplo de listas</a>
<a href = "tablas.html" target = "contenido">Ejemplo de tablas</a>
<p>Aquí está el iframe</p>
<iframe height = "300" width = "400" name = "contenido" src = "listas.html">
</body>
</html>
Inicialmente, el iframe carga "listas.html". Luego cambia entre "listas.html" y "tablas.html" al seguir los vínculos. Estos ficheros son los que se han utilizado en los ejemplos anteriores.
Para probar el ejemplo, tienes que tener los tres ficheros en el mismo directorio y abrir "iframe.html".
2.11.- Validación HTML.
Debes conocer
Es posible validar si nuestro códigoHTMLcumple con la especificación deHTML5, para ello existen diferentes páginas en Internet que nos facilitan este servicio:
Juan muestra a María y Félix una primera versión de la página web.
María muestra su conformidad con la estructura y contenidos de la futura web corporativa que Juan ha realizado, aunque le gustaría probar otras gamas de colores y tipos de fuente.
Félix plantea que, quizás, resulte un trabajo demasiado laborioso ya que supondría modificar todos los ficheros de la web.
Juan, sonriendo, comenta que de hecho no es exactamente así. En realidad los datos están separados de sus formatos.
Introducción
CSS(Cascading Style Sheets) permite a los desarrolladores Web controlar el estilo y el formato de múltiples páginas Web al mismo tiempo.
Antes del uso deCSS, los diseñadores de páginas web debían definir el aspecto de cada elemento dentro de las etiquetasHTMLde la página. El principal problema de esta forma de definir el aspecto de los elementos es que habría que definir el formato de cada uno de los elementos que formen la página, lo cual hace que sea muy difícil de actualizar.
CSSpermite separar los contenidos de la página y su aspecto. Para ello se define en una zona reservada el formato de cada uno de los elementos de la web. Cualquier cambio en el estilo marcado para un elemento en laCSSafectará a todas las páginas vinculadas a ella en las que aparezca ese elemento. Las hojas de estilo están compuestas por una o más reglas de estilo aplicadas a un documentoHTMLoXML.
Al crear una página web, se utiliza en primer lugar el lenguajeHTML/XHTMLpara marcar los contenidos, es decir, para designar la función de cada elemento dentro de la página: párrafo, cabecera, texto destacado, etc. Una vez creados los contenidos, se utiliza el lenguajeCSSpara definir el formato de cada elemento.
CSSobliga a crear documentos semánticosHTML/XHTML, mejora la accesibilidad del documento, reduce la complejidad de su mantenimiento y permite visualizar el mismo documento en infinidad de dispositivos diferentes.
Las hojas de estilos aparecieron poco después que el lenguaje de etiquetasSGML, alrededor del año 1970. Desde la creación deSGML, se observó la necesidad de definir un mecanismo que permitiera aplicar estilos a los documentos electrónicos. La guerra de navegadores y la falta de un estándar para la definición de los estilos dificultaban la creación de documentos que tuvieran igual apariencia en distintos navegadores.
En 1995, elW3Cañadió a su grupo de trabajo deHTMLel desarrollo y estandarización deCSS.
CSS 1, se publicó en 1996, es la primera recomendación oficial.
CSS 2, publicada en 1998, es la segunda recomendación oficial.
CSS 3, empezó a desarrollarse en 1998, sus primeros borradores se publicaron en junio de 1999. A diferencia de las versiones anteriores la especificación se divide en varios documentos separados llamados módulos. Esto permite que diferentes módulos se encuentren en diferentes estados de desarrollo y no todos pasen a ser recomendaciones oficiales delW3C. Un módulo debe primero pasar por la fase de "candidato" antes de ser aprobado.
CSS 4, última versión sobre la que no existe una especificación integrada ya que al igual queCSS 3se encuentra dividido en diferentes módulos. A partir de la división en módulos que se hizo enCSS 3la evolución de cada uno de ellos es independiente lo que provoca que actualmente la mayoría de módulos estén es especificación de nivel 3 mientras que otros (por ejemploSelectores) se encuentre en nivel 4.
En el siguiente enlace encontrarás el soporte que cada uno de los navegadores más actuales tienen sobre las etiquetas CSS.
Este elemento se utiliza habitualmente para dar estilo a texto no marcado.
Ejemplo
<p> Parte de este párrafo <span style="color:red">está en rojo</span>
3.2.- Sintaxis de las reglas de estilo.
Cada uno de los estilos que componen una hoja de estilos CSS se denomina regla. Cada regla se forma por:
Selector: indica el elemento o elementos HTML a los que se aplica la regla CSS
Llave de apertura, {
Declaración: especifica los estilos que se aplican a los elementos.
<span "=""> Propiedad: permite modificar el aspecto de un atributo del elemento.
<span "=""> Valor: indica el nuevo valor del atributo modificado en el elemento.
Llave de cierre, }.
p { color: blue;}
En este casoel selector es "p"(párrafo),la declaración es "color: blue"donde encontramos lapropiedad colory elvalor blue.
Un archivo CSS puede contener infinitas reglas CSS, cada regla puede contener varios selectores y cada declaración puede estar formada por diferentes declaraciones.
En ocasiones y dependiendo de cómo se haya hecho la definición de estilos es posible que el navegador se encuentre estilos contradictorios. Ante esta situación el navegador aplicará la siguiente precedencia
Declaración en línea
Declaración interna
Declaración externa
Propiedades por defecto del navegador
Por otro lado las hojas de estilo también permiten la herencia de propiedades, Si tenemos varios elementos HTML anidados los elementos más internos heredan los estilos de los externos en los que están anidados siempre y cuando ellos no los tengan definidos
3.4.- Selectores.
A la hora de aplicar estilos a nuestros elementos HTML necesitamos un mecanismo que permita identificar sobre cuál o cuáles de estos elementos queremos actuar. Para ello se utilizan los selectores, estos permiten identificar a qué elementos de nuestro código HTML vamos a aplicar el estilo definido. Existe diferentes selectores, a continuación veremos los más importantes.
Selector universal (*)
Sirve para seleccionar todos los elementos de la página.
* {margin:10px; padding: 5px};
Selectores de etiqueta
En este caso los estilos se aplican solo a la etiqueta.
p { text-align: center}
En este ejemplo, los párrafos serán alineados al centro.
Si queremos ajustar los mismos estilos a dos etiquetas diferentes podemos ponerlos separados por comas.
P, h1, h2 { text-align: center}
En este ejemplo, tanto los párrafos como los encabezados de tipo 1 y 2 serán alineados al centro.
3.4.1.- Selectores de clase.
En ocasiones no vamos a querer aplicar el mismo formato en todas las etiquetas del mismo tipo. Para ello podemos asignar a las etiquetas a una clase determinada, esto requiere que identifiquemos las etiquetas afectadas mediante el atributo classde la forma.
<p class=“parrafoCentrado”> ….. </p>
El selector se especificaría:
p.parrafoCentrado {text-align: center; }
De manera que este estilo se aplicaría a todas las etiquetas p que tengan el atributo class a valor parrafoCentrado.
Sin embargo si hacemos la misma definición pero omitimos el identificador de etiqueta:
.parrafoCentrado { text-align: center; }
Se aplicaría a todas las etiquetas que perteneciesen a la clase “parrafoCentrado” sean del tipo que sean. Por ejemplo a una que fuese:
<!DOCTYPE html>
<html>
<head>
<meta charset='UTF-8'>
<title>Ejemplo del uso de clases en hojas de estilo</title>
<style type="text/css">
.clase_azul{color:blue}
p.clase_roja{color:#ff0000; font-style:italic; font-weight:bolder; font-family:courier;}
</style>
</head>
<body>
<h3 class="clase_azul">Ejemplo del uso de clases en hojas de estilo</h3>
<p>Cualquier elemento sobre el que apliquemos la clase clase_azul tendrá el texto azul.</p>
<p class="clase_azul"> Incluso el párrafo.</p>
<p class="clase_roja">Sobre el párrafo podemos aplicar la clase clase_roja y el texto será rojo, en negrita cursiva y la familia del texto courier.</p>
<h3 class="clase_roja"> Pero este texto no aparecerá formateado ya que regla de la clase clase_roja solo actúa sobre párrafos.</h3>
</body>
</html>
El resultado en el navegador sería:
3.4.2.- Selectores de ID.
Permite seleccionar un elemento de la página por medio de su atributo id. El uso de este selector se suele asociar a elementos de estilo que se van a aplicar de manera excepcional una única vez, por ello el valor del atributo id no debe repetirse en dos elementos diferentes de la misma página.
Por ejemplo:
<p id=“unico”>….</p>
Se referencia mediante una de las siguientes posibilidades:
#unico { color: blue;}
p#unico {color: blue;}
3.4.3.- Selectores descendentes.
Permite seleccionar elementos que se encuentran dentro de otros elementos, por ejemplo:
p h1 {color: red; }:
Se aplicará a todas las etiquetas h1 que estén dentro de bloques p. Además hay que tener en cuenta que:
No tiene porqué ser descendiente directo.
El nivel de anidación puede tener varios niveles, por ejemplo:
p a b i {text-decoration: underline; }
Se aplica a los elementos en cursiva, dentro de etiquetas de negrita, anidados dentro de enlaces que se encuentren en párrafos.
Es importante tener en cuenta que si no tenemos cuidado podemos confundir el selector descendente con la aplicación del mismo selector a distintas etiquetas
p a b i {color: blue; }
¡NO ES LO MISMO QUE...!
p,a,b,i {color: blue;}
También podemos combinar el selector universal con selectores descendentes, por ejemplo:
p * b {color: #0000FF;}
Se aplica a todas las etiquetas de tipo<b>que estén anidadas en cualquier otra etiqueta que a su vez esté dentro de una etiqueta de tipo<p>.
Sin embargo no se aplicará a las etiquetas de tipo<b>que estén dentro de una etiqueta de tipo<p>directamente.
3.4.4.- Selector hijo.
Es parecido al anterior, pero solo afecta al primer nivel de anidamiento.
Ejemplo
<!DOCTYPE html>
<html>
<head>
<meta charset='UTF-8'>
<title>Selector hijo</title>
<style>
section > p {color:red}
</style>
</head>
<body>
<p>Párrafo incicial</p>
<section>
<p>Párrafo hijo de sección</p>
<article>
<p>Párrafo nieto de sección</p>
</article>
</section>
</body>
</html>
Se vería así:
3.5.- Propiedades principales.
En los siguientes subapartados vamos a ver las propiedades principales que se usan en CSS como son:
Propiedades de color y fondo.
Propiedades de fuente.
Propiedades de texto.
Propiedades de caja.
Propiedades de clasificación.
Pasemos a verlos detenidamente.
3.5.1.- Propiedades de color y fondo.
Las propiedades de color y fondo son los que enumeramos a continuación:
Indica si ha de repetirse la imagen de fondo y, en ese caso, si debe ser horizontal o verticalmente. Los valores que puede tomar son: repeat-x, repeat-y o no-repeat.
Es una medida, porcentaje o el posicionamiento vertical u horizontal con los valores establecidos que sirve para posicionar una imagen. Los valores que puede tomar son: porcentaje, tamaño, o [top, center, bottom] [left, center, rigth]
Establece en un solo paso cualquiera de las propiedades de background anteriores. Los valores que puede tomar son: background-color, background-image, background-repeat, background-attachment, background-position.
Dado que no todos los nombres de colores son admitidos en el estándar, es aconsejable utilizar el valor RGB.
Un ejemplo de un documento XHTML en el que se utiliza este método para incluir formatos es:
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de atributos CSS de color y fondo</title>
<style type="text/css">
body { background-color: black; color:yellow; }
p { color: #ffffff;}
</style>
</head>
<body>
<h3>Ejemplo del uso de atributos de color y fondo</h3>
<p>El texto de cualquier elemento, salvo el del párrafo que es blanco, es amarillo y el fondo negro.</p>
</body>
</html>
En el navegador se ve del siguiente modo:
(Red, Green, Blue;o Rojo, Verde, Azul) Es un modelo de color con el que es posible representar un color mediante la mezcla por adición de los tres colores luz primarios. El modelo de color RGB no define exactamente ninguno de los colores primarios, por lo que los mismos valores RGB pueden generar colores distintos en diferentes dispositivos. Para describir un color se indica con qué proporción se mezcla cada color primario. Para ello, se asigna un valor a cada uno de los colores primarios, utilizando una escala que va del 0 al 255, donde el 0 indica que ese color no interviene en la mezcla. Por ejemplo el color 126, 198, 240 estará formado por un nivel 126 de rojo, 198 de verde y 240 de azul. Es habitual representar los colores RGB usando la codificación hexadecimal del color, es decir expresando el valor de cada uno de los colores primarios en hexadecimal en lugar de en decimal. En el caso anterior el color sería: 7EC6F0, ya que 7E=126, C6=198 y C0=240. Esta notación se utiliza, por ejemplo, en el lenguaje HTML.
Para saber más
Accede al tutorial del uso de color de w3schools.com
Establece la familia a la que pertenece la fuente. Si el nombre de una fuente tiene espacios se utilizan comillas para que se entienda bien. El valor es el nombre de la familia fuente.
Permite establecer todas las propiedades anteriores en el orden que se indica a continuación: font-style, font-variant, font-weight, font-size[line-height], font family. Los valores han de estar separados por espacios. No es obligatorio el uso de todos los valores.
Un ejemplo de un documento XHTML en el que se utiliza este método para incluir formatos es:
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de atributos CSS de fuente</title>
<style type="text/css">
body { background-color: black; color:yellow; font-family: courier }
p { color: #ffffff; font:italic 900 12px Verdana; }
</style>
</head>
<body>
<h3>Ejemplo del uso de atributos de fuente</h3>
<p>El texto de cualquier elemento es de la familia Courier y amarillo, salvo el del párrafo que es Verdana, blanco y de tamaño 12 px.</p>
</body>
</html>
En el navegador el resultado es:
3.5.3.- Propiedades de texto.
En el apartado anterior vimos los atributos relacionados con las fuentes y en este vamos a ver los relacionados con el texto en sí y son los siguientes:
Indica la alineación del texto. Aunque las hojas de estilo permiten el justificado de texto no funciona en todos los sistemas. Los valores que puede tomar son: left, right, center o justify
Nos permite transformar el texto, haciendo que tenga la primera letra en mayúsculas de todas las palabras, todo en mayúsculas o minúsculas. Los valores que puede tomar son: capitalize, uppercase, lowercase o none
Establece la alineación vertical del texto. Sus valores posibles son: baseline, sub, super, top, text-top, middle, bottom, text-bottom o un porcentaje.
Altura de la línea. Puede establecerse mediante un tamaño o un porcentaje
Un ejemplo de un documento XHTML en el que se utiliza este método para incluir formatos es:
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de atributos CSS de texto</title>
<style type="text/css">
h3 { text-decoration:underline; text-align: center; text-transform: capitalize }
p { text-indent: 50%; }
</style>
</head>
<body>
<h3>Ejemplo del uso de atributos de texto</h3>
<p>El texto de del encabezado de tercer nivel está subrayado, centrado y la primera letra de cada palabra es mayúcula.</p>
<p>El párrafo está tabulado</p>
</body>
</html>
Indica cual es el símbolo que se utiliza como marcador en las listas. Valores que puede tomar son:disc, circle, square, decimal, lower-roman, upper-roman, lower-alpha, upper-alpha, none.
Permite establecer de una única vez todas las características de una lista. Hay que seguir el orden siguiente:list-style-type, list-style-position y list-style-image.
La W3C define lo que se denomina "Modelo de caja", que no es más que una zona rectangular como la siguiente que rodea cada uno de los elementos de nuestra página web.
Cada etiquetaHTMLaplica ese modelo y por lo tanto tiene:
Contenido. Texto de la etiqueta
Margen interior. Distancia desde el contenido al borde del elemento. PropiedadHTMLpadding.
Borde. El borde del elemento. PropiedadHTMLborder.
Margen exterior. Distancia desde el borde del elemento a los elementos adyacentes. PropiedadHTMLmargin.
Cada uno de esos elementos puede definirse mediante propiedades CSS que veremos a continuación.
3.6.1.- Propiedades de caja.
A continuación veremos algunas de las propiedades que afectan a cada uno de los elementos del modelo de caja.
Si utilizamospaddingcon un solo valor se aplica a los cuatro lados, con dos valores el primero se aplica a superior e inferior y el segundo a laterales, con tres valores se aplica el primero al superior, el segundo a los laterales y el tercero al inferior, con cuatro valores se aplica a superior, derecho, inferior, izquierdo.
También es posible fijar el valor de cada una de los cuatro valores independientemente con la propiedad correspondiente.
Si utilizamosborder-color, border-width o border-stylecon un solo valor se aplican a los cuatro lados, con dos valores el primero se aplica a superior e inferior y el segundo a laterales, con tres valores se aplica el primero al superior, el segundo a los laterales y el tercero al inferior, con cuatro valores se aplica a superior, derecho, inferior, izquierdo.
También es posible fijar el valor de cada una de los cuatro valores independientemente con la propiedad correspondiente.
Si utilizamosmargincon un solo valor se aplica a los cuatro lados, con dos valores el primero se aplica a superior e inferior y el segundo a laterales, con tres valores se aplica el primero al superior, el segundo a los laterales y el tercero al inferior, con cuatro valores se aplica a superior, derecho, inferior, izquierdo.
También es posible fijar el valor de cada una de los cuatro valores independientemente con la propiedad correspondiente.
A la hora de especificar tamaños CSS nos permite usar diferentes tipos de unidades, estas además pueden ser absolutas o relativas:
Absolutas. Cualquier longitud expresada en una de estas unidades siempre se mostrará del mismo tamaño.
Relativas. Dependen del tamaño de otro elemento.
Normalmente se utilizan unidades absolutas para la secciones y la estructura de la página web porque se adaptan mejor a diferentes tamaños de pantalla. Las más habituales son los porcentajes y la unidadem.
Para las dimensiones de imágenes y vídeos se suelen utilizar píxeles. Es la única unidad absoluta que se utiliza habitualmente.
Se debe especificar la unidad usada:
Por ejemplo si queremos especificar un tamaño de 13 píxeles utilizaremos:13px
Unidades absolutas
cm
Centímetros
mm
Milímetros
In
Pulgadas
px *
Píxeles
pt
Puntos
pc
Picas
*: Los píxeles son relativos a la pantalla.
UNIDADES RELATIVAS
em
Relativa al tamaño del tipo de letra por defecto
porcentajes (%)
Relativos a las dimensiones del elemento contenedor
ex
Relativa al valor de x-height de la fuente actual
ch
Relativa al ancho del cero “0”
rem
Relativa al tamaño de letra del elemento raíz
Ejemplo de porcentajes (1)
En esta página se crean dos secciones. La primera tiene fondo verde y su anchura la mitad que el elemento contenedor,<body>, que al ser un elemento de bloque ocupa todo la anchura disponible.
Las dos secciones también ocuparían toda la anchura si no fuera por las reglas de estilo.
Con la altura (height) ocurre lo mismo, pero hay que tener en cuenta que depende del contenido que haya en la página, a no ser que se fije un valor para el elemento como en este ejemplo. El elemento<body>tiene una altura fijada en píxeles. Las secciones tienen la altura y anchura expresadas en porcentajes relativos a los del elemento <body>.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Relleno y margen</title>
<style>
#relleno{
background-color:yellow;
padding: 2em; /*se aplica a izquierda, derecha arriba y abajo*/
}
#rellenoIzq{
background-color:green;
padding-left: 2em; /*se aplica a izquierda, derecha arriba y abajo*/
}
#rellenoMargen{
background-color:blue;
margin-bottom: 2em; /*se aplica a izquierda, derecha arriba y abajo*/
}
</style>
</head>
<body>
<section id = "relleno">Sección con relleno (margen interior)</section>
<section>Sección sin relleno</section>
<section id = "rellenoMargen">Sección sin relleno, pero con margen inferior</section>
<section id = "rellenoIzq">Sección con relleno solo a la izquierda</section>
</body>
</html>
Se verá así:
El espacio en blanco (color de fondo de<body>) entre las secciones y azul y verde se debe al margen inferior de la primera.
Ejemplo de border
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Relleno y margen</title>
<style>
#borde1{
background-color:yellow;
border-color: green;
border-style: solid;
}
#borde2{
background-color:pink;
border-width: 16px;
border-left-color: green;
border-top-color: green;
border-left-style: dashed;
border-top-style: dashed;
}
</style>
</head>
<body>
<section id = "borde1">Sección con borde1</section>
<br>
<section id = "borde2">Sección con borde2</section>
</body>
</html>
Se verá así:
3.6.4.- Posicionamiento.
En los ejemplos vistos hasta ahora, el navegador representa los elementos en el orden en el que aparecen atendiendo a si son elementos de bloque o de línea (entre otras cosas). Utilizando CSS, es posible modificar el posicionamiento por defecto de los elementos. Las propiedades implicadas sonpositionyfloat.
Con la propiedadfloat, los elementos "flotan" hacia la izquierda o derecha. Todos los elementos flotados se van situando uno junto a otro. Si no hay espacio disponible, se pasan a una nueva línea. Se adapta bastante bien a diferentes tamaños de pantalla.
En este ejemplo se utiliza la propiedadfloat para maquetar una página sencilla, junto a las etiquetas semánticas.Los elementos<nav>y<section>están flotados a la izquierda y se reparten la anchura disponible.
Es necesario fijar la altura porque en la página apenas hay contenido.