Сайт

Как сделать адаптивный сайт html: Что менять в HTML и CSS коде

31.05.2023

Содержание

Как сделать адаптивный дизайн сайта и что это такое

Всем привет! Недавно, заглянув в статистику одного из своих проектов, я поняла, что пришло время учиться создавать адаптивный дизайн сайта, то есть, дизайн, который будет хорошо смотреться, как на стационарных компьютерах и ноутбуках, так и на мобильных устройствах. Взгляните сами, Метрика намекает.

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

А вы знаете, каким видят ваш сайт пользователи мобильных устройств? К счастью, для проверки есть отличный сервис — responsinator.com

Здесь все до безобразия просто — вводишь адрес сайта и видишь, как он выглядит на мобильных устройствах. Давайте для примера проверим блог, который, наверное, знаком все.


У Александра Борисова красивый шаблон, сразу видно — в дизайн и верстку вложены деньги и не маленькие.

Однако, с телефона читать блог очень неудобно, и я не удивлюсь, если процент отказов среди пользователей мобильных устройств гораздо больше, чем тех, кто заходит на сайт с компьютера.

Что делать? Выхода два: оставить все как есть и наблюдать за тем, как другие проекты обходят твой в выдаче поисковых систем либо сделать дизайн своего сайта адаптивным.

Что такое адаптивный дизайн

По началу я не видела разницы между адаптивной и «резиновой» версткой, когда размеры блоков меняются в зависимости от ширины экрана. Однако, разница есть.

Адаптивный дизайн не просто тянется или сжимается по ширине, он подстраивается под размер экрана, иногда полностью меняя стиль блоков.

Самый простой пример: область контента растягивается на всю ширину экрана, а сайдбар или переносится вниз или вообще исчезает со страницы. Или меню из обычного горизонтального превращается в выпадающий список.

Как сделать адаптивный дизайн для своего сайта

В зависимости от вашего бюджета и знаний CSS/HTML, вариантов может быть несколько.

Заказать адаптивную верстку у фрилансера

Самый правильный, на мой взгляд, вариант, и он же самый непопулярный. Потому что удовольствие не из дешевых. И все же, если позволяют средства, и нет желания разбираться в тонкостях верстки, лучше найти студию или фрилансера, который адаптирует ваш шаблон под мобильные устройства или сделает новый. А как проверить его работу на устройствах с разными разрешениями, вы уже знаете — responsinator.com в помощь.

Найти готовый дизайн

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

  • www.templatemonster.com — одна из самых популярных коллекций платных шаблонов для разных CMS и просто HTML-сайтов.
  • www.templatemo.com — множество бесплатных вариантов современного дизайна.

Этот вариант подойдет тем, кто не гонится за эксклюзивным дизайном или способен внести свои правки в код, так, чтобы сделать шаблон уникальным.

Использовать фреймворки

Фреймворк (framework) — можно сказать, каркас шаблона, его основные файлы и сетка блоков. Дизайнеры любят их за удобство в работе и экономию времени, потому что готовая «рыба» шаблона позволяет не тратить время на рутину. Если вы умеете работать с фреймворками, использовать их для создания адаптивного дизайна — отличное решение.

Огромный список адаптивных фреймворков на любой вкус вы найдете на Хабре. Но большинство из них достаточно сложные в использовании и тяжелые в объеме. Поэтому тем, кто любит минимализм я рекомендую другой список легких адаптивных фреймворков от Beloweb.ru. Заодно присмотритесь к блогу, здесь очень много полезных «вкусняшек» для дизайнеров и верстальщиков.

Сделать верстку самому

Этот способ для тех, кто не ищет легких путей и хочет разобраться во всем самостоятельно. По сути, чтобы сделать свой шаблон адаптивным, нужно использовать две вещи:

Мета-тег viewport
Который определяет тип устройства, с которого посетитель зашел на сайт и установит верную ширину экрана. Просто скопируйте этот код в head своего сайта.
<meta name="viewport" content="width=device-width, initial-scale=1.0" />

Правило @media
Благодаря которому мы можем прописать разные стили для одних и тех же блоков в своем css-файле. Выглядит это примерно так:

#left{
	width: 600px;
	float: left;
	margin-right: 10px;
	}
#right{
	width: 400px;
	float: right;
	}	
	
@media only screen and (max-width: 1010px){ 
	#left, #right{
		width: 98%;
		float: none;
		margin: 10px auto;
		}
}

В этом примере блок #left имеет ширину 600 пикселей и будет располагаться слева от блока #right шириной 400 пикселей. Но если разрешение монитора меньше 1010 пикселей, мы убираем обтекание у обоих блоков и растягиваем их на 98% ширины экрана.

И вот таким образом нужно прописать правила под следующие размеры экранов:

  • 320px дляiPhone 3-5 в вертикальном положении
  • 480px для iPhone 3-4 в горизонтальном положении
  • 568px для iPhone 5 в горизонтальном положении
  • 384px для смартфона в вертикальном положении
  • 600px для смартфона в горизонтальном положении
  • 768px для iPad в горизонтальном положении
  • 1024px для iPad в вертикальном положении

Полный список разрешений можно найти на responsinator. com или в отчете Яндекс.Метрики для вашего сайта (раздел Технологии/Разрешения дисплеев). Одним словом, тем, кто знаком с версткой сайтов, не трудно будет разобраться в этом вопросе.

Но если вы не совсем уверены в своих силах, рекомендую курс Михаила Русакова HTML5 и CSS3 с Нуля до Гуру.

Вы знаете, я редко даю ссылки на платные курсы (потому что никогда не рекомендую то, чем сама никогда не пользовалась), но это действительно лучший обучающий материал по верстке из всех, которые мне доводилось смотреть. Именно благодаря Михаилу шаблон моего блога теперь не только адаптирован под разные разрешения экрана, он стал легче предыдущего варианта и лучше оптимизирован под поисковые системы.

Кстати, если читаете статью с мобильного, напишите, все ли на месте, все ли удобно? А на сегодня все. Если у вас остались вопросы или дополнения — добро пожаловать в комментарии, они как обычно открыты для всех.

Адаптивная верстка сайта — ПОДРОБНО и по шагам — Отличие от отзывчивого дизайна

Подробности
Категория: Верстка
Просмотров: 8926

Для того, чтобы верстка вашего сайта хорошо смотрелась на Iphone или на планшетах — ее на)до адаптировать под эти устройства и важно делать это качественно. ..

Адаптивная верстка сайта (иногда ее еще называют mobile-friendly) — ПОДРОБНО и по шагам как на уроке:

Обратите внимание: что у Яндекса и Google — есть свои инструменты, при помощи которых вы можете проверить сайт на адаптивность. У Яндекса в новой версии Вебмастера он находится так: инструменты — проверка мобильных страниц.

Если вы хотите знать как сделать адаптивный дизайн сайта — то об этом будет написано ниже и подробно в примерах, НО, если у вас нет навыков работы с css — то будет сложнее. Или это может сделать ваш программист или вебмастер.

Отзывчивый дизайн сайта — предполагает задание ширины окна страницы и ширину колонок и сайдбаров в %, в адаптиве — в px.

Обратите внимание: если у вас популярный движок вашего сайта, типа wordpress, то у них нет «головной боли» с адаптивным дизайном — все там делается парой кликов мыши — просто устанавливается и активируется плагин и ВСЕ). Например для WP — использовал WPtouch — очень хорош, но, если есть штатный программист — то лучше делать индивидуально этот момент.

Нужно понять, что в основном при адаптивной верстке часто манипулируют: шириной (width элемента: max-width и min-width), float (обтеканием, его убирают по мере уменьшения ширины окна), font-size (меняют высотку букв).

1) Вначале нужно прописать специальный метатег для разных типов девайсов (прописывается в блоке head):

<meta name="viewport" content="width=device-width, initial-scale=1">

2) Адаптив параметров страницы

(ширины и высоты):

.container {
width : 800px
max-width: 90%;
}

В данном случае задается фиксированная ширина контейнера, но она не должна быть более 90% от ширины окна и это очень удобно — тогда сайт сам будет подстраиваться под размер окна.

3) Css адаптивна верстка для картинок всего сайта:

img { max-width : 100% ;
height : auto;
}

Тут мы показываем, что размер картинки: максимум его ширины должен быть не более 100% окна — таким образом картинка сама подстраивается под размер телефона или другого гаджета.

Вот такой вот простой метод — адаптивный дизайн картинок.

4) Адаптивная верстка текста сайта: в данном случае манипуляции происходят с высотой шрифта: font-size и другими параметрами.

.break-word { word-wrap : break-word; }

Этот CSS предназначен для расстановки переноса, если есть длинные не переносимые слова.

Есть много ошибок по размеру шрифта: Яндекс любит писать — Размер текста слишком мал для чтения на мобильных устройствах — для этого делаем так:

body {font-size: 16px} — это позволит избежать этой ошибки, а уже для тега p и для ссылок нужно отдельно проставить. Именно из-за того, что в теге body стоит font-size: 12 или 14 px — именно поэтому выходит эта ошибка! И выйдет вот такой вердикт:

 

5) Адаптация 3 колоночного дизайна или 2 колоночной верстки — в этом нет ничего сложного, если все сделано на div — ах то обычно нужно отменить обтекание, то есть выставить float в none и блоки опустятся вниз.

6) Адаптив CSS для видео (с Хабра):

<div>
<iframe src="https://www.youtube.com/embed/sfS_2yq_cDQ?rel=0" frameborder="0" allowfullscreen></iframe>
</div>

CSS

.video {
position : relative;
padding-bottom : 56.25% ;
height : 0 ;
overflow : hidden;
} .video iframe ,
.video object ,
.video embed {
position : absolute;
top : 0 ;
left : 0 ;
width : 100% ;
height : 100% ;
}

 

Media Queries — медиа запросы

Для создания адаптивного диза часто используют media запросы (они задают правила исходя из размеров экрана по ширине — исходя из разрешения экрана).

Вот заготовочка media queries — под какие разрешения делать адаптивный дизайн:

/* Large Devices, Wide Screens */
@media only screen and (max-width : 1200px) {

}

/* Medium Devices, Desktops */
@media only screen and (max-width : 992px) {

}

/* Small Devices, Tablets */
@media only screen and (max-width : 768px) {
    
}

/* Extra Small Devices, Phones */
@media only screen and (max-width : 480px) {

}

/* Custom, iPhone Retina */
@media only screen and (max-width : 320px) {
    /**/
}

/*==========  Mobile First Method  ==========*/

/* Custom, iPhone Retina */
@media only screen and (min-width : 320px) {
    /**/
}

/* Extra Small Devices, Phones */
@media only screen and (min-width : 480px) {
    /**/
}

/* Small Devices, Tablets */
@media only screen and (min-width : 768px) {
    /**/
}

/* Medium Devices, Desktops */
@media only screen and (min-width : 992px) {
    /**/
}

/* Large Devices, Wide Screens */
@media only screen and (min-width : 1200px) {
     /**/
}

Но можно и избежать медиа запросов, задавая ширину колонок и блоков сразу в процентах.

При медиа запросах начинаем сверху: все что сделали допустим для max-width: 768 будет срабатывать и при 480.

 

Какие бывают проблемы при адаптации сайтов для мобильных устройств

Например Яндекс может такое выдать — Есть горизонтальная прокрутка:

 Это у вас что-то с padding или margin — обнулите их для родительских селекторов (блоков) и будет вам счастье.

И в конце Яндекс Вебмастер показывает такое:

 

Тоже делал 4 часа, в первый раз всегда сложно! Но далее, уже за пару часиков можно делать! И отправляем в вебмастер на перепроверку, чтобы побыстрее — важно для SEO.

 

А вообще, сегодня многие используют готовые заготовки — Бутстрап и мучений практически нет — как пользоваться bootstrap

Добавить комментарий

Адаптивный HTML — javatpoint

следующий → ← предыдущая

Адаптивный веб-дизайн

Адаптивный веб-дизайн используется для того, чтобы ваша веб-страница выглядела уместно, хорошо и хорошо размещалась на всех устройствах (настольных компьютерах, планшетах, смартфонах и т.  д.)

Адаптивный веб-дизайн использует HTML и CSS для изменения размера, скрытия, сжатия, увеличения или перемещения содержимого. Это позволяет контенту хорошо выглядеть на любом экране.

Установить окно просмотра

Давайте посмотрим, как настроить область просмотра.

как настроить область просмотра

Адаптивные изображения

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

Как сделать изображение адаптивным?

Используя свойство ширины

Установите для свойства ширины CSS значение 100%, чтобы сделать изображение отзывчивым и масштабировать его вверх и вниз.

Пример

<тело>

Адаптивное изображение

Когда мы устанавливаем для свойства ширины CSS значение 100 %, изображение становится адаптивным. Измените размер окна браузера, чтобы увидеть эффект.

( изменить изображение)

Протестируйте сейчас
Примечание. Проблема с описанным выше методом (ширина: 100%) заключается в том, что изображение может быть увеличено до размера, превышающего исходный размер. Поэтому вместо этого лучше использовать свойство max-width.

С помощью свойства max-width

Этот метод является лучшим и наиболее часто используемым, потому что он способствует тому, что изображение будет уменьшаться, если это необходимо, но никогда не будет увеличиваться до размера, превышающего его первоначальный размер.

Пример

<тело>

Адаптивное изображение

«max-width:100%» делает изображение адаптивным, а также гарантирует, что изображение не становится больше исходного размера.

Измените размер окна браузера, чтобы увидеть эффект.

(Изменить изображение)

Протестируйте сейчас

Изменение изображений в соответствии с шириной браузера

Используя HTML-элемент , вы можете установить два или более изображений в зависимости от ширины браузера. Это изменит изображение, когда вы измените размер браузера. то есть рабочий стол и телефон.

Пример

<тело>

Изменить изображения в зависимости от ширины браузера

Измените ширину браузера, и размер изображения изменится на 600 и 1500 пикселей.

<картинка> (Изменить изображение) (Изменить изображение) <источник srcset="цветы.jpg"> Цветы

Протестируйте сейчас

Адаптивный размер текста

Мы можем изменить размер текста, используя единицу измерения «uv». Это означает ширину окна просмотра. Используя это, мы можем сделать размер текста таким, чтобы он соответствовал размеру экрана окна браузера.

Пример

<тело>

Здесь размер 10vw.

Здесь размер 6vw.

Здесь размер 4vw.

Измените размер окна браузера, чтобы увидеть, как изменится размер текста.

Протестируйте сейчас
Примечание: область просмотра определяет размер окна браузера. 1vw = 1% ширины области просмотра. Означает, что если окно просмотра имеет ширину 100 см, 1vw равно 1,0 см.

Медиа-запрос

Мы также можем использовать медиа-запросы для создания адаптивных веб-сайтов. Подробнее о медиазапросе читайте здесь: Media Query

Следующая темаHTML Computercode

← предыдущая следующий →

Адаптивный веб-дизайн HTML (с примерами)

В этом уроке мы узнаем об адаптивном веб-дизайне HTML и его типах с помощью примеров.

Адаптивный веб-дизайн — это подход к веб-дизайну, позволяющий хорошо отображать веб-страницы на всех устройствах с разными размерами экрана и окнами просмотра. Например,

Так сайт выглядит на десктопе.

Так тот же сайт выглядит на мобильных устройствах.

Здесь все содержимое веб-страницы хорошо отображается как на компьютере, так и на мобильном устройстве без каких-либо проблем. Следовательно, это адаптивный дизайн.


Есть много способов сделать веб-страницу адаптивной. Они следующие:

  • Метатег окна просмотра
  • Адаптивная типографика
  • Адаптивные изображения
  • Медиа-запросы
  • Технологии адаптивного макета

О каждом из них мы узнаем подробно.


Метатег viewport

Мы можем добавить viewport в тег , чтобы сделать веб-страницу отзывчивой. Окно просмотра дает браузеру инструкции о том, как управлять размерами и масштабированием страницы. Например,

  

Атрибут viewport сообщает браузеру, как настроить размеры и масштабирование веб-страницы в соответствии с экраном устройства. . В этом примере

  • width=device-width — ширина веб-страницы равна ширине устройства
  • .
  • начальный масштаб=1.0 — уровень масштабирования 100% .

Рассмотрим пример:

 
    <голова>
        
        Пример с метатегом окна просмотра
    
    <тело>
        <изображение
         
          src="https://programiz.com/sites/all/themes/programiz/assets/cover-artwork.png"
        />
         

Набор области просмотра

Вывод браузера на экран мобильного устройства с метанабором окна просмотра

Браузер Вывод на экран мобильного устройства без метанабора окна просмотра

Как видите, веб-сайт неудобен для пользователей на мобильных устройствах, когда окно просмотра не установлено.


Размер адаптивного текста

Мы можем установить размер текста в соответствии с размером браузера. Для этой цели мы используем блок vw . Например,

 

Привет всем!

Вывод браузера

Здесь для свойства font-size установлено значение 9.0008 10vw , что означает 10% ширины области просмотра .

Это означает, что размер шрифта элемента

будет составлять 10% ширины области просмотра (видимой области веб-страницы), независимо от размера экрана или разрешения устройства.

Когда мы изменяем размер окна браузера, размер текста и других элементов на странице обычно увеличивается или уменьшается, чтобы соответствовать новому размеру окна. Это позволяет контенту быть легко читаемым и доступным независимо от размера экрана пользователя.

Вывод браузера


Адаптивные изображения

Адаптивные изображения хорошо отображаются и подходят для любого размера браузера. Нам просто нужно установить ширину изображения на 100% , чтобы сделать изображение отзывчивым. Например,

  

Вывод браузера (рабочий стол)


90 006

Браузер Выход (мобильный)


Теги изображений HTML

Элемент позволяет указать несколько элементов , каждый из которых может иметь собственный медиа-запрос. Это позволяет вам показывать разные изображения на разных устройствах в зависимости от размера экрана, разрешения и других факторов. Например,

 <картинка>
    
    <источник srcset="logo_regular.png">
    Логотип
 

Вывод браузера при размере экрана > 400 пикселей

Вывод браузера при размере экрана < 400 пикселей

В приведенном выше примере, если ширина экрана меньше 400 , 901 23 logo_small. png будет использоваться и logo_regular.png будет использоваться в случае, если размер экрана превышает 400.

Это часто используется в адаптивном дизайне для предоставления нескольких изображений с разными размерами или разрешениями, чтобы можно было выбрать лучшее изображение для текущей ширины окна просмотра. . Это дает разработчику больший контроль над тем, как изображения отображаются на разных устройствах и размерах экрана.

Примечание: Мы также предоставляем тег внутри тега для старых браузеров, которые не поддерживают тег .


Медиа-запросы

Медиа-запросы — это метод CSS, определяющий совершенно разные стили для браузеров разных размеров. Это важная часть адаптивного дизайна. Давайте посмотрим на пример,

 

Узнайте о HTML

<стиль> Только экран @media и (максимальная ширина: 600 пикселей) { тело { цвет фона: голубой; } }

Вывод браузера (размер экрана > 600)

1243

Здесь мы видим, что CSS не влияет на нашу HTML-страницу. Давайте изменим размер экрана до менее чем 600px .

Вывод браузера (размер экрана < 600)

В приведенном выше примере используется медиа-запрос, представленный @media , для применения определенных стилей к странице.

Только экран гарантирует, что стили будут применяться только при просмотре страницы на экране, а не при печати. (max-width: 600px) часть запроса ограничивает применение стилей только тогда, когда размер экрана меньше 600 пикселей. Это позволяет создать динамичный и отзывчивый макет.


Макет сетки

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

Макет сетки — это макет CSS, позволяющий создавать адаптивные и гибкие макеты. С помощью макета сетки мы можем указать размер и положение элементов на веб-странице с помощью системы сетки, и элементы автоматически изменят свой размер и положение в соответствии с доступным пространством.

Адаптивное представление сетки часто имеет 12 столбцов и общую ширину 100% . Сетка автоматически изменит размер, чтобы занимать разный процент ширины экрана на разных устройствах. Например,

 <стиль>
    .сетка {
        дисплей: гибкий;
        flex-wrap: обернуть;
    }
    .столбец {
        гибкий: 0 0 8,33%; /* Занимает 8,33% сетки (12 столбцов) */
        цвет фона: красный;
        белый цвет;
        выравнивание текста: по центру;
        семейство шрифтов: без засечек;
    }
    .column: n-й ребенок (2n) {
        цвет фона: синий;
    }
    /* Используйте медиа-запросы для применения разных стилей в зависимости от ширины экрана */
    @media (максимальная ширина: 600 пикселей) {
        .столбец {
            гибкий: 0 0 50%; /* Занимают 50% сетки на маленьких экранах */
        }
    }

<дел>
    <дел>1
    <дел>2
    <дел>3
    <дел>4
    <дел>5
    <дел>6
    <дел>7
    <дел>8
    <дел>9
<дел>10
11
<дел>12