- Curso tomado del canal de youtube Coder Coder.
- Se usó la creación y configuración inicial del proyecto del tutorial de 01.youtube_designcode.
El proyecto ya fue configurado en el archivo package.json
:
"scripts": {
"sass": "sass --watch ./app/scss/style.scss ./dist/style.css"
},
Por lo tanto, para ejecutar la compilación escribir en la terminal (siempre ubicados en la raíz del proyecto):
$ npm run sass
Con esta metodología para establecer estilos únicamente lo haremos a través de clases
y pseudoselectores
como por ejemplo el :hover
.
Contenedor donde se ubicarán los diversos elementos.
Los siguientes elementos son considerados bloques a simple vista:
- Header
- Sidebar
- Aside
- Main
- Footer
- Article
- Section
- ul
- ol
- div
Todo elemento debe estar siempre dentro de un bloque.
A continuación se define un bloque cuyo nombre de clase que lo identifica es header
:
<header class="header">
<!--Aquí irán los elementos-->
</header>
Para agregar una variación del mismo bloque se usan dos guiones medios (--)
.
<header class="header header--dark">
<!--Aquí irán los elementos-->
</header>
Observemos que el bloque modificado siempre inicia en la clase el nombre del bloque header
y a continuación
el nombre del bloque seguido de dos guiones medios con el nombre del bloque modificado header--dark
.
- Jamás existirán elementos si estos no se han definido dentro de un bloque.
- Son las diversas partes que componen un bloque.
- Cada elemento nace a partir de la clase del bloque a la que conforma seguido de 2 guiones bajos
(__)
.
<header class="header">
<!-- Elemento 1 -->
<img src="img.png" alt="logo" class="header__logo">
<!-- Elemento 2 -->
<a href="#" class="header__link">enlace</a>
</header>
Son variaciones de los elementos y al igual que el bloque modificado, usan 2 guiones medios (--)
al mismo nivel de dicho elemento.
<header class="header header--dark">
<!-- Elemento 1 -->
<img src="img.png" alt="logo" class="header__logo header__logo--light">
<!-- Elemento 2 -->
<a href="#" class="header__link header__link--light">enlace</a>
</header>
NOTA
Siempre es
bloque-elemento-modificador