# data[].attributes.body
Antes de comenzar, debes tener claro un concepto clave: una página web es realmente un documento de texto. En dicho documento se escribe código HTML, con el que se que crea el contenido de una web. Por otro lado, existe el código CSS, que unido al código HTML permite darle forma, color, posición (y otras características visuales) a un documento web.

En resumen, se trata de un «idioma» o lenguaje, como podría ser el inglés o el alemán, que los navegadores web como Chrome o Firefox conocen y pueden entender. Nuestro objetivo como diseñadores y programadores web es precisamente ese: aprender el idioma e indicarle al navegador lo que debe hacer.

# data[].attributes.body
CSS (Cascading Style Sheets) es un lenguaje utilizado para describir la presentación de un documento HTML. Su función principal es definir cómo se muestran los elementos en una página web, incluyendo aspectos como colores, tamaños, tipografía, márgenes, posiciones y diseño general. Gracias a CSS, es posible lograr interfaces visuales atractivas, limpias y coherentes que mejoran la experiencia del usuario.

Además, CSS permite mantener una clara separación entre el contenido (HTML) y el diseño visual, lo que facilita el mantenimiento del sitio y permite aplicar cambios de forma más eficiente. Al usar hojas de estilo externas, se puede modificar la apariencia de múltiples páginas al mismo tiempo, lo cual es esencial para el desarrollo web moderno. En resumen, CSS es una herramienta clave para dar identidad, estilo y profesionalismo a cualquier sitio web.

# data[].attributes.headline
¿Cómo se aplica el CSS a una página web?

# data[].attributes.subject
¿Cómo se aplica el CSS a una página web?

# data[].attributes.body
El CSS puede aplicarse de tres maneras principales: en línea, interno y externo. El estilo en línea se escribe directamente dentro de una etiqueta HTML mediante el atributo “style”, lo cual no es recomendable si se busca mantener una buena organización. El estilo interno se incluye dentro de la etiqueta <style> en la sección <head> del documento HTML. Por último, el más recomendable es el estilo externo, ya que se coloca en un archivo separado con extensión .css, lo cual facilita la reutilización del código y mejora la limpieza del documento HTML.

# data[].attributes.body
Usar CSS en el desarrollo web tiene muchas ventajas. Una de las más importantes es que permite separar el contenido de una página (HTML) de su presentación (CSS), lo que mejora la organización y mantenimiento del código. Además, gracias a CSS, es posible aplicar estilos de forma uniforme a varias páginas a la vez, facilitando la creación de diseños consistentes. También ayuda a reducir el tiempo de desarrollo y permite una mayor accesibilidad y compatibilidad con diferentes dispositivos y navegadores.

# data[].attributes.body
Con CSS se pueden modificar múltiples aspectos visuales de una página web. Por ejemplo, se puede cambiar el color del texto y del fondo, el tipo y tamaño de letra, los márgenes, los bordes, la alineación, la posición de los elementos, las animaciones, y más. Además, CSS permite crear diseños adaptativos que responden al tamaño de pantalla del usuario, lo que es esencial en el desarrollo de páginas web modernas. Esto hace que el sitio no solo luzca bien, sino que también sea funcional y fácil de navegar.

# data[].attributes.body
Un selector CSS es la primera parte de una regla CSS. Es un patrón de elementos y otros términos que indican al navegador qué elementos HTML se seleccionan para aplicarles una regla que incluye los valores de las propiedades CSS.

Los selectores permiten identificar uno o varios elementos dentro de un documento HTML para definir cómo deben mostrarse visualmente. Su función principal es establecer una relación entre la estructura del contenido y la presentación, facilitando la personalización del diseño de una página web mediante hojas de estilo en cascada. Además, los selectores hacen posible aplicar estilos de forma estructurada, eficiente y escalable.

# data[].attributes.body
¿Cuales son los Selectores mas comunes?

Selector de tipo: selecciona todas las etiquetas de un tipo.
Ej: p { color: red; }

Selector de clase (.): selecciona elementos con una clase específica.
Ej: .card { border: 1px solid black; }

Selector de ID (#): selecciona un elemento con un ID específico.
Ej: #titulo { font-size: 24px; }

Selector universal (*): selecciona todos los elementos.
Ej: * { margin: 0; }

Selector de descendiente: selecciona elementos dentro de otros.
Ej: div p { color: blue; }

Selector de hijo directo (>): selecciona solo hijos directos.
Ej: ul > li { list-style: none; }

Selector de grupo (,): aplica el mismo estilo a varios elementos.
Ej: h1, h2, h3 { font-family: Arial; }

Selector de atributo: selecciona según atributos HTML.
Ej: input[type="text"] { border: 1px solid gray; }

Pseudo-clases: selecciona según el estado del elemento.
Ej: a:hover { color: red; }

Selectores estructurales: seleccionan por posición.
Ej: li:first-child { font-weight: bold; }

# data[].attributes.body
Los selectores combinados en CSS permiten aplicar estilos a elementos que tienen una relación específica entre sí dentro del HTML. Por ejemplo, el selector descendente aplica estilos a los elementos que están dentro de otro, como en div p. Otro tipo es el selector hijo (div > p), que solo afecta a los elementos que son hijos directos. También está el selector de hermanos adyacentes (h1 + p), que aplica estilos al párrafo que sigue inmediatamente después del título. Estos selectores hacen posible un control más detallado sobre el diseño de la página.

# data[].attributes.headline
¿Qué es la especificidad en los selectores?

# data[].attributes.subject
¿Qué es la especificidad en los selectores?

# data[].attributes.body
La especificidad en CSS es una forma de determinar qué regla se aplica cuando hay varias que podrían afectar a un mismo elemento. Los selectores más específicos tienen prioridad sobre los más generales. Por ejemplo, una regla con un selector de ID (#menu) tendrá más peso que una con un selector de clase (.menu). En caso de conflicto, el navegador aplica la regla con mayor especificidad. Por eso, es importante escribir los estilos de manera ordenada y evitar el uso excesivo de reglas muy específicas que dificulten el mantenimiento del código.

# data[].attributes.body
El selector universal se representa con un asterisco (*) y selecciona todos los elementos del documento HTML. Es útil cuando se desea aplicar un estilo generalizado, por ejemplo, para resetear márgenes o paddings de todos los elementos. Un uso común sería: * { margin: 0; padding: 0; }. Aunque es poderoso, se debe usar con precaución, ya que puede afectar el rendimiento si se aplica en documentos muy grandes o con muchos elementos.