Я хочу использовать разные таблицы стилей для разных экранов widths (до и после 700px).

<link rel="stylesheet" href='media700.css' media="screen and (max-device-width:700px)">
<link rel="stylesheet" href='media1366.css' media="screen and (min-device-width:701px)">

Не работает. media1366 всегда перезаписывает media700.

0
qadenza 8 Сен 2016 в 13:27

3 ответа

Лучший ответ

width вашего устройства больше, чем 700px, поэтому

max-device-width: 700px

Не правда и

min-device-width: 701px

Верно, поэтому поведение, которое вы испытываете, действительно ожидаемо.

Эти два правила не могут отменять друг друга, поскольку они исключают друг друга.

2
Lajos Arpad 8 Сен 2016 в 10:33

Вам просто нужно изменить порядок и удалить слово device

<link rel="stylesheet" href='media1366.css' media="screen and (min-width:701px)">
<link rel="stylesheet" href='media700.css' media="screen and (max-width:700px)">

См. Дополнительную информацию об этом ответе о переполнении стека

1
Community 23 Май 2017 в 12:08

Вы должны писать медиа-запросы в последовательности от большего размера к меньшему, поэтому в вашем случае файлы должны быть включены в последовательности от более высоких 701 пикселей до более низких 700 пикселей.

<link rel="stylesheet" href='media1366.css' media="screen and (min-device-width:701px)">
<link rel="stylesheet" href='media700.css' media="screen and (max-device-width:700px)">
1
Rahul K 8 Сен 2016 в 10:34