Enfoque # 2 funciona mejor para mí.
Cuando era novato, estaba usando Método n.º 1 - Estaba escribiendo mis consultas de medios juntas (en la parte inferior de mi hoja de estilo o en otro archivo).
.header { ... }
.news-item { ... }
.footer { ... }
/**
* ...
*
* bla bla, imagine a huge amount of styles here
*
* ...
*/
/** All style tweaks for screens < 1024px */
@media screen and (max-width: 1024px) {
.header { ... }
.news-item { ... }
}
Este enfoque tiene algunas desventajas. Según mi experiencia, la más notable es que la capacidad de mantenimiento es difícil. La razón principal: la lógica .news-item
se extiende a través de múltiples líneas de CSS no relacionadas.
Más tarde, naturalmente, decidí mantener juntos los estilos relacionados. Enfoque # 2:
/** Header's styles and media queries */
.header {
...
}
@media screen and (max-width: 1024px) {
.header { ... }
}
@media screen and (max-width: 720px) {
.header { ... }
}
/** News-item's styles and media queries */
.news-item {
...
}
@media screen and (max-width: 1024px) {
.news-item { ... }
}
@media screen and (max-width: 720px) {
.news-item { ... }
}
/** ... and so on */
Sin embargo, en este enfoque, la repetición de los medios de comunicación consulta max-width
valores de todo alrededor no se ve lo suficientemente fácil de mantener. Resolví este problema usando un preprocesador CSS (como SASS) que me permite reemplazarlos por variables y definirlos una vez.
Para aumentar la capacidad de mantenimiento y para hacer que estas definiciones sean mucho más elegantes, comencé a usar una abstracción en la parte superior de las consultas de medios.
Si usted está interesado en más detalles, por favor :-) read on my blog post
estoy seguro que he leído por ahí que este enfoque es mucho más lento que tener las preguntas de los medios en la hoja de estilo. – SpaceBeers