Content
Lists of CSS declarations
Properties are defined as lists of CSS declarations, they are very heterogeneous and cannot be applied to all HTML tags
We can find examples in w3schools or in MDN Web Docs Mozilla
Below we will address some of the main lists of statements
Units of measure
Many properties accept as the value of a unit of measure
En general, es recomendable utilizar medidas relativas en vez de absolutas
For example, for a web page we could indicate that we want 20 pixels high, however, if our users change devices, such as a mobile or a tablet, that size would be too large or the content would appear disproportionate.
To avoid that or similar problems, CSS declarations support the following units:
- Percentage: sets the size in percent with respect to the inherited value
- em: sets the size according to the current font (or the legacy font, if no font size is defined)
- px: sets the size in pixels (a pixel represents a specific point on the screen that shows our page), being an absolute measure, as it can cause problems, we should limit its use to specific cases
We may use CSS declarations to indicate the visual appearance of the web page on different devices, such as a printer. For those cases we can use other types of measures:
- cm, mm, in: the size is set to one of the international units (cm for centimeters, mm for millimeters, and in for inches)
- pt: the size is set in points (one point equals \frac{1}{72} inch)
The use of relative measures (percentages or em) allow our page to be displayed correctly on any device. This practice is called design adaptive or responsive, that is, our design will adapt to the device on which it is viewed (a browser, a mobile, a tablet, etc.)
Colors
Another of the fundamental elements for a web page is the treatment of the colors
There is a list of 140 basic colors that we can find predefined, we can also define them manually using the RGB notation (Red, Green, Blue) to indicate the amount of red, green and blue that make up that color
To define the color we will use a value between 0 and 255 (in its value hexadecimal), starting the encoding with the '#' symbol followed by a 6 digit hexadecimal number
We can define color in the following ways:
- color: value where value is one of the predefined colors
- colour: code 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: the color transparent is also a valid color in CSS3
Text properties
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 previous paragraph
-
font-size
representa el tamaño de la fuente, como ya se ha descrito en el previous paragraph it is recommended to use relative values
-
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 it is the default style of the browser for the letter in italics
- 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 is used to set a CSS property to its default value
- inherit is used to inherit a property value from its parent element
- normal es el estilo por defecto del navegador, si no se especifica, se tomará este valor
-
font-weight
supports a bold font style for the text, we can choose between one of the following bold types:
- normal is the default bold of the browser, if not specified, this value will be taken
- bold defines the bold with bold
- bolder defines the bold font with the characters more thick
- lighter defines the bold with the characters thinner
- integer define la negrita con un valor múltiplo de 100, con el valor 400 por defecto y el 700 para bold
- initial is used to set a CSS property to its default value
- inherit is used to inherit a property value from its parent element
- normal is the default bold of the browser, if not specified, this value will be taken
-
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 the underline will be below the text
- overline the underline will be on the text
- line-through the underscore will be through text
- initial is used to set a CSS property to its default value
- inherit is used to inherit a property value from its parent element
- 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 where color is one of the values seen in the previous paragraph
- initial is used to set a CSS property to its default value
- inherit is used to inherit a property value from its parent element
- color where color is one of the values seen in the previous paragraph
-
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 show the line with a double line
- dotted show the line as a dotted line
- dashed show the line as a dashed line
- wavy show the line as a wavy line
- initial is used to set a CSS property to its default value
- inherit is used to inherit a property value from its parent element
- 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 transforms the first letter of each word to uppercase
- uppercase transform all letters to uppercase
- lowercase transform all letters to lowercase
- initial is used to set a CSS property to its default value
- inherit is used to inherit a property value from its parent element
- 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 is used to set a CSS property to its default value
- inherit is used to inherit a property value from its parent element
-
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 is used to set a CSS property to its default value
- inherit is used to inherit a property value from its parent element
- 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 where number is a value that will be multiplied by the current font size to set the height of the line
- length dónde length es la altura para esa línea (también están permitidos valores negativos)
- % is the height for that line, in percentage of the size of the current font
- initial is used to set a CSS property to its default value
- inherit is used to inherit a property value from its parent element
- 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 the text is aligned to the left
- right the text is aligned to the right
- center the text is aligned centered
- 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 is used to set a CSS property to its default value
- inherit is used to inherit a property value from its parent element
- left the text is aligned to the left
-
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)
- % is the indentation of the first line in a block of text in percentage of the size of the parent element
- initial is used to set a CSS property to its default value
- inherit is used to inherit a property value from its parent element
- 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
Another limitation is that we can only use sources that meet standards allowed by the browsers
To solve problems related to the sources there are servers text sources they offer the possibility to load the font that we need of that server
In the above example we have used one of the reference sources from Google called Roboto, and we have added to our header
Background properties
To set the background of an element we will use the property background-color
Can also be used as a background image using the property background-image, que se repetirá vertical y horizontalmente para cubrir todo el elemento
We may limit the way in which it repeats that image with the properties background-repeat: repeat-y and background-repeat: repeat-x
In the example above we have used the property 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
Dimensions and edges
To indicate the dimensions of an element, we use the properties width and height
We have to take into account if their margins are internal or external
To do this we first define the margin from the edge to the other elements with the property margin
In the second place, we define the inner margin to the edge of the item with the property padding
We can assign an outer margin to the four sides of the property margin or we can tell an outer margin, in particular, for each side using margin-top, margin-bottom, margin-left or margin-right
De forma análoga, se puede realizar para los márgenes internos utilizando padding-top, padding-bottom, padding-left or padding-right
Una vez difinidos los márgenes externos e internos, podremos configurar la apariencia que tomará el borde
First we will establish the style with the property border-style, la cual admite los valores dotted, dashed, solid or double
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”
In the second place, we are able to customize the width of the stroke with the property border-width and your color with border-color
Properties for lists
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
We may use the values none or url(‘url de la imagen’)
Other properties
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