Есть две простые вещи, которые вы можете сделать, чтобы ваши страницы работали в обоих режимах.
Сначала вы задаете область просмотра с метатегом в заголовке документа. Это даст вам ширину страницы 480 в альбомной и 320 в портретной. Вы можете проверить свою ориентацию, используя медиазапросы CSS.
<meta name="viewport" content="width=device-width; initial-scale=1, maximum-scale=1">
Во-вторых, подайте изображения сетчатки для всех ваших изображений с помощью свойства background-size CSS. Поскольку ширина вашей виртуальной страницы составляет 320 пикселей, каждый пиксел на экране сетчатки имеет размер 2 на 2 пикселя. Если вы подаете изображение 40x40 в поле 20x20, на дисплеях сетчатки будет отображаться как есть, а на дисплеях без сетчатки уменьшатся пиксели.
.my-button {
width: 20px;
height: 20px;
background-image: url(retina-images/my-button-40x40.png);
-webkit-background-size: 20px 20px;
background-size: 20px 20px;
}
Это также должно работать, если вы используете тег изображения:
<img src="retina-images/my-button-40x40.png" width="20" height="20">
Вероятно, вы могли бы проделать большую работу, чтобы проверить фактический размер экрана и предоставить меньшие изображения для толпы людей, не имеющих сетчатки, но я не думаю, что выгода будет такой существенной.