Почему сбиваются стили?

Есть два стиля для одного класса - одна версия для мобилы, другая для ПК. Вопрос: может в чем-то я ошибся, но эти стили перебивают друг друга и работают последние стоящие, почему?
Вот код данных стилей:

@media screen, handheld and (max-width: 520px){
	.blog_article_pict{
		clip: rect(40px, auto, auto, 40px); 
		margin-right: 20px; 
		width: 100%;
	}
}
@media screen, handheld and (min-width: 560px){
	.blog_article_pict{
		clip: rect(40px, auto, auto, 40px); 
		margin-right: 20px; 
		display: block; 
		height: 245px; 
		width: 60%; 
		float: left;
	}
}

В данном коде работает последний написанный стиль везде - на мобиле и ПК.
Попробовал вместо max-width и min-width: max-device-width и min-device-width соответственно. Результат тот же.

тоже поменял media сперва указал большее потом меньшее и наоборот, увы не помогло.

Спасибо, проблема решена - просто убрал handheld в последнем media.
  • Вопрос задан
  • 1331 просмотр
Решения вопроса 1
27cm
@27cm
TODO: Написать статус
Потому что под последний media-запрос подойдут любые устройства с экранами:
@media screen, handheld == screen or handheld
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
tigroid3
@tigroid3
PHP, YII2, SQL, Postgres, Docker, SPHINX, GIT
сталкивался с такой же проблемой, поменял просто местами медиазапросы от большего к меньшему
Ответ написан
Комментировать
@chirskiy_mixail
Очень давно занимаюсь версткой, имею огромный опыт
У вас сначала идет max-width, а потом min-width, я думаю стоит разобраться, как работают свойства, пока я вижу у вас нет понимания этого.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы