Mis apuntes de desarrollo web </>

Fundamentos CSS

Conectar HTML y CSS:

Existen 4 formas de dar estilos a HTML mediante CSS:

Etiqueta <link>:

Se tiene un archivo CSS externo, usualmente en otra carpeta, el cual se vincula al HTML mediante la etiqueta <link>.

Dicho archivo se puede vincular a varios archivos HTML.

link1

Etiqueta <style> <style/>:

Dentro del mismo archivo HTML dentro de la etiqueta <head> se agrega la etiqueta <style> en la cual se escribe directamente el código CSS.

style1

CSS en linea:

Se agrega el atributo style a cualquier etiqueta y se agregan las propiedades y valores de estilo que se quieren agregar.

Mala practica.

style2

Import:

En la etiqueta <style> se importa la url del archivo CSS externo.

Mala practica debido a que primero carga todo el contenido del HTML y luego carga el CSS.

style2

Sintaxis CSS:

Selector:
El elemento al que se le va a aplicar estilos.
Propiedad:
Lo que se va a cambiar.
Valor:
El nuevo valor que se le va a dar a la propiedad.
Declaración:
Propiedad + valor, estas declaraciones se separan mediante ;
Regla:
Conjunto de selector + declaracion(es).

Cascada en CSS:

Para que el navegador pueda aplicar correctamente los estilos CSS, primero debe analizar (por orden) tres conceptos clave del código CSS: su importancia, su especificidad y su orden.

Importancia:

Esta se determina segun que y quien defina el estilo. El orden de menor a mayor importancia es el siguiente:

  1. CSS definido por el navegador.
  2. CSS definido por el usuario.
  3. CSS definido por el autor.

Especificidad:

Establece cómo de específico es un selector para saber qué estilo aplicar. El cálculo se realiza con la siguiente fórmula:

  • Etiquetas y pseudoelementos = 001
  • Clases, atributos y pseudoclases = 010
  • Ids = 100
  • Estilos en línea = 1000
  • !important = LE GANA A TODO Y NO SE USA NUNCA

Evaluador de CSS

Orden:

El orden tiene que ver directamente con las manera de conexión entre el documento HTML y el CSS:

  1. El CSS en linea en un elemento HTML es el que tiene mayor precedencia, por lo que siempre será el que tenga prioridad sobre otras reglas CSS.
  2. En segundo lugar, el CSS definido a través de bloques <style> en el propio documento HTML será el siguiente a tener en cuenta en orden de prioridad.
  3. Por último, los documentos CSS externos conectados mediante la etiqueta <link> son la tercera opción de prioridad a la hora de tomar en cuenta las reglas CSS.

Herencia en CSS:

Es la capacidad que tienen algunos elementos de heredar algunas propiedades de sus elementos contenedores (padres, abuelos, etc).

Valor inherit en propiedades:
Fuerza al elemento a tomar el valor de la propiedad del elemento padre.
Valor initial en propiedades:
Evita que el elemento herede el valor de la propiedad del elemento padre, dejando el valor por defecto de la propiedad.
Valor unset en propiedades:
El elemento hereda el valor del padre, y en caso de no existir, toma el valor inicial.

Ejemplo Herencia:

El siguiente párrafo tiene color blanco y contiene 2 span y un enlace; el primer span hereda ese mismo color pero el segundo no lo hereda debido a la propiedad initial y el enlace por defecto tiene un color azul pero se esta forzando a tener el color blanco del párrafo con la propiedad inherit.

Ejemplo herencia HTML Ejemplo herencia CSS

Lorem ipsum dolor sit amet consectetur , adipisicing elit. Velit voluptatum molestiae veritatis sequi doloremque, voluptatibus suscipit ducimus eaque, atque doloribus quia amet praesentium autem esse eius debitis maxime voluptate omnis? enlace ejemplo

Normalizar estilos en el navegador:

En todos los navegadores existen estilos por defecto y algunos pueden ser diferentes lo que suele causar que al momento de aplicar estilos propios a las páginas web, estos se vean afectados por los estilos por defecto de los navegadores y no resulten como se esperaba, por lo que es recomendable realizar una normalizacion de estilos en cada proyecto que se realice para que sin importar el navegador donde se visualice, siempre se vea igual.

Página para descargar archivo css normalizado.

Selectores en CSS:

Selectores Simples:

Selectores elementales
Selector Descripción Ejemplo Resultado
Selector Universal * Se aplica a todos los elementos. ejemplo selector universal

Asi se veria la página con esa regla.

ejemplo selector universal
Selector de tipo o etiqueta nombre de la etiqueta <>. ejemplo selector etiqueta
id # + id del elemento. No es recomendable. ejemplo selector id

Selector id

clase . + clase del elemento. ejemplo selector class

Selector clase

Selectores de atributo
Selector Descripción
[atributo] Selecciona los elementos con ese atributo.
[atributo="valor"] Selecciona los elementos que coincidan con el atributo=valor.
[atributo^="valor"] Selecciona los elementos cuyo atributo comience con valor.
[atributo*="valor"] Selecciona los elementos cuyo atributo contenga valor.
[atributo$="valor"] Selecciona los elementos cuyo atributo termine con valor.
[atributo|="valor"] Selecciona los elementos cuyo atributo comience con valor o "valor-"

Selectores Compuestos:

Selectores Agrupados: Se agrupan los selectores separados por comas y se escribe el estilo una sola vez.

ejemplo selectores agrupados
Selectores Combinadores:
Selector Descripción Ejemplo Resultado
Selector descendente Selecciona un elemento dentro de otro; se coloca el selector padre y separado por un espacio el selector hijo. Recomendación: no utilizar mas de 1 nivel. ejemplo selector decendiente
Selector descendente
Selector de hermano siguiente + Selecciona el elemento hermano inmediatamente siguiente. ejemplo selector hermanos siguientes

Hermano 1

Hermano 2

Hermano 3

Hermano 4

Selector de hermanos siguientes ~ Selecciona a todos los elementos hermanos siguientes.
Selector de hijo directo > Selecciona solo a los hijos directos. ejemplo selector hijo directo HTMLejemplo selector hijo directo HTML

Hijo 1

Hijo 2

Nieto

Selector de Subclases Se selecciona un elemento de etiqueta con una clase definida. ejemplo selector subclase

selector subclase