Это дизайн CSS - каскадная таблица стилей.
Это означает, что, если вы применяете два правила, которые сталкиваются с одинаковыми элементами, он выберет последнее, которое было объявлено, если только первое не имеетмаркер !important
или более конкретный (например, html > body
против просто body
, последний менее специфичен).
Итак, учитывая этот CSS
@media (max-width: 600px) {
body {
background: red;
}
}
@media (max-width: 400px) {
body {
background: blue;
}
}
, если браузерокно имеет ширину 350 пикселей, фон будет синим, в то время как с этим CSS
@media (max-width: 400px) {
body {
background: blue;
}
}
@media (max-width: 600px) {
body {
background: red;
}
}
и такой же шириной окна фон будет красным.Оба правила действительно совпадают, но второе применяется именно потому, что является последним.
Наконец, с
@media (max-width: 400px) {
body {
background: blue !important;
}
}
@media (max-width: 600px) {
body {
background: red;
}
}
или
@media (max-width: 400px) {
html > body {
background: blue;
}
}
@media (max-width: 600px) {
body {
background: red;
}
}
фон будет синим (с окном шириной 350 пикселей).