Contenidos
Listas de declaraciones CSS
Las propiedades se definen como listas de declaraciones CSS, son muy hetereogéneas y no pueden aplicarse a todas las etiquetas HTML
Podemos encontrar ejemplos en w3schools o en MDN Web Docs Mozilla
A continuación vamos a tratar algunas de las principales listas de declaraciones
Unidades de medida
Muchas propiedades aceptan como valor una unidad de medida
En general, es recomendable utilizar medidas relativas en vez de absolutas
Por ejemplo, para una página para la web podríamos indicar que queremos 20 píxeles de alto, sin embargo, si nuestros usuarios cambian de dispositivo, como por ejemplo a un móvil o a una tablet, ese tamaño seria o muy grande o el contenido aparecería desproporcionado
Para evitar ese problema u otros similares, las declaraciones CSS admiten las siguientes unidades:
- Porcentaje: establece el tamaño en un tanto por ciento con respecto al valor heredado
- em: establece el tamaño de acuerdo a la fuente actual (o de la fuente heredada, si no se ha definido un tamaño de fuente)
- px: establece el tamaño en píxeles (un píxel representa un punto concreto de la pantalla que muestra nuestra página), siendo una medida absoluta, como puede generar problemas, deberíamos limitar su uso a casos concretos
Podemos utilizar las declaraciones CSS para indicar la apariencia visual de la página web en distintos dispositivos, como por ejemplo una impresora. Para esos casos podemos utilizar otro tipo de medidas:
- cm, mm, in: el tamaño se establece en una de las unidades internacionales (cm para centímetros, mm para milímetros e in para pulgadas)
- pt: el tamaño se establece en puntos (un punto equivale a \frac{1}{72} de pulgada)
El uso de medidas relativas (porcentajes o em) permiten que nuestra página se visualice correctamente en cualquier dispositivo. A esta práctica se la denomina diseño adaptativo o responsive, es decir, nuestro diseño se adaptará al dispositivo en el cual sea visualizado (un navegador, un móvil, una tablet, etc)
Colores
Otro de los elementos fundamentales para una página web es el tratamiento de los colores
Hay una lista de 140 colores básicos que podemos encontrar predefinidos, también podemos definirlos manualmente utilizando la notación RGB (Red, Green, Blue) para indicar la cantidad de rojo, verde y azul que componen ese color
Para definir el color usaremos un valor entre 0 y 255 (en su valor hexadecimal), iniciando la codificación con el simbolo ‘#’ seguido de un número hexadecimal de 6 cifras
Podemos definir el color de las siguientes maneras:
- color: valor dónde valor es uno de los colores predefinidos
- color: codigo dónde código es un valor que empieza por el símbolo ‘#’ seguido de un número hexadecimal de 6 cifras
- color: RGB(entero, entero, entero): dónde RGB es una función que admite 3 valores entre 0 y 255 que corresponden a la cantidad de rojo, verde y azul que componen ese color
- color: RGB(entero%, entero%, entero%): igual que la anterior, pero el valor entero es un porcentaje
- color: transparent: el color transparente también es un color válido en CSS3
Propiedades de texto
Las principales propiedades que se pueden utilizar en los elementos de texto son:
-
color
indica el color de la fuente. Su valor es un color, ya lo hemos descrito en el párrafo anterior
-
font-size
representa el tamaño de la fuente, como ya se ha descrito en el párrafo anterior es recomendable usar valores relativos
-
font-style
admite un estilo de letra para el texto, podemos elegir entre uno de los siguientes estilos:
- normal es el estilo por defecto del navegador, si no se especifica, se tomará este valor
- italic es el estilo por defecto del navegador para la letra en cursiva
- oblique es el estilo por defecto del navegador para la letra oblique, es similar a la cursiva, si la fuente no permite el tipo oblique tomará el estilo como italic
- initial se utiliza para establecer una propiedad CSS a su valor por defecto
- inherit se utiliza para heredar una propiedad del valor desde su elemento padre
- normal es el estilo por defecto del navegador, si no se especifica, se tomará este valor
-
font-weight
admite un estilo de letra en negrita para el texto, podemos elegir entre uno de los siguientes tipos de negrita:
- normal es la negrita por defecto del navegador, si no se especifica, se tomará este valor
- bold define la negrita con caracteres gruesos
- bolder define la negrita con los caracteres más gruesos
- lighter define la negrita con los caracteres más finos
- entero define la negrita con un valor múltiplo de 100, con el valor 400 por defecto y el 700 para bold
- initial se utiliza para establecer una propiedad CSS a su valor por defecto
- inherit se utiliza para heredar una propiedad del valor desde su elemento padre
- normal es la negrita por defecto del navegador, si no se especifica, se tomará este valor
-
text-decoration-line
establece el tipo de decoración del texto para el subrayado, podemos elegir entre uno de los siguientes tipos de decoración:
- none valor por defecto del navegador, si no se especifica, se tomará este valor
- underline el subrayado será debajo del texto
- overline el subrayado será sobre el texto
- line-through el subrayado será a través del texto
- initial se utiliza para establecer una propiedad CSS a su valor por defecto
- inherit se utiliza para heredar una propiedad del valor desde su elemento padre
- none valor por defecto del navegador, si no se especifica, se tomará este valor
-
text-decoration-color
establece el color para la decoración del texto, podemos elegir entre uno de los siguientes tipos de decoración:
- color donde color es uno de los valores vistos en el párrafo anterior
- initial se utiliza para establecer una propiedad CSS a su valor por defecto
- inherit se utiliza para heredar una propiedad del valor desde su elemento padre
- color donde color es uno de los valores vistos en el párrafo anterior
-
text-decoration-style
establece el tipo de decoración del texto, podemos elegir entre uno de los siguientes tipos de decoración:
- solid valor por defecto del navegador, si no se especifica, se tomará este valor. Mostrará la línea en una única línea
- double mostrará la línea con una doble línea
- dotted mostrará la línea como una línea de puntos
- dashed mostrará la línea como una línea discontinua
- wavy mostrará la línea como una línea ondulada
- initial se utiliza para establecer una propiedad CSS a su valor por defecto
- inherit se utiliza para heredar una propiedad del valor desde su elemento padre
- solid valor por defecto del navegador, si no se especifica, se tomará este valor. Mostrará la línea en una única línea
-
text-transform
establece el texto en letras minúsculas o mayúsculas, podemos elegir entre uno de los siguientes tipos de transformación:
- none valor por defecto del navegador, si no se especifica, se tomará este valor. No se tomarán letras mayúsculas
- capitalize se transforma la primera letra de cada palabra a mayúscula
- uppercase se transforman todas las letras a mayúsculas
- lowercase se transforman todas las letras a minúsculas
- initial se utiliza para establecer una propiedad CSS a su valor por defecto
- inherit se utiliza para heredar una propiedad del valor desde su elemento padre
- none valor por defecto del navegador, si no se especifica, se tomará este valor. No se tomarán letras mayúsculas
-
letter-spacing
aumenta o disminuye el espacio entre caracteres en un texto, podemos elegir entre uno de los siguientes:
- normal valor por defecto del navegador, si no se especifica, se tomará este valor. No hay espacios extra
- length dónde lenghth es la cantidad de espacios extra entre caracteres (también están permitidos valores negativos)
- initial se utiliza para establecer una propiedad CSS a su valor por defecto
- inherit se utiliza para heredar una propiedad del valor desde su elemento padre
-
word-spacing
aumenta o disminuye el espacio entre las palabras en un texto, podemos elegir entre uno de los siguientes:
- normal valor por defecto del navegador, si no se especifica, se tomará este valor
- length dónde length es la cantidad de espacios extra entre palabras (también están permitidos valores negativos)
- initial se utiliza para establecer una propiedad CSS a su valor por defecto
- inherit se utiliza para heredar una propiedad del valor desde su elemento padre
- normal valor por defecto del navegador, si no se especifica, se tomará este valor
-
line-height
especifica la altura de una línea, podemos elegir entre uno de los siguientes:
- normal valor por defecto del navegador, si no se especifica, se tomará este valor
- number dónde number es un valor que se multiplicará por el tamaño de la fuente actual para establecer la altura de la línea
- length dónde length es la altura para esa línea (también están permitidos valores negativos)
- % es la altura para esa línea en porcentaje del tamaño de la fuente actual
- initial se utiliza para establecer una propiedad CSS a su valor por defecto
- inherit se utiliza para heredar una propiedad del valor desde su elemento padre
- normal valor por defecto del navegador, si no se especifica, se tomará este valor
-
text-align
especifica la alineación horizontal del texto en un elemento, podemos elegir entre uno de los siguientes:
- left el texto se alinea a la izquierda
- right el texto se alinea a la derecha
- center el texto se alinea centrado
- justify el texto las líneas son estiradas para que cada línea tenga el mismo ancho (como en los periódicos y las revistas)
- initial se utiliza para establecer una propiedad CSS a su valor por defecto
- inherit se utiliza para heredar una propiedad del valor desde su elemento padre
- left el texto se alinea a la izquierda
-
text-indent
especifica la sangría de la primera línea en un bloque de texto, podemos elegir entre uno de los siguientes:
- length dónde length es la sangría de la primera línea en un bloque de texto (también están permitidos valores negativos, en ese caso se usará una sangría a la izquierda)
- % es la sangría de la primera línea en un bloque de texto en porcentaje del tamaño del elemento padre
- initial se utiliza para establecer una propiedad CSS a su valor por defecto
- inherit se utiliza para heredar una propiedad del valor desde su elemento padre
- length dónde length es la sangría de la primera línea en un bloque de texto (también están permitidos valores negativos, en ese caso se usará una sangría a la izquierda)
Es muy importante definir una fuente que sea coherente con el estilo de nuestra web. Para ello se dispone de la propiedad font-family, en la cual especificaremos la fuente (verdana, arial, time new roman, etc) que será usada para ese texto
Sin embargo nos encontraremos con un problema si esa fuente en concreto no está definida en el navegador, por eso es recomendable especificar varias fuentes en caso de que no existiera alguna de ellas
Otra de las limitaciones es que sólo podremos usar fuentes que cumplan los estándares permitidos por los navegadores
Para solucionar los problemas relacionados con las fuentes existen servidores de fuentes de texto que ofrecen la posibilidad de cargar la fuente que necesitamos de ese servidor
En el ejemplo anterior hemos utilizado una de las fuentes de referencia de Google llamada Roboto y la hemos añadido a nuestra cabecera
Propiedades de fondo
Para establecer el fondo de un elemento utilizaremos la propiedad background-color
También puede utilizarse como fondo una imagen utilizando la propiedad background-image, que se repetirá vertical y horizontalmente para cubrir todo el elemento
Podemos limitar la forma en que se repite esa imagen con las propiedades background-repeat: repeat-y y background-repeat: repeat-x
En el ejemplo anterior hemos utilizado la propiedad background-repeat: no-repeat para desactivar la repetición de la imagen, estableciendo además una posición fija, en la esquina inferior derecha, con la propiedad background-position: right bottom
Para mantenerla fija y que haga scroll en la página, se ha utilizado la propiedad background-attachment: fixed
Dimensiones y bordes
Para indicar las dimensiones de un elemento usaremos las propiedades width y height (anchura y altura)
Debemos tener en cuenta si sus márgenes son internos o externos
Para ello primero definiremos el margen desde el borde hasta los otros elementos con la propiedad margin
En segundo lugar definiremos el margen interno hasta el propio borde del elemento con la propiedad padding
Podemos asignar un margen externo para los cuatro lados con la propiedad margin o podemos indicarle un margen externo en particular para cada lado utilizando margin-top, margin-bottom, margin-left o margin-right
De forma análoga, se puede realizar para los márgenes internos utilizando padding-top, padding-bottom, padding-left o padding-right
Una vez difinidos los márgenes externos e internos, podremos configurar la apariencia que tomará el borde
Primero estableceremos el estilo con la propiedad border-style, la cual admite los valores dotted (puntuado), dashed (discontinuo), solid (sólido) o double (doble)
También es posible usar valores para crear bordes biselados, pero las guías de estilo modernas desaconsejan su uso por estar «pasados de moda»
En segundo lugar podremos personalizar la anchura del trazo con la propiedad border-width y su color con border-color
Propiedades para listas
Podemos utilizar las siguientes propiedades para manejar elementos lista:
- list-style-type: representa el tipo de marcador que se utilizará en la lista
Existen estos valores predefinidos:- circle
- square
- decimal
- lower-roman
- upper-roman
- none
- list-style-position: indica si el marcador se incluirá dentro del texto (propiedad inside) o fuera (propiedad outside), siendo esta última la más habitual
- list-style-image: permite añadir una imagen como marcador
Podremos usar los valores none o url(‘url de la imagen’)
Otras propiedades
Además de las propiedades anteriores vamos a destacar un par más que nos serán de especial utilidad a la hora de dar formato a nuestros elementos:
- visibility: indica si el elemento está visible o no
Puede tomar uno de los siguientes valores:- visible: el elemento está visible
- hidden: el elemento está no visible
- collapse: solo podremos usarlo con los elementos de tablas para no visualizar una fila o una columna concreta
- display: cambia el tipo de caja del elemento, puede tener los valores:
- block
- inline
- none
- normal valor por defecto del navegador, si no se especifica, se tomará este valor. No hay espacios extra