Selectores, Propiedades, Box Model y Flexbox
Los selectores se utilizan para seleccionar y aplicar estilos a elementos HTML.
/* Selector de elemento */
p {
color: blue;
}
/* Selector de clase */
.destacado {
font-weight: bold;
}
/* Selector de ID */
#principal {
width: 800px;
}
/* Selector universal */
* {
margin: 0;
padding: 0;
}
/* Selector de atributo */
a[target="_blank"] {
color: red;
}
Este es un párrafo normal.
Este párrafo tiene una clase.
Este párrafo tiene un ID.
Este párrafo también tiene la misma clase.
Las propiedades CSS definen el aspecto visual de los elementos HTML seleccionados.
/* Ejemplo de propiedades CSS */
.elemento {
color: #333;
background-color: #f0f0f0;
font-size: 16px;
margin: 10px;
padding: 15px;
border: 2px solid #3498db;
border-radius: 5px;
width: 300px;
height: 150px;
}
Todos los elementos HTML son considerados "cajas" con las siguientes propiedades:
/* Ejemplo de Box Model */
.caja {
width: 300px; /* Ancho del contenido */
height: 150px; /* Alto del contenido */
padding: 20px; /* Relleno interno */
border: 5px solid #3498db; /* Borde */
margin: 30px; /* Margen externo */
/* Para incluir padding y border en el ancho/alto total */
box-sizing: border-box;
}
Contenido
Padding: 20px
Border: 5px sólido
Margin: 20px
Flexbox es un modelo de layout unidimensional que permite distribuir el espacio entre los elementos y alinearlos.
/* Contenedor flex */
.contenedor {
display: flex;
justify-content: center; /* Centrado horizontal */
align-items: center; /* Centrado vertical */
flex-direction: row; /* Dirección en fila */
flex-wrap: wrap; /* Permitir múltiples líneas */
gap: 10px; /* Espacio entre elementos */
}
/* Elementos flex */
.elemento {
flex: 1; /* Capacidad de crecimiento */
min-width: 100px; /* Ancho mínimo */
}
Practica lo que has aprendido con estos ejercicios:
Crea un selector que convierta todos los elementos de clase "destacado" en texto azul y en negrita.
Crea una caja de 200x200px con un padding de 20px, un borde sólido de 5px y un margen de 15px.
Crea un contenedor flex que centre sus elementos tanto horizontal como verticalmente con un espacio de 10px entre ellos.