Как сделать так, чтобы на экране размером 460 пикселей отображался дизайн размером 640 пикселей, а также шаблон на 320 пикселей?

Viewports, @media, пиксельные отношения и так далее доставляют мне неприятности. У меня есть веб-сайт для смартфона (адаптивный) с одним шаблоном 320 пикселей и одним шаблоном 640 пикселей, и я хочу добиться следующего:

Ширина до 320 пикселей: показать шаблон 320 пикселей.

Ширина от 321 до 639 пикселей: показать шаблон размером 640 пикселей, уменьшенный до размера экрана.

640px или больше: показать шаблон 640px (без увеличения)

(в шаблоне 640px есть изображения и прочее, которые действительно имеют ширину 640px, поэтому я предполагаю, что масштабирование должно выполняться с помощью области просмотра или мета-тега)

1 ответ

Используйте mediaqueries для мобильного первого дизайна, как;

@media only screen  and (max-device-width : 320px) {

/* Styles 320px */
.imageContainer{display:none} /*example for image containing element*/
}

Для средних экранов;

@media only screen and (min-device-width : 321px)
    and (max-device-width : 639px) {

    /* Styles upto 640px */
    .imageContainer{display:none}
    }

И для экранов выше 640 пикселей;

@media only screen  and (min-device-width : 640px) {

    /* Styles above 640px */
    .imageContainer{
       display:block;
     }
    .imageContainer img{
      width:100%; /*gives full width to all images on this viewport*/
      height:auto;
       }
    }

Для Retina-дисплеев, таких как iPhone4, iPad и т. Д.;

@media
only screen and (-webkit-min-device-pixel-ratio : 1.5),
only screen and (min-device-pixel-ratio : 1.5) {
/* Styles */
}

И да, масштабирование областей просмотра поддерживается метатегом, включенным в вашу голову:

<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; minimum-scale=1.0; user-scalable=no; target-densityDpi=device-dpi" />
Другие вопросы по тегам