033.1 Lección 1
Certificación: |
Conceptos básicos de desarrollo web |
---|---|
Versión: |
1.0 |
Tema: |
033 Estilo de contenido CSS |
Objetivo: |
033.1 Conceptos básicos de CSS |
Lección: |
1 de 1 |
Introducción
Todos los navegadores web renderizan páginas HTML utilizando reglas de presentación predeterminadas que son prácticas y sencillas, pero no visualmente atractivas. HTML por sí solo ofrece pocas características para escribir páginas elaboradas basadas en conceptos modernos de experiencia de usuario. Después de escribir páginas HTML simples, probablemente se habrá dado cuenta de que son antiestéticas en comparación con las páginas bien diseñadas que se encuentran en Internet. Esto se debe a que, en HTML moderno, el código de marcado destinado a la estructura y función de los elementos del documento (es decir, el contenido semántico) está separado de las reglas que definen cómo deben verse los elementos (la presentación). Las reglas de presentación están escritas en un lenguaje diferente llamado Cascading Style Sheets (CSS). Permite cambiar casi todos los aspectos visuales del documento, como las fuentes, los colores y la ubicación de los elementos a lo largo de la página.
En la mayoría de los casos, los documentos HTML no están pensados para mostrarse en un diseño fijo como un archivo PDF. Más bien, las páginas web basadas en HTML probablemente se renderizarán en una amplia variedad de tamaños de pantalla o incluso se imprimirán. CSS proporciona opciones ajustables para garantizar que la página web se procese según lo previsto, ajustada al dispositivo o aplicación que la abre.
Aplicar estilos
Hay varias formas de incluir CSS en un documento HTML: insertando el código directamente en la etiqueta del elemento, en una sección separada del código fuente de la página o en un archivo externo para ser referenciado por la página HTML.
El atributo style
La forma más sencilla de modificar el estilo de un elemento específico es escribirlo directamente en la etiqueta del elemento usando el atributo style
. Todos los elementos HTML visibles permiten un atributo style
, cuyo valor puede ser una o más reglas CSS, también conocidas como properties. Comencemos con un ejemplo simple, un elemento de párrafo:
<p>My stylized paragraph</p>
La sintaxis básica de una propiedad CSS personalizada es property: value
, donde property
es el aspecto particular que desea cambiar en el elemento y value
define el reemplazo de la opción predeterminada realizada por el navegador. Algunas propiedades se aplican a todos los elementos y otras se aplican solo a elementos específicos. Asimismo, existen valores adecuados para ser utilizados en cada propiedad.
Para cambiar el color de nuestro párrafo simple, usamos la propiedad color
. Esta propiedad se refiere al color foreground, es decir, de las letras del párrafo. El color en sí va en la parte de valor de la regla y se puede especificar en muchos formatos diferentes, incluidos nombres simples como red
, green
, blue
, yellow
, etc. Por lo tanto, para hacer la letra de el párrafo púrpura
, agregue la propiedad personalizada color: purple
al atributo style
del elemento:
<p style="color: purple">My first stylized paragraph</p>
Otras propiedades personalizadas pueden ir en la misma propiedad de estilo, pero deben estar separadas por punto y coma. Si desea aumentar el tamaño de la fuente, por ejemplo, agregue font-size: larger
a la propiedad style
:
<p style="color: purple; font-size: larger">My first stylized paragraph</p>
Note
|
No es necesario agregar espacios alrededor de los dos puntos y el punto y coma, pero pueden facilitar la lectura del código CSS. |
Para ver el resultado de estos cambios, guarde el siguiente HTML en un archivo y luego ábralo en un navegador web (los resultados se muestran en Figure 1):
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>CSS Basics</title>
</head>
<body>
<p style="color: purple; font-size: larger">My first stylized paragraph</p>
<p style="color: green; font-size: larger">My second stylized paragraph</p>
</body>
</html>

Imagine cada elemento de la página como un rectángulo o una caja cuyas propiedades geométricas y decoraciones puede manipular con CSS. El mecanismo de renderizado utiliza dos conceptos estándares básicos para la colocación de elementos: colocación block y colocación inline. Los elementos en bloque ocupan todo el espacio horizontal de su elemento padre y se colocan secuencialmente, de arriba a abajo. Su altura (su dimensión vertical, que no debe confundirse con su posición top en la página) generalmente depende de la cantidad de contenido que tengan. Los elementos en línea siguen el método de izquierda a derecha similar a los lenguajes escritos occidentales: los elementos se colocan horizontalmente, de izquierda a derecha, hasta que no hay más espacio en el lado derecho, después de lo cual el elemento continúa en una nueva línea justo debajo de la actual. Los elementos como p
, div
y section
se colocan en bloque de forma predeterminada, mientras que los elementos como span
, em
, a
y letras individuales se colocan en línea. Estos métodos básicos de ubicación pueden modificarse fundamentalmente mediante reglas CSS.
El rectángulo correspondiente al elemento p
en el cuerpo del documento HTML de muestra será visible si agrega la propiedad background-color
a la regla (Figure 2):
<p style="color: purple; font-size: larger; background-color: silver">My first stylized paragraph</p>
<p style="color: green; font-size: larger; background-color: silver">My second stylized paragraph</p>

A medida que agrega nuevas propiedades personalizadas de CSS al atributo style
, notará que el código comienza a desordenarse. Escribir demasiadas reglas CSS en el atributo style
socava la separación de estructura (HTML) y presentación (CSS). Además, pronto se dará cuenta de que muchos estilos se comparten entre diferentes elementos y no es aconsejable repetirlos en todos.
Reglas CSS
En lugar de diseñar los elementos directamente en sus atributos de style
, es mucho más práctico informar al navegador sobre la colección completa de elementos a los que se aplica el estilo personalizado. Lo hacemos agregando un selector a las propiedades personalizadas, haciendo coincidir los elementos por tipo, clase, ID único, posición relativa, etc. La combinación de un selector y las propiedades personalizadas correspondientes — también conocidas como declaraciones — constituyen reglas CSS. La sintaxis básica de una regla CSS es selector { property: value }
. Como en el atributo style
, las propiedades separadas por punto y coma pueden agruparse, como en p { color: purple; font-size: larger }
. Esta regla coincide con todos los elementos p
de la página y aplica las propiedades personalizadas de color
y font-size
.
Una regla CSS para un elemento principal coincidirá automáticamente con todos sus elementos secundarios. Esto significa que podríamos aplicar las propiedades personalizadas a todo el texto de la página, independientemente de si está dentro o fuera de una etiqueta <p>
, utilizando el selector body
en su lugar: body { color: purple; font-size: larger }
. Esta estrategia nos libera de escribir la misma regla nuevamente para todos sus hijos, pero puede ser necesario escribir reglas adicionales para “deshacer” o modificar las reglas heredadas.
La etiqueta style
La etiqueta <style>
nos permite escribir reglas CSS dentro de la página HTML que queremos diseñar. Permite al navegador diferenciar el código CSS del código HTML. La etiqueta <style>
va en la sección head
del documento:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>CSS Basics</title>
<style type="text/css">
p { color: purple; font-size: larger }
</style>
</head>
<body>
<p>My first stylized paragraph</p>
<p>My second stylized paragraph</p>
</body>
</html>
El atributo type
le especifica al navegador qué tipo de contenido hay dentro de la etiqueta <style>
, es decir, su MIME type. Ya que todos los navegadores que soportan CSS asumen que el tipo de etiqueta <style>
es text/css
por defecto, incluyendo el atributo type
es opcional. También hay un atributo media
que indica los medios (pantallas de computadora o impresión, por ejemplo) a los que se aplican las reglas CSS en la etiqueta <style>
. De forma predeterminada, las reglas de CSS se aplican a cualquier medio en el que se presente el documento.
Al igual que en el código HTML, los saltos de línea y la sangría del código no cambian la forma en que el navegador interpreta las reglas CSS. El siguiente fragmento de código:
<style type="text/css">
p { color: purple; font-size: larger }
</style>
tiene exactamente el mismo resultado que este:
<style type="text/css">
p {
color: purple;
font-size: larger;
}
</style>
Los bytes adicionales utilizados por los espacios y los saltos de línea hacen poca diferencia en el tamaño final del documento y no tienen un impacto significativo en el tiempo de carga de la página, por lo que la elección del diseño es una cuestión de gustos. Tenga en cuenta el punto y coma después de la última declaración (font-size: larger;
) de la regla CSS. Ese punto y coma no es obligatorio, pero tenerlo allí hace que sea más fácil agregar otra declaración en la siguiente línea sin preocuparse por los puntos y coma que faltan.
Tener las declaraciones en líneas separadas también ayuda cuando necesita comentar una declaración. Siempre que desee deshabilitar temporalmente una declaración por motivos de resolución de problemas, por ejemplo, puede encerrar la línea correspondiente con /*
y */
:
p {
color: purple;
/*
font-size: larger;
*/
}
o:
p {
color: purple;
/* font-size: larger; */
}
Escrito así, el navegador ignorará la declaración font-size: larger
. Tenga cuidado de abrir y cerrar los comentarios correctamente, de lo contrario, es posible que el navegador no pueda interpretar las reglas.
Los comentarios también son útiles para escribir recordatorios sobre las reglas:
/* Texts inside <p> are purple and larger */
p {
color: purple;
font-size: larger;
}
Los recordatorios como el del ejemplo son prescindibles en hojas de estilos que contienen una pequeña cantidad de reglas, pero son esenciales para ayudar a navegar por hojas de estilos con cientos (o más) reglas.
Aunque el atributo style
y la etiqueta <style>
son adecuados para probar estilos personalizados y útiles para situaciones específicas, no se usan comúnmente. En cambio, las reglas de CSS generalmente se guardan en un archivo separado al que se puede hacer referencia desde el documento HTML.
CSS en archivos externos
El método preferido para asociar las definiciones CSS con un documento HTML es almacenar el código CSS en un archivo separado. Este método ofrece dos ventajas principales sobre los anteriores:
-
Las mismas reglas de estilo se pueden compartir entre distintos documentos.
-
El navegador suele almacenar en caché el archivo CSS, lo que mejora los tiempos de carga futuros.
Los archivos CSS tienen la extensión .css
y, al igual que los archivos HTML, pueden ser editados por cualquier editor de texto plano. A diferencia de los archivos HTML, los archivos CSS no tienen una estructura de nivel superior construida con etiquetas jerárquicas como <head>
o <body>
. Más bien, el archivo CSS es solo una lista de reglas procesadas en orden secuencial por el navegador. Las mismas reglas escritas dentro de una etiqueta <style>
podrían ir en un archivo CSS.
La asociación entre el documento HTML y las reglas CSS almacenadas en un archivo se define solo en el documento HTML. Para el archivo CSS, no importa si existen elementos que coincidan con sus reglas, por lo que no es necesario especificar los documentos HTML a los que está vinculado. En el lado HTML, todas las hojas de estilos vinculadas se aplicarán al documento, como si las reglas estuvieran escritas en una etiqueta <style>
.
La etiqueta HTML <link>
define una hoja de estilo externa que se usará en el documento actual y debe ir en la sección head
del documento HTML:
<head>
<meta charset="utf-8" />
<title>CSS Basics</title>
<link href="style.css" rel="stylesheet">
</head>
Ahora puede colocar la regla para el elemento p
que usamos antes en el archivo style.css
, y los resultados que verá el visitante de la página web serán los mismos. Si el archivo CSS no está en el mismo directorio que el documento HTML, especifique su ruta relativa o completa en el atributo href
. La etiqueta <link>
puede referirse a diferentes tipos de recursos externos, por lo que es importante establecer qué relación tiene el recurso externo con el documento actual. Para archivos CSS externos, la relación se define en rel="stylesheet"
.
El atributo media
se puede usar de la misma manera que para la etiqueta <style>
: indica los medios, como pantallas de computadora o impresión, a los que se deben aplicar las reglas del archivo externo.
CSS puede cambiar completamente un elemento, sin embargo es importante usar el elemento apropiado para los componentes de la página. De lo contrario, es posible que las tecnologías de accesibilidad, como los lectores de pantalla, no puedan identificar las secciones correctas de la página.
Ejercicios guiados
-
¿Qué métodos se pueden utilizar para cambiar la apariencia de los elementos HTML mediante CSS?
-
¿Por qué no se recomienda utilizar el atributo
style
de la etiqueta<p>
si hay párrafos hermanos que deberían verse iguales? -
¿Cuál es la política de ubicación predeterminada para colocar un elemento
div
? -
¿Qué atributo de la etiqueta
<link>
indica la ubicación de un archivo CSS externo? -
¿Cuál es la sección correcta para insertar el elemento
link
dentro de un documento HTML?
Ejercicios de exploración
-
¿Por qué no se recomienda usar una etiqueta
<div>
para identificar una palabra en una oración común? -
¿Qué sucede si comienza un comentario con
/*
en medio de un archivo CSS, pero se olvida de cerrarlo con*/
? -
Escriba una regla CSS para dibujar un subrayado en todos los elementos
em
del documento. -
¿Cómo puede indicar que una hoja de estilos de una etiqueta
<style>
o<link>
debe ser utilizada solo por sintetizadores de voz?
Resumen
Esta lección cubre los conceptos básicos de CSS y cómo integrarlos con HTML. Las reglas escritas en hojas de estilos CSS son el método estándar para cambiar la apariencia de los documentos HTML. CSS nos permite mantener el contenido semántico separado de las políticas de presentación. Esta lección abarca los siguientes conceptos y procedimientos:
-
Cómo cambiar las propiedades de CSS usando el atributo
style
. -
La sintaxis básica de las reglas CSS.
-
Usar la etiqueta
<style>
para incrustar reglas CSS en el documento. -
Usar la etiqueta
<link>
para incorporar hojas de estilo externas al documento.
Respuestas a los ejercicios guiados
-
¿Qué métodos se pueden utilizar para cambiar la apariencia de los elementos HTML mediante CSS?
Tres métodos básicos: Insertar las reglas directamente en la etiqueta del elemento, en una sección separada del código fuente de la página o en un archivo externo para ser referenciado por la página HTML.
-
¿Por qué no se recomienda utilizar el atributo
style
de la etiqueta<p>
si hay párrafos hermanos que deberían verse iguales?La declaración CSS deberá replicarse en las otras etiquetas
<p>
, lo que requiere mucho tiempo, aumenta el tamaño del archivo y es propenso a errores. -
¿Cuál es la política de ubicación predeterminada para colocar un elemento
div
?El elemento
div
se trata como un elemento en bloque por defecto, por lo que ocupará todo el espacio horizontal de su elemento padre y su altura dependerá de su contenido. -
¿Qué atributo de la etiqueta
<link>
indica la ubicación de un archivo CSS externo?El atributo
href
. -
¿Cuál es la sección correcta para insertar el elemento
link
dentro de un documento HTML?El elemento
link
debe estar en la secciónhead
del documento HTML.
Respuestas a los ejercicios de exploración
-
¿Por qué no se recomienda usar una etiqueta
<div>
para identificar una palabra en una oración común?La etiqueta
<div>
proporciona una separación semántica entre dos secciones distintas del documento e interfiere con las herramientas de accesibilidad cuando se usa para elementos de texto en línea. -
¿Qué sucede si comienza un comentario con
/*
en medio de un archivo CSS, pero se olvida de cerrarlo con*/
?Todas las reglas posteriores al comentario serán ignoradas por el navegador.
-
Escriba una regla CSS para dibujar un subrayado en todos los elementos
em
del documento.em { text-decoration: underline }
o
em { text-decoration-line: underline }
-
¿Cómo puede indicar que una hoja de estilos de una etiqueta
<style>
o<link>
debe ser utilizada solo por sintetizadores de voz?El valor de su atributo
media
debe serspeech
.