Listas de declaraciones CSS

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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
    • 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
    • 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
    • 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

    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