Π Π°Π·Π½ΠΎΠ΅

Css Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½Ρ‹Π΅ изобраТСния: Responsive Images in CSS | CSS-Tricks

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

АдаптивныС изобраТСния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ CSS ~ Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Ρ‹ Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π°

Π’ этом нСбольшом ΡƒΡ€ΠΎΠΊΠ΅, ΠΌΡ‹ рассмотрим ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠ΅ способы создания Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽΒ CSS.
БущСствуСт Π½Π΅ ΠΌΠ°Π»ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒΒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡΒ Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ, всС ΠΎΠ½ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ ΠΈ ΠΏΠΎ слоТности, ΠΈ стСпСни ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌΠΈ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ слоТного ΠΏΡƒΡ‚ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΎΠΊ, являСтся использованиС Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°Β srcset, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ трСбуСтся нСсколько ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, большС Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌΠΈ.

Π”Π°Π²Π°ΠΉΡ‚Π΅ отбросим лишнюю тягомотину, соврСмСнныС спСцификации ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π½Π°ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ изобраТСния, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π½Π° страницах сайтов, Π³ΠΈΠ±ΠΊΠΈΠΌΠΈ ΠΈ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‰ΠΈΠΌΠΈΡΡ Π½Π° экранах Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… устройств, для этого достаточно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ всСго лишь нСсколько свойств ΠΈΠ· ΠΎΠ±ΠΎΠΉΠΌΡ‹ CSS.

ΠŸΡ€ΠΈΠ³ΠΎΡ‚ΠΎΠ²ΠΈΠ» ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π²Π°Ρ€ΠΈΠ°Ρ†ΠΈΠΉ исполнСния Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, одиночная ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°, изобраТСния Π² Π΄Π²ΡƒΡ… ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°Ρ…, Π° Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ использования большого Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠ³ΠΎ изобраТСния с Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒΡŽ. ВсС Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ основаны Π½Π° использовании ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ для свойства width(ΡˆΠΈΡ€ΠΈΠ½Ρ‹) ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈΒ auto для свойства heightΒ (высоты) ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ.

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

Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ значСния Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ изобраТСния

Начнём с рассмотрСния Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°, ΠΊΠΎΠ³Π΄Π° Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½Ρ‹Π΅ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π² записях, ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Π±Π»ΠΎΠΊΠ°Ρ…, ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ.
НапримСр, Ρƒ нас Π΅ΡΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΌΡ‹ Π·Π°Π΄Π°Π»ΠΈ Π±Π°Π·ΠΎΠ²ΡƒΡŽ ΡˆΠΈΡ€ΠΈΠ½ΡƒΒ width: 96%;Β ΠΈ выставили ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ ΡˆΠΈΡ€ΠΈΠ½Ρƒ Π²Β max-width: 960px;, Π² этом Π±Π»ΠΎΠΊΠ΅ Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ вывСсти Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅.
Для этого элСмСнту <img>Β Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° опрСдСляСм ΡˆΠΈΡ€ΠΈΠ½Ρƒ Π² 100%, Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ Π΅Π³ΠΎ ΡˆΠΈΡ€ΠΈΠ½Π° всСгда Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π½Π° ΡˆΠΈΡ€ΠΈΠ½Π΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°, нСзависимо ΠΎΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° области просмотра. Высоту, соотвСтствСнно, ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΠΌ Π² автоматичСский Ρ€Π΅ΠΆΠΈΠΌ, Π² ΠΈΡ‚ΠΎΠ³Π΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΠΏΡ€ΠΎΠΏΠΎΡ€Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ.

HTML:

<div>
  <img src="image01.jpg" />
</div>

CSS:

div.container {
  width: 96%;
  max-width: 960px;
  margin: 0 auto; /* Ρ†Π΅Π½Ρ‚Ρ€ΠΈΡ€ΡƒΠ΅ΠΌ основной ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ */
}
img {
  width: 100%; /* ΡˆΠΈΡ€ΠΈΠ½Π° ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ */
  height: auto; /* высота ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ */
}

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎΒ <img> элСмСнт Π±ΡƒΠ΄Π΅Ρ‚ Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½Ρ‹ΠΌ, Π΄Π°ΠΆΠ΅ Ссли Π±Ρ‹Π»ΠΈ Π·Π°Π΄Π°Π½Ρ‹ фиксированныС значСния HTML-Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² ΡˆΠΈΡ€ΠΈΠ½Ρ‹ ΠΈ высоты нСпосрСдствСнно Π² Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ΅.

АдаптивныС изобраТСния Π² ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°Ρ…

Иногда ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ изобраТСния выстроСнныС Π² ряд Π±ΠΎΠΊ ΠΎ Π±ΠΎΠΊ, ΠΈΠ»ΠΈ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² Π²ΠΈΠ΄Π΅ сСтки, для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ΅ΠΉ Π³Π°Π»Π΅Ρ€Π΅ΠΈ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΎΠΊ.
Для этого, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ лишь внСсти нСбольшиС измСнСния Π² ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ использовали Π²Ρ‹ΡˆΠ΅, ΠΏΠ΅Ρ€Π²ΠΎΠ΅, это ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ ΡˆΠΈΡ€ΠΈΠ½Ρƒ свойство widthΒ ΠΈ Π·Π°Π΄Π°Ρ‚ΡŒ элСмСнту <img>Β Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Β inline-block для свойства display, Ρ‚.Π΅. ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Π³ΠΎ встроСнным.
Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π΄Π²Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΎΡ‡Π½Ρ‹Π΅ схСмы: располоТСниС ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΎΠΊ Π² Π΄Π²Π΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΠΈ ΠΌΠ°ΠΊΠ΅Ρ‚ ΠΈΠ· Ρ‚Ρ€Ρ‘Ρ… столбцов.

1. ΠœΠ°ΠΊΠ΅Ρ‚ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π² Π΄Π²Π΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ
Для Π΄Π²ΡƒΡ…-ΠΊΠΎΠ»ΠΎΠ½ΠΎΡ‡Π½ΠΎΠ³ΠΎ ΠΌΠ°ΠΊΠ΅Ρ‚Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΡˆΠΈΡ€ΠΈΠ½Ρƒ Π² 48%, ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρƒ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°. НС устанавливаСм значСния Π² 50%, для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Π»ΠΈ Π±ΠΎΠΊΠΎΠ²Ρ‹Π΅ отступы.

HTML:

<div>
  <img src="image01.jpg" />
  <img src="image02.jpg" />
</div>

CSS:

img {
  width: 48%;
  display: inline-block;
}

2. Π’Ρ€ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ

Π‘ Ρ‚Ρ€Ρ‘Ρ…-ΠΊΠΎΠ»ΠΎΠ½ΠΎΡ‡Π½Ρ‹ΠΌ ΠΌΠ°ΠΊΠ΅Ρ‚ΠΎΠΌ концСпция Ρ‚Π° ΠΆΠ΅, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΡˆΠΈΡ€ΠΈΠ½Ρƒ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° Π½Π° Ρ‚Ρ€ΠΈ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ, для этого достаточно ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ значСния ΡˆΠΈΡ€ΠΈΠ½Ρ‹ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΎΠΊΠΎΠ»ΠΎ ΠΎΠ΄Π½ΠΎΠΉ Ρ‚Ρ€Π΅Ρ‚ΠΈ ΡˆΠΈΡ€ΠΈΠ½Ρ‹ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°:Β 32%.

HTML:

<div>
  <img src="image01.jpg" />
  <img src="image02.jpg" />
  <img src="image03.jpg" />
</div>

CSS:

img {
  width: 32%;
  display: inline-block;
}

Условная расстановка Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, ΠΌΡ‹ рассмотрим Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ использования Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΎΠΊ с Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠΉ расстановкой Π² зависимости ΠΎΡ‚ устройств просмотра, Ρ‚.Π΅. ΠΏΡ€ΠΈ просмотрС Π½Π° смартфонах изобраТСния Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ Π² ΠΎΠ΄Π½Ρƒ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ, Π² Π΄Π²Π΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π½Π° ΠΏΠ»Π°Π½ΡˆΠ΅Ρ‚Π°Ρ…, ΠΈ Π²Ρ‹ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π² Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π½Π° Π±ΠΎΠ»ΡŒΡˆΠΈΡ… экранах.
Для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π·Π°Π΄ΡƒΠΌΠ°Π½Π½ΠΎΠ³ΠΎ, ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌ ΠΌΠ΅Π΄ΠΈΠ°-запросы @media, ΡƒΠΊΠ°Π·Π°Π² Ρ‚ΠΈΠΏ носитСля, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Ρ‚ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ΅ максимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΡˆΠΈΡ€ΠΈΠ½Ρ‹ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉΒ max-width.

HTML:

<div>
  <img src="image01.jpg" />
  <img src="image02.jpg" />
  <img src="image03.jpg" />
  <img src="image04.jpg" />
</div>

CSS:

/* Для Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… устройств (смартфоны) */
img {
  max-width: 100%;
  display: inline-block;
}
/* Для срСдних устройств (ΠΏΠ»Π°Π½ΡˆΠ΅Ρ‚Ρ‹) */
@media (min-width: 420px) {
  img {
    max-width: 48%;
  }
}
/* Для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… устройств (Π½ΠΎΡƒΡ‚Ρ‹, ΠΏΠΊ) */
@media (min-width: 760px) {
  img {
    max-width: 24%;
  }
}

Всё довольно просто, Π½Π΅ΠΏΡ€Π°Π²Π΄Π° Π»ΠΈ? ИдСя с ΠΌΠ΅Π΄ΠΈΠ°-запросами отличная, ΡƒΠΆΠ΅ довольно Π΄Π°Π²Π½ΠΎ ΠΈ ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ. ΠŸΠΎΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, Ρ…ΠΎΡ€ΠΎΡˆΠΎ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΈΠΌΠ΅Π½Π½ΠΎ с Π΄Π°Π½Π½Ρ‹ΠΌ ΠΌΠ°ΠΊΠ΅Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΏΠΎΠ²Π΅Π΄ΡƒΡ‚ сСбя Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… конструкциях, стоит Ρ‚Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ…

АдаптивноС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° всю ΡˆΠΈΡ€ΠΈΠ½Ρƒ экрана

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΡˆΠΈΡ€ΠΎΠΊΠΎ-Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π½Ρ‹Π΅ Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½Ρ‹Π΅ изобраТСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°ΠΏΠΎΠ»Π½ΡΡŽΡ‚ 100% Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΎΠΊΠ½Π° просмотра, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ просто ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ свойство максимальной ΡˆΠΈΡ€ΠΈΠ½Ρ‹ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°Β max-widthΒ (Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² 960px) ΠΈ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΅ΠΌΡƒ ΡˆΠΈΡ€ΠΈΠ½ΡƒΒ widthΒ Π² 100%. Π¨ΠΈΡ€ΠΈΠ½Π° изобраТСния, Ρ‚Π°ΠΊ ΠΆΠ΅ выставляСтся Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 100%.

CSS:

.container {
  width: 100%;
}
img {
  width: 100%;
}

НСсмотря Π½Π° Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ данная Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ° ΠΎΡ‡Π΅Π½ΡŒ проста Π² использовании ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ ΡƒΡΡ‚ΠΎΠΉΡ‡ΠΈΠ²ΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΌΠΈ, слСдуСт ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ изобраТСния всСгда Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ Π² ΠΏΠΎΠ»Π½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€, Ρ‚.Π΅. большиС, с высоким Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ изобраТСния ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ заполняя всё пространство, Ρ‡Ρ‚ΠΎ для Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… устройств, Π½Π΅ всСгда Π² Ρ‚Π΅ΠΌΡƒ, Ссли Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² качСствС Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠ³ΠΎ изобраТСния.

На этом ΠΏΠΎΠΆΠ°Π»ΡƒΠΉ ΠΈ всё. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… устройств, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ изобраТСния Ρ€Π°Π·Π½ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅, Ρ…ΡƒΠΆΠ΅ ΡƒΠΆ Ρ‚ΠΎΡ‡Π½ΠΎ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚. Π—Π½Π°Π΅Ρ‚Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ изобраТСния Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ, ΠΏΠΈΡˆΠΈΡ‚Π΅ Π² коммСнтариях, ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ рассмотрим, Π½ΠΎΠ²ΠΎΠ΅ ΠΎΠ½ΠΎ всСгда интСрСсно.

АдаптивныС изобраТСния ΠΈ Π²ΠΈΠ΄Π΅ΠΎ Π½Π° сайтС β€” ΡƒΡ‡Π΅Π±Π½ΠΈΠΊ CSS

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π»ΠΈΡΡŒ с Π³ΠΈΠ±ΠΊΠΎΠΉ сСткой, настало врСмя ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠ΅ содСрТимоС Π²Π΅Π±-страниц, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… манипуляций, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΡ‚Π°Ρ‚ΡŒ Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½Ρ‹ΠΌ. Π Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΎΠ± изобраТСниях ΠΈ Π²ΠΈΠ΄Π΅ΠΎ. Если Π²Ρ‹ просто Π΄ΠΎΠ±Π°Π²ΠΈΡ‚Π΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Π²Π΅Π±-страницу ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚Π΅ ΠΎΠΊΠ½ΠΎ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°, Ρ‚ΠΎ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π½Π΅ адаптируСтся ΠΏΠΎΠ΄ ΡˆΠΈΡ€ΠΈΠ½Ρƒ ΠΎΠΊΠ½Π°, Π° сохраняСт свои исходныС Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ появлСнию Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ:

АдаптивныС изобраТСния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ CSS

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½Ρ‹ΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ CSS? Для Π½Π°Ρ‡Π°Π»Π° Π²Π°ΠΌ понадобится ΡƒΠ±Ρ€Π°Ρ‚ΡŒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ ΡˆΠΈΡ€ΠΈΠ½Ρ‹ ΠΈ высоты Π² Ρ‚Π΅Π³Π΅ изобраТСния (Ссли Ρ‚Π°ΠΊΠΎΠ²Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ). Π’Π°Ρˆ HTML-ΠΊΠΎΠ΄ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΡ… ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ:


<img src="https://goo.gl/PAuNsb" alt="baobab" />

<!-- Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ width ΠΈ height Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠ±Ρ€Π°Ρ‚ΡŒ -->

<img src="https://goo.gl/PAuNsb" alt="baobab" />

Β 

Π’ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ стилСй Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ запись:


img {
	max-width: 100%;
}

Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ максимальная ΡˆΠΈΡ€ΠΈΠ½Π° Ρ‚Π΅Π³Π° <img> Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π½Π° ΡˆΠΈΡ€ΠΈΠ½Π΅ Π±Π»ΠΎΠΊΠ°-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½ содСрТится. Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ смоТСт Π²Ρ‹ΠΉΡ‚ΠΈ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ своСго родитСля, Π° ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΡˆΠΈΡ€ΠΈΠ½Ρ‹ родитСля ΠΎΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ автоматичСски ΠΏΠΎΠ΄ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠΎΠ΄ Π½Π΅Π΅.

Π’ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΡˆΠΈΡ€ΠΈΠ½Ρƒ изобраТСния Ρ€Π°Π²Π½ΠΎΠΉ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π΅ ΡˆΠΈΡ€ΠΈΠ½Ρ‹ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°:


img {
	max-width: 50%;
}

АдаптивныС Π²ΠΈΠ΄Π΅ΠΎ

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ Ρ‚Π΅Π³ΠΈ <video>, Π° Ρ‚Π°ΠΊΠΆΠ΅ <embed> ΠΈ <object>, Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ для Π½ΠΈΡ… Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅ CSS-ΠΊΠΎΠ΄, ΠΊΠ°ΠΊ ΠΈ для ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. Π–Π΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ сразу всС сСлСкторы:


img, video, embed, object {
	max-width: 100%;
}

АдаптивныС iframe

Π”Π΅Π»Π° обстоят слоТнСС, Ссли Π²Ρ‹ встраиваСтС Π²ΠΈΠ΄Π΅ΠΎ Ρ‡Π΅Ρ€Π΅Π· Ρ‚Π΅Π³ <iframe>. Π’ΠΎΠ³Π΄Π° Π²Ρ‹ΡˆΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ здСсь Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. ΠŸΡ€ΠΈΠ΄Π΅Ρ‚ΡΡ ΠΏΡ€ΠΈΠ±Π΅Π³Π½ΡƒΡ‚ΡŒ Π»ΠΈΠ±ΠΎ ΠΊ ΠΏΠΎΠΌΠΎΡ‰ΠΈ JavaScript, Π»ΠΈΠ±ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Ρ…ΠΈΡ‚Ρ€Ρ‹ΠΉ CSS-ΠΊΠΎΠ΄.

Если Π²Ρ‹ Π²Ρ‹Π±Ρ€Π°Π»ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, Π²Π°ΠΌ понадобится ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Ρ‚Π΅Π³ <iframe> Π² Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ <div>. НапримСр:


<div>
	<iframe src="video_url" allowfullscreen></iframe>
</div>

Π—Π°Ρ‚Π΅ΠΌ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ CSS:


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

Как Π²Ρ‹ Π·Π°ΠΌΠ΅Ρ‚ΠΈΠ»ΠΈ, Π² ΠΊΠΎΠ΄Π΅ присутствуСт свойство padding-bottom со странным Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ 56.25%. Π§Ρ‚ΠΎ это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚? Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ padding-bottom, ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π² ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π°Ρ…, считаСтся ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡˆΠΈΡ€ΠΈΠ½Ρ‹ Π±Π»ΠΎΠΊΠ°. Число 56.25 ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ² ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ сторон встраиваСмого Π²ΠΈΠ΄Π΅ΠΎ (16:9) ΠΈ Ρ€Π°Π·Π΄Π΅Π»ΠΈΠ² число ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠΉ стороны Π½Π° число Π΄Π»ΠΈΠ½Π½ΠΎΠΉ стороны, послС Ρ‡Π΅Π³ΠΎ ΡƒΠΌΠ½ΠΎΠΆΠΈΠ² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π½Π° 100:

Если Π²Ρ‹ ΡΠΎΠ±ΠΈΡ€Π°Π΅Ρ‚Π΅ΡΡŒ Π²ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ Π²ΠΈΠ΄Π΅ΠΎ с Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ΠΌ сторон, скаТСм, 4:3, Ρ‚ΠΎ для опрСдСлСния подходящСго значСния padding-bottom ΠΏΡ€ΠΎΠ΄Π΅Π»Π°ΠΉΡ‚Π΅ Ρ‚Ρƒ ΠΆΠ΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ:

Π”Π°Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΈ Π² Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ΅ Bootstrap.


Π”Π°Π»Π΅Π΅ Π² ΡƒΡ‡Π΅Π±Π½ΠΈΠΊΠ΅: знакомство с Flexbox.

Responsive images — Π˜Π·ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ

Π’ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ ΠΈΠ·ΡƒΡ‡ΠΈΠΌ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡŽ Π³ΠΈΠ±ΠΊΠΈΡ…Β (responsive) ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉΒ β€” Ρ‚Π°ΠΊΠΈΡ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π½Π° устройствах с сильно ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‰ΠΈΠΌΠΈΡΡ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°ΠΌΠΈ экрана, Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ, ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ характСристиками β€” ΠΈ рассмотрим инструмСнты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅Β  ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ Π² HTML для ΠΈΡ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.Β Responsive images — Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Π° Ρ‡Π°ΡΡ‚ΡŒ (ΠΈ Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π΅ Π½Π°Ρ‡Π°Π»ΠΎ) Π³ΠΈΠ±ΠΊΠΎΠ³ΠΎ Π²Π΅Π±-Π΄ΠΈΠ·Π°ΠΉΠ½Π°, Ρ‚Π΅ΠΌΡ‹, которая Π±ΡƒΠ΄Π΅Ρ‚ рассмотрСна ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅ Π½Π° Ρ‚Π΅ΠΌΡƒΒ CSS.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ адаптивныС изобраТСния?

ΠšΠ°ΠΊΡƒΡŽ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ ΠΌΡ‹ пытаСмся Ρ€Π΅ΡˆΠΈΡ‚ΡŒ адаптивными изобраТСниями? Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΉ сцСнарий. ΠžΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ Π²Π΅Π±-сайт ΠΌΠΎΠΆΠ΅Ρ‚Β ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒΒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅, для ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ восприятия ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, Π° Ρ‚Π°ΠΊΠΆΠ΅ нСсколько ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π² ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π΅ ΠΏΠΎΠ΄ Π½ΠΈΠΌ. Π’Ρ‹, вСроятно, Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ Π·Π°Π½ΠΈΠΌΠ°Π»ΠΎ всю ΡˆΠΈΡ€ΠΈΠ½Ρƒ ΠΎΠΊΠ½Π°, Π° изобраТСния Π² ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Π»ΠΈΡΡŒ Π³Π΄Π΅-Ρ‚ΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ с ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ΠΎΠΌ. Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

Вакая вёрстка Ρ…ΠΎΡ€ΠΎΡˆΠΎ выглядит Π½Π° ΡˆΠΈΡ€ΠΎΠΊΠΎΡ„ΠΎΡ€ΠΌΠ°Ρ‚Π½Ρ‹Ρ… экранах Π½ΠΎΡƒΡ‚Π±ΡƒΠΊΠΎΠ² ΠΈ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ПК,Β (Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒΒ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π΄Π΅ΠΌΠΎ-ΠΏΡ€ΠΈΠΌΠ΅Ρ€Β ΠΈ Π½Π°ΠΉΡ‚ΠΈ исходный ΠΊΠΎΠ΄Β Π½Π°Β Github.) ΠœΡ‹ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ CSS, скаТСм Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

  • Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠΌΡƒΒ Ρ‚Π΅Π³Π° mainΒ Π·Π°Π΄Π°Π½Π° максимальная ΡˆΠΈΡ€ΠΈΠ½Π°Β 1200 пиксСлСй. Если ΠΎΠΊΠ½ΠΎ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° Π²Ρ‹ΡˆΠ΅ этой ΡˆΠΈΡ€ΠΈΠ½Ρ‹, Ρ‚ΠΎ содСрТимоС сайта остаСтся Π½Π° 1200 пиксСлСй ΠΈ Ρ†Π΅Π½Ρ‚Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ сСбя Π² доступном пространствС. Если ΠΎΠΊΠ½ΠΎ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° Π½ΠΈΠΆΠ΅ этой ΡˆΠΈΡ€ΠΈΠ½Ρ‹, содСрТимоС устанавливаСтся Π² 100% ΠΎΡ‚ ΡˆΠΈΡ€ΠΈΠ½Ρ‹ экрана.
  • Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² шапкС всСгда Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡΡ‚Π°Π²Π°Ρ‚ΡŒΡΡ Π² Ρ†Π΅Π½Ρ‚Ρ€Π΅ Ρ‚Π΅Π³Π° header Π²Π½Π΅ зависимости ΠΎΡ‚ ΡˆΠΈΡ€ΠΈΠ½Ρ‹ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Если сайт Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π½Π° ΡƒΠ·ΠΊΠΈΡ… экранах, Ρ‚ΠΎ Π²Π°ΠΆΠ½Ρ‹Π΅ Π΄Π΅Ρ‚Π°Π»ΠΈ Π² Ρ†Π΅Π½Ρ‚Ρ€Π΅ изобраТСния (люди) всС Ρ€Π°Π²Π½ΠΎ Π±ΡƒΠ΄ΡƒΡ‚ Π²ΠΈΠ΄Π½Ρ‹. ВсС, Ρ‡Ρ‚ΠΎ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ ΡˆΠΈΡ€ΠΈΠ½Ρ‹ экрана Π±ΡƒΠ΄Π΅Ρ‚ скрыто. Высота шапки 200 пиксСлСй.
  • Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡ Π² содСрТимом Π·Π°Π΄Π°Π½Ρ‹ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ Ссли ΡˆΠΈΡ€ΠΈΠ½Π° body становится мСньшС Ρ‡Π΅ΠΌ ΡˆΠΈΡ€ΠΈΠ½Π° изобраТСния, Ρ‚ΠΎ изобраТСния Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ ΡΠΆΠΈΠΌΠ°Ρ‚ΡŒΡΡ ΠΈ ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ всСгда Π²Π½ΡƒΡ‚Ρ€ΠΈ body ΠΈ Π½Π΅ Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°ΡŽΡ‚Β Π·Π° Π΅Π³ΠΎ ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹.

Всё Ρ…ΠΎΡ€ΠΎΡˆΠΎ, ΠΎΠ΄Π½Π°ΠΊΠΎΒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ просматриваСтС сайт Π½Π° устройствС с нСбольшим экраном – шапка Π²Π½ΠΈΠ·Ρƒ выглядит Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ, Π½ΠΎΒ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΠ½Π° Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽΒ Π²Ρ‹ΡΠΎΡ‚ΡƒΒ ΡΠΊΡ€Π°Π½Π°;Β ΠΏΠ΅Ρ€Π²ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π΅ Π½Π°ΠΏΡ€ΠΎΡ‚ΠΈΠ², выглядит уТасно – ΠΏΡ€ΠΈ Ρ‚Π°ΠΊΠΎΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€Π΅ Π΅Π΄Π²Π° ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ людСй!

Π‘Ρ‹Π»ΠΎ Π±Ρ‹ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π΅Π·Π°Π½Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ изобраТСния, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π²ΠΈΠ΄Π½Ρ‹ Π²Π°ΠΆΠ½Ρ‹Π΅ Π΄Π΅Ρ‚Π°Π»ΠΈ снимка, ΠΊΠΎΠ³Π΄Π° сайт отобраТаСтся Π½Π° ΡƒΠ·ΠΊΠΎΠΌ экранС, ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ срСднСС ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±Ρ€Π΅Π·Π°Π½Π½Ρ‹ΠΌ ΠΈ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ изобраТСниями для экранов срСднСй ΡˆΠΈΡ€ΠΈΠ½Ρ‹, Ρ‚Π°ΠΊΠΈΡ…Β ΠΊΠ°ΠΊ ΠΏΠ»Π°Π½ΡˆΠ΅Ρ‚Ρ‹ – это извСстно ΠΊΠ°ΠΊΒ art direction problem.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π½Π΅Ρ‚ Π½ΡƒΠΆΠ΄Ρ‹ Π²ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ большиС изобраТСния Π½Π° страницу, Ссли она просматриваСтся Π½Π° малСньком экранС мобильного устройства; это называСтся resolution switching problemΒ β€” растровоС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ прСдставляСт собой Ρ‚ΠΎΡ‡Π½ΠΎ-Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ количСство пиксСлСй ΠΏΠΎ ΡˆΠΈΡ€ΠΈΠ½Π΅ ΠΈ высотС; ΠΊΠ°ΠΊ ΠΌΡ‹ успСли Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Π»ΠΈΒ Π²Π΅ΠΊΡ‚ΠΎΡ€Π½ΡƒΡŽ Π³Ρ€Π°Ρ„ΠΈΠΊΡƒ, растровоС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ становится зСрнистым ΠΈ выглядит уТасно, Ссли ΠΎΠ½ΠΎ отобраТаСтся Π² Ρ€Π°Π·ΠΌΠ΅Ρ€Π΅ большСм, Ρ‡Π΅ΠΌ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ (Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Π²Π΅ΠΊΡ‚ΠΎΡ€Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅Ρ‚).Β Π’ Ρ‚ΠΎ ΠΆΠ΅ врСмя, Ссли ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ отобраТаСтся Π² Π³ΠΎΡ€Π°Π·Π΄ΠΎ мСньшСм Ρ€Π°Π·ΠΌΠ΅Ρ€Π΅, Ρ‡Π΅ΠΌ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ, это ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Ρ‚ ΠΊ напрасной Ρ‚Ρ€Π°Ρ‚Π΅ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° β€” ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… устройств Π±ΡƒΠ΄ΡƒΡ‚ Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ большоС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ для ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, вмСсто малСнького для ΠΈΡ… устройства. ИдСально Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΎΒ Ρ„Π°ΠΉΠ»ΠΎΠ²Β Π² Ρ€Π°Π·Π½Ρ‹Ρ… Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΡ…, ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΒ Π½ΡƒΠΆΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π² зависимости ΠΎΡ‚ устройства, ΠΎΠ±Ρ€Π°Ρ‰Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ ΠΊ Π²Π΅Π±-сайту.

Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… устройств с большим Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ экрана Π½ΡƒΠΆΠ½Ρ‹ изобраТСния большСго Ρ‡Π΅ΠΌ оТидаСтся Ρ€Π°Π·ΠΌΠ΅Ρ€Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‡Π΅Ρ‚Ρ‡Π΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π»ΠΎΡΡŒ. По сути это всё одна Π·Π°Π΄Π°Ρ‡Π°Β Π² Ρ€Π°Π·Π½Ρ‹Ρ… условиях.

МоТно ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π²Π΅ΠΊΡ‚ΠΎΡ€Π½Ρ‹Π΅ изобраТСния ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ эти ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹. Π’ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ стСпСни это Ρ‚Π°ΠΊ. Π£ Π½ΠΈΡ… нСбольшой вСс ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€, поэтому ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΡ‡Ρ‚ΠΈ Π² любом случаС. Они Ρ…ΠΎΡ€ΠΎΡˆΠΈ для простой Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ, ΡƒΠ·ΠΎΡ€ΠΎΠ², элСмСнтов интСрфСйса ΠΈ Ρ‚. Π΄. Π‘Π»ΠΎΠΆΠ½Π΅Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π²Π΅ΠΊΡ‚ΠΎΡ€Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ с большим количСством Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ, ΠΊΠ°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π° Ρ„ΠΎΡ‚ΠΎ. РастровыС изобраТСния (JPEG) для нашСго ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° подходят большС.Β 

Π’Π°ΠΊΠΎΠ³ΠΎ Ρ€ΠΎΠ΄Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π½Π΅ Π±Ρ‹Π»ΠΎ Π² Π½Π°Ρ‡Π°Π»Π΅ сущСствования Π²Π΅Π±Π°, Π² ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π΅ 90-Ρ… Π³ΠΎΠ΄ΠΎΠ² – Ρ‚ΠΎΠ³Π΄Π° СдинствСнными устройствами для просмотра Π²Π΅Π±-страниц Π±Ρ‹Π»ΠΈ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹ ΠΈ Π½ΠΎΡƒΡ‚Π±ΡƒΠΊΠΈ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ создатСли Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ² ΠΈ Π°Π²Ρ‚ΠΎΡ€Ρ‹ спСцификаций Π΄Π°ΠΆΠ΅ Π½Π΅ Π·Π°Π΄ΡƒΠΌΡ‹Π²Π°Π»ΠΈΡΡŒΒ ΠΎ создании Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ. Π’Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈΒ ΠΎΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉΒ Π±Ρ‹Π»ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Π½Π΅Π΄Π°Π²Π½ΠΎ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… Π²Ρ‹ΡˆΠ΅.Β ΠžΠ½ΠΈΒ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚Β Π²Π°ΠΌ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρƒ нСсколько ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅, Π½ΠΎ содСрТит Ρ€Π°Π·Π½ΠΎΠ΅ количСство пиксСлСй (resolution switching), ΠΈΠ»ΠΈ Ρ€Π°Π·Π½Ρ‹Π΅ изобраТСния с ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ областями основного изобраТСния (art direction).

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: НовыС возмоТности ΠΎΠ±ΡΡƒΠΆΠ΄Π°ΡŽΡ‚ΡΡ Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅Β β€” srcset/sizes/<picture> β€” всС ΠΎΠ½ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ послСдними вСрсиями соврСмСнных Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ² (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Microsoft Edge, Π½ΠΎ Π½Π΅ Internet Explorer).

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ изобраТСния ΠΎΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²Ρ‹ΠΌΠΈ?

Π’ этом Ρ€Π°Π·Π΄Π΅Π»Π΅ рассмотрим Π΄Π²Π΅ Π²Ρ‹ΡˆΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΈ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ, ΠΊΠ°ΠΊ ΠΈΡ… Ρ€Π΅ΡˆΠΈΡ‚ΡŒ с использованиСм инструмСнтов HTML <img>. Как ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π²Ρ‹ΡˆΠ΅ — ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠ°ΠΊ ΡƒΠΊΡ€Π°ΡˆΠ΅Π½ΠΈΠ΅ сайта ΠΈ установлСно ΠΊΠ°ΠΊ Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽΒ CSS. CSS большС ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ Π΄ΠΈΠ·Π°ΠΉΠ½Π° Ρ‡Π΅ΠΌΒ HTML, ΠΎΠ± этом ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅ ΠΎ CSS.

Π Π°Π·Π½Ρ‹Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ: Π Π°Π·Π½Ρ‹Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹

Π˜Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊΡƒΡŽ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ Ρ€Π΅ΡˆΠ°ΡŽΡ‚ Ρ€Π°Π·Π½Ρ‹Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ?Β Π’ зависимости ΠΎΡ‚ устройства Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, Π½ΠΎ Ρ€Π°Π·Π½Ρ‹Ρ… Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ². ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Π½Π° Π²Ρ‚ΠΎΡ€ΡƒΡŽ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΉ элСмСнт <img> ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ позволяСт ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½Β  ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ:

<img src="elva-fairy-800w.jpg" alt="Elva dressed as a fairy">

Однако Π΅ΡΡ‚ΡŒ Π΄Π²Π° Π½ΠΎΠ²Ρ‹Ρ… Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°Β β€” srcset and sizes β€” ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅Β ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡ с ΠΏΠΎΠΌΠ΅Ρ‚ΠΊΠ°ΠΌΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ Π²Ρ‹Π±Ρ€Π°Π» подходящСС. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π½Π° Github:Β responsive.htmlΒ (Ρ‚Π°ΠΊΠΆΠ΅ смотри источник ΠΊΠΎΠ΄Π°).

<img srcset="elva-fairy-320w.jpg 320w,
Β Β Β Β Β Β Β Β Β Β Β Β  elva-fairy-480w.jpg 480w,
Β Β Β Β Β Β Β Β Β Β Β Β  elva-fairy-800w.jpg 800w"
Β Β Β Β 
Β Β Β Β  src="elva-fairy-800w.jpg" alt="Elva dressed as a fairy">

Атрибуты srcset ΠΈ sizes каТутся слоТными, Π½ΠΎ ΠΎΠ½ΠΈ Π½Π΅ Ρ‚Π°ΠΊ ΠΏΠ»ΠΎΡ…ΠΈ, Ссли Π²Ρ‹ ΠΎΡ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΠΈΡ… ΠΊΠ°ΠΊ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π²Ρ‹ΡˆΠ΅: ΠΊΠ°ΠΆΠ΄Π°ΡΒ Ρ‡Π°ΡΡ‚ΡŒ значСния атрибута с Π½ΠΎΠ²ΠΎΠΉ строки. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ состоит ΠΈΠ· списка элСмСнтов Ρ‡Π΅Ρ€Π΅Π· Π·Π°ΠΏΡΡ‚ΡƒΡŽ, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Ρ‚Ρ€ΠΈ части. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим эти значСния:

srcsetΒ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ названия изобраТСний, срСди ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ Π²Ρ‹Π±Π΅Ρ€Π΅Ρ‚ Π½ΡƒΠΆΠ½ΠΎΠ΅Β ΠΈ ΠΈΡ… Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹.Β ΠŸΠ΅Ρ€Π΅Π΄ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ запятой части значСния Π² Ρ‚Π°ΠΊΠΎΠΌ порядкС:

  1. НазваниС изобраТСния (elva-fairy-480w.jpg.)
  2. ΠŸΡ€ΠΎΠ±Π΅Π».
  3. ΠΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ ΡˆΠΈΡ€ΠΈΠ½Π° ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈΒ Π² пиксСлах (480w) β€” Π·Π°ΠΌΠ΅Ρ‚ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ здСсь ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡΒ w вмСсто px, ΠΊΠ°ΠΊ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ.Β  Π­Ρ‚Π° настоящая ΡˆΠΈΡ€ΠΈΠ½Π° изобраТСния, которая ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ просмотрСна Π² свойствах ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ Π½Π° вашСм ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π° Mac Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² FinderΒ ΠΈ Π½Π°ΠΆΠ°Ρ‚ΡŒΒ Β Cmd + IΒ , Ρ‡Ρ‚ΠΎΠ±Ρ‹ вывСсти ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π½Π° экран).

sizesΒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚Β ΠΏΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ ΠΌΠ΅Π΄ΠΈΠ°-Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡˆΠΈΡ€ΠΈΠ½Ρƒ экрана) ΠΈ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΡˆΠΈΡ€ΠΈΠ½Ρƒ изобраТСния, ΠΊΠΎΠ³Π΄Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ΅ ΠΌΠ΅Π΄ΠΈΠ°-Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ истинно β€” это Ρ‚ΠΎ, ΠΎ Ρ‡Ρ‘ΠΌ ΠΌΡ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ Π²Ρ‹ΡˆΠ΅. Π’ нашСм случаС, ΠΏΠ΅Ρ€Π΅Π΄ каТдой запятой ΠΌΡ‹ пишСм:

  1. МСдиа-условиС ((max-width:480px)) β€” Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ большС ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΎΠ± этом Π²Β CSS topic, Π½ΠΎ сСйчас Π΄Π°Π²Π°ΠΉΡ‚Π΅ скаТСм, Ρ‡Ρ‚ΠΎ ΠΌΠ΅Π΄ΠΈΠ°-условиС описываСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ΅ состояниС экрана. Π’ этом случаС, ΠΌΡ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ «ΠΊΠΎΠ³Π΄Π° viewport width мСньшС ΠΈΠ»ΠΈΒ Ρ€Π°Π²Π΅Π½ 480 пиксСлям».
  2. ΠŸΡ€ΠΎΠ±Π΅Π».
  3. Π¨ΠΈΡ€ΠΈΠ½Ρƒ слота (Π² ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π΅ «width of the slot»), Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΡƒΡŽ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΠΊΠΎΠ³Π΄Π° ΠΌΠ΅Π΄ΠΈΠ°-условиС истинно. (440px)

Note: Для ΡˆΠΈΡ€ΠΈΠ½Ρ‹ слота, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒΒ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹Π΅ значСния (px, em) ΠΈΠ»ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Β ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠΊΠ½Π° просмотра (vw),Β Π½ΠΎ НЕ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Ρ‹. Π’Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρƒ послСднСго слота Π½Π΅Ρ‚ ΠΌΠ΅Π΄ΠΈΠ°-условия — это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ станСт Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌ, Ссли Π½ΠΈ ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… ΠΌΠ΅Π΄ΠΈΠ°-условий Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ истинно.Β Π‘Ρ€Π°ΡƒΠ·Π΅Ρ€ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅Ρ‚ всС ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ послС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ совпадСния, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄ΡŒΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½Π΅Π΅ ΠΊ порядку ΠΈΡ… объявлСния.

Π˜Ρ‚Π°ΠΊ, с Ρ‚Π°ΠΊΠΈΠΌΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°ΠΌΠΈ, Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ сдСлаСт ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

  1. ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚ Π½Π° ΡˆΠΈΡ€ΠΈΠ½Ρƒ экрана устройства.
  2. ΠŸΠΎΠΏΡ‹Ρ‚Π°Π΅Ρ‚ΡΡ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ подходящСС ΠΌΠ΅Π΄ΠΈΠ°-условиС из списка Π² Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π΅Β sizes.
  3. ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚ Π½Π° Ρ€Π°Π·ΠΌΠ΅Ρ€ слота ΠΊ этому ΠΌΠ΅Π΄ΠΈΠ°-запросу.
  4. Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ· списка из srcset, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅Β ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€, Ρ‡Ρ‚ΠΎ ΠΈ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ слот, ΠΈΠ»ΠΈ, Ссли Ρ‚Π°ΠΊΠΎΠ³ΠΎ Π½Π΅Ρ‚, Ρ‚ΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅Β Π±ΠΎΠ»ΡŒΡˆΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ слота.Β 

И это всё! На Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚, Ссли ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ с viewport width 480px Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ страницу, ΠΌΠ΅Π΄ΠΈΠ°-условиС (max-width: 480px)Β Π±ΡƒΠ΄Π΅Ρ‚ истинно, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π±Ρ€Π°Π½ слот 440px, Ρ‚ΠΎΠ³Π΄Π° Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Β elva-fairy-480w.jpg, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ свойство ΡˆΠΈΡ€ΠΈΠ½Ρ‹Β (480w) Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π±Π»ΠΈΠ·ΠΊΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Β 440px. Условно, ΠΈΠ·ΠΎΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 800pxΒ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Π½Π° дискС 128KB,Β Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ вСрсия Π² 480px Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 63KB β€” экономия Π² 65KB. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Ρƒ вас страница, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ это Ρ‚Π΅Ρ…Π½ΠΈΠΊΡƒ, Π²Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚Π΅Β ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΠΏΡ€ΠΎΠΏΡƒΡΠΊΠ½ΡƒΡŽ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ.

Π‘Ρ‚Π°Ρ€Ρ‹Π΅ Π±Ρ€ΡƒΠ·Π΅Ρ€Ρ‹, Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ эти возмоТности, просто ΠΏΡ€ΠΎΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΡŽΡ‚ ΠΈΡ… ΠΈ Π²ΠΎΠ·ΡŒΠΌΡƒΡ‚ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ адрСсу ΠΈΠ· Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° src.

Note: Π’ элСмСнта Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Β <head>Β Π²Ρ‹ Π½Π°ΠΉΠ΄Ρ‘Ρ‚Π΅ строку <meta name="viewport" content="width=device-width">: это заставляСт ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ viewport width для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ web-страниц (Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ нСчСстны насчёт своСго viewport width, вмСсто этого ΠΎΠ½ΠΈ Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ страницу Π² большСм viewport width, Π° Π·Π°Ρ‚Π΅ΠΌ ΡƒΠΆΠΈΠΌΠ°ΡŽΡ‚ Π΅Ρ‘, Ρ‡Ρ‚ΠΎ Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ сказываСтся Π½Π° Π½Π°ΡˆΠΈΡ… ΠΎΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²Ρ‹Ρ… изобраТСниях или Π΄ΠΈΠ·Π°ΠΉΠ½Π΅. ΠœΡ‹ расскаТСм Π²Π°ΠΌ ΠΎΠ± этом большС Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅.)

ΠŸΠΎΠ»Π΅Π·Π½Ρ‹Π΅ инструмСнты Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°

Π•ΡΡ‚ΡŒ нСсколько полСзных браузСрных инструмСнтов разработчика,Β Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΌΠΎΡ‡ΡŒ с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠΉ ΡˆΠΈΡ€ΠΈΠ½Ρ‹ слотов ΠΈ Ρ‚. Π΄., ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Когда я Ρ€Π°Π±ΠΎΡ‚Π°Π» Π½Π°Π΄ Π½ΠΈΠΌΠΈ, я сначала Π·Π°Π³Ρ€ΡƒΠΆΠ°Π» Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ ΠΌΠΎΠ΅Π³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° (not-responsive.html), Π·Π°Ρ‚Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π»Β Responsive Design View (Tools > Web Developer > Responsive Design View), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСм Π²Π·Π³Π»ΡΠ½ΡƒΡ‚ΡŒ Π½Π° layout вашСй Π²Π΅Π±-страницы как Ссли Π±Ρ‹ ΠΎΠ½ΠΈ Π±Ρ‹Π»ΠΈ просмотрСны Ρ‡Π΅Ρ€Π΅Π· устройства с различными размСрами экрана.

Π― устанавливал viewport width Π½Π° 320px, Π·Π°Ρ‚Π΅ΠΌ Π½Π° 480px; для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ я обращался ΠΊΒ DOM Inspector, ΠΊΠ»ΠΈΠΊΠ°Π» ΠΏΠΎ элСмСнту <img> Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΡ‹ заинтСрСсованы, Π΄Π°Π»Π΅Π΅ смотрСл Ρ€Π°Π·ΠΌΠ΅Ρ€ Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Box Model с ΠΏΡ€Π°Π²ΠΎΠΉ стороны дисплСя. Π­Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π΄Π°Ρ‚ΡŒ Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ ΡˆΠΈΡ€ΠΈΠ½Ρƒ изобраТСния

А дальшС Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π»ΠΈ srcset Ссли ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Β viewport width Ρ‚Π°ΠΊΠΈΠΌ ΠΊΠ°ΠΊΠΈΠΌ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΡƒΠ·ΠΊΡƒΡŽ ΡˆΠΈΡ€ΠΈΠ½Ρƒ), ΠΎΡ‚ΠΊΡ€Ρ‹Π² Network Inspector (Tools > Web Developer > Network) ΠΈ Π·Π°Ρ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ страницу. Π­Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π΄Π°Ρ‚ΡŒ Π²Π°ΠΌ ΠΏΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ рСсурсов ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Ρ‹ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ (ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ) web-страницу, ΠΈ Ρ‚ΡƒΡ‚ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ Ρ„Π°ΠΉΠ» изобраТСния Π±Ρ‹Π» Π²Ρ‹Π±Ρ€Π°Π½ для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ.

ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ: ΠžΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€, Ρ€Π°Π·Π½Ρ‹Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ

Если Π²Ρ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚Π΅ нСсколько Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ экрана, Π½ΠΎ всС видят вашС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈ Ρ‚ΠΎΠΌ ΠΆΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π΅ Π½Π° экранС, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ΡŒ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρƒ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ с подходящим Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ srcset с x-дисриптором ΠΈ Π±Π΅Π·Β sizes β€” Π±ΠΎΠ»Π΅Π΅ простой синтаксис! Найти ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠ°ΠΊ это выглядит ΠΌΠΎΠΆΠ½ΠΎ здСсь srcset-resolutions.html (смотритС Ρ‚Π°ΠΊΠΆΠ΅ the source code):

<img srcset="elva-fairy-320w.jpg,
Β Β Β Β Β Β Β Β Β Β Β Β  elva-fairy-480w.jpg 1.5x,
Β Β Β Β Β Β Β Β Β Β Β Β  elva-fairy-640w.jpg 2x"
Β Β Β Β  src="elva-fairy-640w.jpg" alt="Elva dressed as a fairy">

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, ΠΊ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ примСняСтся CSS Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ ΡˆΠΈΡ€ΠΈΠ½Ρƒ Π² 320 пиксСлСй Π½Π° экранС (Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°Π·Ρ‹Π²Π°ΠΌΠΎΠ΅ CSS-пиксСлями):

img {
  width: 320px;
}

Π’ этом случаС, Π½Π΅Ρ‚ нСобходимости Π² sizesΒ β€” Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ просто опрСдСляСт Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ дисплСй ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ подходящСС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² соотвСтствии с srcset. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ссли устройство, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΠΎΠ΅ ΠΊ страницС, ΠΈΠΌΠ΅Π΅Ρ‚ дисплСй стандартного/Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ΄ΠΈΠ½ пиксСль устройства прСдставляСт (соотвСтсвтуСт) ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ CSS-пиксСль, Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Β elva-fairy-320w.jpg (ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ x1, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π²Π°ΠΌ Π½Π΅ Π½Π°Π΄ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π΅Π³ΠΎ). Если устройство ΠΈΠΌΠ΅Π΅Ρ‚ высокоС Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, Π² Π΄Π²Π° пиксСля устройства Π½Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ CSS-пиксСль ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅, Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Β elva-fairy-640w.jpg. 640px ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ 93KB, Ρ‚ΠΎΠ³Π΄Π° Ρ‚Π°ΠΊΒ 320px ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ — всСго 39KB.

Π₯удоТСствСнноС ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅

Подводя ΠΈΡ‚ΠΎΠ³ΠΈ,Β ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° худоТСствСнного оформлСния Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΠΆΠ΅Π»Π°Π½ΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΎ соотвСтствовало Ρ€Π°Π·Π½Ρ‹ΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°ΠΌ отобраТСния изобраТСния. НапримСр, Ссли Π½Π° Π²Π΅Π±-сайтС отобраТаСтся большой ΠΏΠ΅ΠΉΠ·Π°ΠΆΠ½Ρ‹ΠΉ снимок с Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ посСрСдинС ΠΏΡ€ΠΈ просмотрС Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ Π½Π° Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½ΠΎΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅, Ρ‚ΠΎ ΠΏΡ€ΠΈ просмотрС Π²Π΅Π±-сайта Π² мобильном Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ ΠΎΠ½ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ΡΡ; ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΏΠ»ΠΎΡ…ΠΎ Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ мСлСньким ΠΈ Π΅Π³ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ тяТСло Ρ€Π°Π·Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ. ВСроятно Π±ΡƒΠ΄Π΅Ρ‚ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΌΠ΅Π½ΡŒΡˆΡƒΡŽ ΠΏΠΎΡ€Ρ‚Ρ€Π΅Ρ‚Π½ΡƒΡŽ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² мобильной вСрсии Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ отобраТаСтся Π² ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠΈ (Π² ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ΅Π½ΠΈΠΈ). Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ <picture> позволяСт Π½Π°ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅.

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡΡΡŒ ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠΌΡƒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ not-responsive.html, ΠΌΡ‹ ΠΈΠΌΠ΅Π΅ΠΌ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΎΡ‡Π΅Π½ΡŒ нуТдаСтся Π² худоТСствСнном ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠΈ:

<img src="elva-800w.jpg" alt="Chris standing up holding his daughter Elva">

Π”Π°Π²Π°ΠΉΡ‚Π΅ исправим это ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ элСмСнта <picture>! Π’Π°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ <video> ΠΈ <audio>, элСмСнт <picture> это ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΠ° содСрТащая Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ количСство элСмСнтов <source> ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρƒ Π²Ρ‹Π±ΠΎΡ€ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ€Π°Π·Π½Ρ‹Ρ… источников, Π² сопровоТдаСнии ΠΊΡ€Π°ΠΉΠ½Π΅ Π²Π°ΠΆΠ½ΠΎΠ³ΠΎ элСмСнта <img>. Код responsive.html выглядит Ρ‚Π°ΠΊ:

<picture>
  <source media="(max-width: 799px)" srcset="elva-480w-close-portrait.jpg">
Β  <source media="(min-width: 800px)" srcset="elva-800w.jpg">
Β  <img src="elva-800w.jpg" alt="Chris standing up holding his daughter Elva">
</picture>
  • Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Β <source>Β ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚Β Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Β media, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит ΠΌΠ΅Π΄ΠΈΠ°-условиС;Β ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ этих условий опрСдяСтся, ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½ΠΎ. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС, Ссли ΡˆΠΈΡ€ΠΈΠ½Π°Β viewport’a составит 799px ΠΈΠ»ΠΈ мСньшС, Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ элСмСнта <source>. Если ΡˆΠΈΡ€ΠΈΠ½Π° составит 800px ΠΈ Π±ΠΎΠ»Π΅Π΅Β β€”Β Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ.
  • Атрибут srcset содСрТит ΠΏΡƒΡ‚ΡŒ изобраТСния, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½ΠΎ. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ, ΠΊΠ°ΠΊ ΠΈ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ с <img> Π²Ρ‹ΡˆΠ΅, <source> ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒΒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹Β srcsetΒ ΠΈΒ sizes с нСсколько ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ изобраТниями. Π’Π°ΠΊ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎΒ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π³Ρ€ΡƒΠΏΠΏΡƒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉΒ Π²Π½ΡƒΡ‚Ρ€ΠΈ элСмСнта <picture>, Π½ΠΎ ΠΈ Π·Π°Π΄Π°Ρ‚ΡŒ Π³Ρ€ΡƒΠΏΠΏΡƒ прСдписаний для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ…. Π’ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π²Ρ‹ вряд Π»ΠΈ Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ этим ΠΎΡ‡Π΅Π½ΡŒΒ Ρ‡Π°ΡΡ‚ΠΎ.
  • Вы всСгда долТны ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ элСмСнт <img>, с srcΒ ΠΈΒ alt, прямо ΠΏΠ΅Ρ€Π΅Π΄Β </picture>, ΠΈΠ½Π°Ρ‡Π΅ изобраТСния Π½Π΅ появятся. Π­Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π½Π° Ρ‚ΠΎΡ‚ случай, ΠΊΠΎΠ³Π΄Π° Π½ΠΈ ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΠΌΠ΅Π΄ΠΈΠ°-условий нС удовлСтворСно (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ссли Π±Ρ‹ Π²Ρ‹ ΡƒΠ±Ρ€Π°Π»ΠΈΒ Π²Ρ‚ΠΎΡ€ΠΎΠΉ элСмСнт <source>)Β ΠΈΠ»ΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ элСмСнт <picture>.

Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ позволяСт Π½Π°ΠΌ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΎΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π½Π° ΡˆΠΈΡ€ΠΎΠΊΠΈΡ…, ΠΈ Π½Π° ΡƒΠ·ΠΊΠΈΡ… экранах, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π’Π°ΠΌ слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ mediaΒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ худоТСствСнном ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠΈ; ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚Π΅Β media, Π½Π΅ примСняйтС ΠΌΠ΅Π΄ΠΈΠ°-условия с Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠΌΒ sizes.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ это нСльзя ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ посрСдством CSS ΠΈΒ JavaScript?

Когда Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ страницу, ΠΎΠ½ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π³Π»Π°Π²Π½Ρ‹Π΅ парсСр Π½Π°Ρ‡Π°Π» Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ CSS ΠΈ JavaScript. Π’ срСднСм, эта Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ° ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ врСмя Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ страницы Π½Π° 20%. Но ΠΎΠ½Π° Π½Π΅ Ρ‚Π°ΠΊ ΠΏΠΎΠ»Π΅Π·Π½Π° Π² случаС с Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ изобраТСниями, поэтому ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ Ρ‚Π°ΠΊΠΈΠ΅Β Ρ€Π΅Ρˆeния, ΠΊΠ°ΠΊΒ srcset. НапримСр, Π²Ρ‹ Π½Π΅ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ элСмСнт <img>, ΠΏΠΎΡ‚ΠΎΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΡˆΠΈΡ€ΠΈΠ½Ρƒ viewport’Π° ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈΒ JavaScript ΠΈ динамичСски ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ источник изобраТСния. Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π±Ρ‹Π»ΠΎ Π±Ρ‹Β ΡƒΠΆΠ΅ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½ΠΎ ΠΊΒ Ρ‚ΠΎΠΌΡƒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΊΠ°ΠΊ Π²Ρ‹ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΠ»ΠΈΒ Π΅Π³ΠΎ ΠΌΠ΅Π½ΡŒΡˆΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ, Ρ‡Ρ‚ΠΎ ΠΏΠ»ΠΎΡ…ΠΎ.

Π‘ΠΌΠ΅Π»ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ соврСмСнныС Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ

Π•ΡΡ‚ΡŒ нСсколько Π½ΠΎΠ²Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² изобраТСния (Ρ‚Π°ΠΊΠΈΡ…, ΠΊΠ°ΠΊΒ WebP ΠΈΒ JPEG-2000), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΡƒΠ΄Π°Π΅Ρ‚ΡΡΒ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒΒ Π²Ρ‹ΡΠΎΠΊΠΎΠ΅ качСство ΠΏΡ€ΠΈ ΠΌΠ°Π»ΠΎΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€Π΅ Ρ„Π°ΠΉΠ»Π°. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π±Ρ€Π°Π·ΡƒΠ΅Ρ€Ρ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ ΠΈΡ… Π½Π΅ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ.

<picture> позволяСт Π½Π°ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π² старых Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ…. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ MIME-Ρ‚ΠΈΠΏ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°Β type, Π±Ρ€Π°Π·ΡƒΠ΅Ρ€ сразу ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Β Ρ„Π°ΠΉΠ»Ρ‹ Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° ΠΊΠ°ΠΊ Π½Π΅ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅:

<picture>
  <source type="image/svg+xml" srcset="pyramid.svg">
  <source type="image/webp" srcset="pyramid.webp"> 
  <img src="pyramid.png" alt="regular pyramid built from four equilateral triangles">
</picture>
  • НС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Β media, Ссли Π²Π°ΠΌ Π½Π΅ нуТно худоТСствСнноС ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅.
  • Π’ элСмСнтС <source>Β ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡƒΡ‚ΡŒ ΠΊ изобраТСниям Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΊΠ°Π·Π°Π½ Π²Β type.
  • Как ΠΈ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ…, ΠΏΡ€ΠΈ нСобходимости Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΒ srcset and sizes.

АктивноС ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅: рСализация собствСнных Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ

Π‘Π°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ создайтС ΠΎΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²ΠΎΠ΅, худоТСствСнно ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½Π½ΠΎΠ΅ изобраТСниС для ΡˆΠΈΡ€ΠΎΠΊΠΈΡ… ΠΈ ΡƒΠ·ΠΊΠΈΡ… экранов, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡΒ <picture> ΠΈΒ srcset.

  1. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽΒ HTML-Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΡƒ.
  2. НайдитС ΡˆΠΈΡ€ΠΎΠΊΠΎΡ„ΠΎΡ€ΠΌΠ°Ρ‚Π½ΠΎΠ΅ ΠΏΠ΅ΠΉΠ·Π°ΠΆΠ½ΠΎΠ΅ Ρ„ΠΎΡ‚ΠΎ с ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ яркой Π΄Π΅Ρ‚Π°Π»ΡŒΡŽ. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π²Π΅Π±-Π²Π΅Ρ€ΡΠΈΡŽ изобраТСния посрСдством графичСского Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ°, ΠΏΠΎΡ‚ΠΎΠΌ ΠΎΠ±Ρ€Π΅ΠΆΡŒΡ‚Π΅ Π΅Π³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΡ€ΡƒΠΏΠ½Π΅Π΅ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Π΄Π΅Ρ‚Π°Π»ΡŒ, ΠΈ создайтС Π²Ρ‚ΠΎΡ€ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Β (ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ 480px достаточно).
  3. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ элСмСнт <picture> для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с худоТСствСнно ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½Π½ΠΎΠΉΒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΎΠΉ.
  4. ΠžΠ±ΠΎΠ·Π½Π°Ρ‡ΡŒΡ‚Π΅ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΎΒ Ρ€Π°Π·Π½Ρ‹Ρ…Β Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ²Β Π΄Π»Ρ этой ΠΊΠ°Ρ€Ρ‚ΠΈΠΊΠ½ΠΈ.
  5. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅Β srcset/size для описания ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΏΡ€ΠΈ смСнС Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² viewport’Π°

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ инструмСнты Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ смСну Ρ€Π°Π·ΠΌΠ΅Ρ€Π°, ΠΊΠ°ΠΊ Π±Ρ‹Π»ΠΎ описано Π²Ρ‹ΡˆΠ΅.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π­Ρ‚ΠΎ всС для ΠΎΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ — ΠΌΡ‹ надССмся,Π²Π°ΠΌ ΠΏΠΎΠ½Ρ€Π°Π²ΠΈΠ»ΠΎΡΡŒ ΠΈΠ³Ρ€Π°Ρ‚ΡŒ с этими Π½ΠΎΠ²Ρ‹ΠΌΠΈ тСхнологиями. Напомним, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ здСсь обсуТдали Π΄Π²Π΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹:

  • Π₯удоТСствСнноС ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅: ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ°,ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π΅Π·Π°Π½Π½Ρ‹Π΅ изобраТСния для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΌΠ°ΠΊΠ΅Ρ‚ΠΎΠ² — Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π»Π°Π½Π΄ΡˆΠ°Ρ„Ρ‚Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ для ΠΏΠΎΠ»Π½Ρ‹Ρ… экранов Π½Π° ΠΌΠ°ΠΊΠ΅Ρ‚Π΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° ΠΈ ΠΏΠΎΡ€Ρ‚Ρ€Π΅Ρ‚Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅,ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΉ основной ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, для мобильного ΠΌΠ°ΠΊΠ΅Ρ‚Π°.Всё это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ <picture> элСмСнта.
  • ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ: ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ°,ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ мСньшСго Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π½Π° устройствах с ΡƒΠ·ΠΊΠΈΠΌ экраном, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΈΠΌ Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹ ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹Π΅ изобраТСния, ΠΊΠ°ΠΊ Π½Π° Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Ρ… дисплСях , Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ,Ρ‡Ρ‚ΠΎ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ изобраТСния Ρ€Π°Π·Π½ΠΎΠ³ΠΎ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ для экранов с высокой/Π½ΠΈΠ·ΠΊΠΎΠΉ ΠΏΠ»ΠΎΡ‚Π½ΠΎΡΡ‚ΡŒΡŽ.Π­Ρ‚Ρƒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π²Π΅ΠΊΡ‚ΠΎΡ€Π½ΠΎΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ (SVG ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ), ΠΈ srcset ΠΈ sizes Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹.

Π­Ρ‚ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅ подводит нас ΠΊ ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΡŽ Ρ†Π΅Π»ΠΎΠ³ΠΎ модуля «ΠœΡƒΠ»ΡŒΡ‚имСдия ΠΈ встраиваниС»! ЕдинствСнноС, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ сСйчас ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ Ρ€Π°Π½ΡŒΡˆΠ΅Β — это ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°ΡˆΠ΅Β ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½ΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊ Π²Ρ‹ усвоили ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π». Π’Π΅ΡΠ΅Π»ΠΈΡ‚Π΅ΡΡŒ.

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Ρ‚Π°ΠΊ ΠΆΠ΅

АдаптивныС изобраТСния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ CSS


Π’ этом нСбольшом ΡƒΡ€ΠΎΠΊΠ΅, ΠΌΡ‹ рассмотрим ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠ΅ способы создания Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ CSS. БущСствуСт Π½Π΅ ΠΌΠ°Π»ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ изобраТСния Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ, всС ΠΎΠ½ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ ΠΈ ΠΏΠΎ слоТности, ΠΈ стСпСни ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌΠΈ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ слоТного ΠΏΡƒΡ‚ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΎΠΊ, являСтся использованиС Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° srcset, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ трСбуСтся нСсколько ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, большС Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌΠΈ.


Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ спСцификации ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π½Π°ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ изобраТСния, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π½Π° страницах сайтов, Π³ΠΈΠ±ΠΊΠΈΠΌΠΈ ΠΈ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‰ΠΈΠΌΠΈΡΡ Π½Π° экранах Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… устройств, для этого достаточно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ всСго лишь нСсколько свойств ΠΈΠ· ΠΎΠ±ΠΎΠΉΠΌΡ‹ CSS.

		
 <img {
  width: 100%;
  height: auto;
}>	

Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ значСния Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ изобраТСния


Начнём с рассмотрСния Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°, ΠΊΠΎΠ³Π΄Π° Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½Ρ‹Π΅ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π² записях, ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Π±Π»ΠΎΠΊΠ°Ρ…, ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ. НапримСр, Ρƒ нас Π΅ΡΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΌΡ‹ Π·Π°Π΄Π°Π»ΠΈ Π±Π°Π·ΠΎΠ²ΡƒΡŽ ΡˆΠΈΡ€ΠΈΠ½Ρƒ width: 96%; ΠΈ выставили ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ ΡˆΠΈΡ€ΠΈΠ½Ρƒ Π² max-width: 960px;, Π² этом Π±Π»ΠΎΠΊΠ΅ Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ вывСсти Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅. Для этого элСмСнту <img > Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° опрСдСляСм ΡˆΠΈΡ€ΠΈΠ½Ρƒ Π² 100%, Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ Π΅Π³ΠΎ ΡˆΠΈΡ€ΠΈΠ½Π° всСгда Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π½Π° ΡˆΠΈΡ€ΠΈΠ½Π΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°, нСзависимо ΠΎΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° области просмотра. Высоту, соотвСтствСнно, ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΠΌ Π² автоматичСский Ρ€Π΅ΠΆΠΈΠΌ, Π² ΠΈΡ‚ΠΎΠ³Π΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΠΏΡ€ΠΎΠΏΠΎΡ€Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ.

HTML:

	
 <div>
   <img src="image01.jpg" />
 </div>

CSS:

		
div.container {
  width: 96%;
  max-width: 960px;
  margin: 0 auto; /* Ρ†Π΅Π½Ρ‚Ρ€ΠΈΡ€ΡƒΠ΅ΠΌ основной ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ */
}
img {
  width: 100%; /* ΡˆΠΈΡ€ΠΈΠ½Π° ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ */
  height: auto; /* высота ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ */
}


ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ <img> элСмСнт Π±ΡƒΠ΄Π΅Ρ‚ Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½Ρ‹ΠΌ, Π΄Π°ΠΆΠ΅ Ссли Π±Ρ‹Π»ΠΈ Π·Π°Π΄Π°Π½Ρ‹ фиксированныС значСния HTML-Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² ΡˆΠΈΡ€ΠΈΠ½Ρ‹ ΠΈ высоты нСпосрСдствСнно Π² Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ΅.

ИспользованиС тэга HTML5 picture для Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ

ΠžΡ‚ Π°Π²Ρ‚ΠΎΡ€Π°: Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡ Π΄Π°Π²Π½ΠΎ извСстны ΠΊΠ°ΠΊ самыС Ρ‚Ρ€ΡƒΠ΄ΠΎΠ΅ΠΌΠΊΠΈΠ΅ аспСкты Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ Π²Π΅Π±-Π΄ΠΈΠ·Π°ΠΉΠ½Π°. БСгодня, ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ элСмСнт picture Π² качСствС Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ прямо сСйчас.

Β 

ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ»Π°: ВалСрия Заруцкая

МСня Π·ΠΎΠ²ΡƒΡ‚ ВалСрия, я ΠΆΠΈΠ²Ρƒ Π² КиСвС. ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊ Π² ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΌ, сСйчас я Ρ„Ρ€ΠΎΠ½Ρ‚-энд Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ. НСплохо владСю HTML5 ΠΈ CSS3, Twitter bootstrap, Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎΠΉ вСрсткой, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽ с jQuery, Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΠ·ΡƒΡ‡Π°ΡŽ чистый JavaScript, имСю прСдставлСниС ΠΎΠ± MVC Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°Ρ…, Π² частности Ruby on Rails.

Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, сама ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°

Π’Ρ€Π΅ΠΌΠ΅Π½Π° Π΄ΠΈΠ·Π°ΠΉΠ½Π° сайтов с фиксированной ΡˆΠΈΡ€ΠΈΠ½ΠΎΠΉ ΠΈ ΠΏΠΎΠ»Π½Ρ‹ΠΌ соотвСтствиСм ΠΌΠ°ΠΊΠ΅Ρ‚Ρƒ Π΄Π°Π²Π½ΠΎ ΠΏΠΎΠ·Π°Π΄ΠΈ. Π’ Π½Ρ‹Π½Π΅ΡˆΠ½Π΅Π΅ врСмя ΡˆΠΈΡ€ΠΎΠΊΠΎΡ„ΠΎΡ€ΠΌΠ°Ρ‚Π½Ρ‹Ρ… ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΎΠ², ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-тСлСвидСния, ΠΏΠ»Π°Π½ΡˆΠ΅Ρ‚ΠΎΠ² ΠΈ смартфонов Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² наш Π΄ΠΈΠ·Π°ΠΉΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π² расчСт Π»ΡŽΠ±Ρ‹Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ – ΠΎΡ‚ 320 пиксСлСй ΠΈ Π΄ΠΎ 7680.

ВсС эти Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€Π΅Π΄ΡŠΡΠ²Π»ΡΡŽΡ‚ трСбования ΠΊ изобраТСниям – ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ€Π°ΡΡ‚ΡΠ³ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ всСму Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΡŽ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ, Ρ‚.ΠΊ. Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Π²Π΅ΠΊΡ‚ΠΎΡ€Π½ΠΎΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ, Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΡˆΠΈΡ€ΠΈΠ½Ρƒ Π² пиксСлях, которая Π½Π΅ измСняСтся.

Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΆΠ΅ Π΄Π΅Π»Π°Ρ‚ΡŒ?

ΠΡ‹Π½Π΅ΡˆΠ½Π΅Π΅, самоС распространСнноС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π²Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ Π² CSS ΠΊΠΎΠ΄Π΅ практичСски любого Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ сайта:

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ курс ΠΏΠΎ вСрсткС Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ сайта с нуля!

Π˜Π·ΡƒΡ‡ΠΈΡ‚Π΅ курс ΠΈ ΡƒΠ·Π½Π°ΠΉΡ‚Π΅, ΠΊΠ°ΠΊ Π²Π΅Ρ€ΡΡ‚Π°Ρ‚ΡŒ соврСмСнныС сайты Π½Π° HTML5 ΠΈ CSS3

Π£Π·Π½Π°Ρ‚ΡŒ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅

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

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

Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ настройку max-width: 100%; для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π΄Π°Π²Π°Ρ‚ΡŒΡΡ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°. Если Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ станСт мСньшС ΡˆΠΈΡ€ΠΈΠ½Ρ‹ изобраТСния, ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Ρ‚ΡŒΡΡ вмСстС с Π½ΠΈΠΌ. Настройка height: auto; присутствуСт для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΠΈ ΡΠΎΡ…Ρ€Π°Π½ΡΠ»ΠΈΡΡŒ ΠΏΡ€ΠΎΠΏΠΎΡ€Ρ†ΠΈΠΈ изобраТСния.

Одно Β«Ρ€Π΅Π·ΠΈΠ½ΠΎΠ²ΠΎΠ΅Β» ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ для всСх устройств

Π­Ρ‚ΠΎ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΡŽΡ‡Π΅, позволяя Π½Π°ΠΌ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈ Ρ€Π°Π·Π½Ρ‹Ρ… ΠΎΠ±ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΡΡ‚Π²Π°Ρ…. Но, ΠΎΠ½ΠΎ Π½Π΅ позволяСт Π½Π°ΠΌ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ изобраТСния для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΎΠ±ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΡΡ‚Π².

НовоС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅: тэг picture

picture β€” это Π½ΠΎΠ²Ρ‹ΠΉ элСмСнт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΡ‚Π°Ρ‚ΡŒ Ρ‡Π°ΡΡ‚ΡŒΡŽ HTML5. Он Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ускорит процСсс размСщСния Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°ΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ элСмСнтов audio ΠΈ video. Он ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ нСсколько элСмСнтов source, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ вмСстС с условиями, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒΡΡ.

Он ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π²Π°ΠΌ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ изобраТСния Π² зависимости ΠΎΡ‚:

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² ΠΌΠ΅Π΄ΠΈΠ°-запроса, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, высота ΠΎΠΊΠ½Π° просмотра, ΡˆΠΈΡ€ΠΈΠ½Π°, ориСнтация

ΠŸΠ»ΠΎΡ‚Π½ΠΎΡΡ‚ΡŒ пиксСлСй

Π§Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅:

Π—Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ изобраТСния ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ², с максимальной ΠΎΡ‚Π΄Π°Ρ‡Π΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΈΠΌΠ΅ΡŽΡ‰ΡƒΡŽΡΡ ΡˆΠΈΡ€ΠΈΠ½Ρƒ ΠΊΠ°Π½Π°Π»Π°.

Π—Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ изобраТСния с Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠΉ ΠΎΠ±Ρ€Π΅Π·ΠΊΠΎΠΉ ΠΈ пропорциями Π² соотвСтствии с ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ для экранов Ρ€Π°Π·Π½ΠΎΠΉ ΡˆΠΈΡ€ΠΈΠ½Ρ‹.

Π—Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ изобраТСния с высоким Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ для экранов с высокой ΠΏΠ»ΠΎΡ‚Π½ΠΎΡΡ‚ΡŒΡŽ пиксСлСй.

Π Π°Π·Π½Ρ‹Π΅ изобраТСния Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ΡΡ Π² зависимости ΠΎΡ‚ ΠΎΠ±ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΡΡ‚Π²

Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ элСмСнт picture?

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ шаги для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с элСмСнтом picture это:

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… ΠΈ Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… тэгов picture.

Π’Π½ΡƒΡ‚Ρ€ΠΈ этих тэгов создайтС элСмСнт source для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ запроса, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ произвСсти.

Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ media Π²Π°ΡˆΠ΅ΠΌΡƒ запросу для Ρ‚Π°ΠΊΠΈΡ… Π²Π΅Ρ‰Π΅ΠΉ ΠΊΠ°ΠΊ высота ΠΎΠΊΠ½Π° просмотра, ΡˆΠΈΡ€ΠΈΠ½Π°, ориСнтация, ΠΈ Ρ‚.Π΄.

Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ srcset с ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ Ρ„Π°ΠΉΠ»Π° изобраТСния для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ.

Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ² Π²Π°ΡˆΠ΅ΠΌΡƒ srcset Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρƒ, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ экраны с высокой ΠΏΠ»ΠΎΡ‚Π½ΠΎΡΡ‚ΡŒΡŽ пиксСлСй, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π Π΅Ρ‚ΠΈΠ½Π°.

Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ элСмСнт img Π² качСствС запасного Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°.

Π’ΠΎΡ‚ нСслоТный ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ провСряСт, Ссли ΠΎΠΊΠ½ΠΎ просмотра мСньшС 768 пиксСлСй, ΠΈ Π² случаС соотвСтствия Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ мСньшСго Ρ€Π°Π·ΠΌΠ΅Ρ€Π°:

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ курс ΠΏΠΎ вСрсткС Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ сайта с нуля!

Π˜Π·ΡƒΡ‡ΠΈΡ‚Π΅ курс ΠΈ ΡƒΠ·Π½Π°ΠΉΡ‚Π΅, ΠΊΠ°ΠΊ Π²Π΅Ρ€ΡΡ‚Π°Ρ‚ΡŒ соврСмСнныС сайты Π½Π° HTML5 ΠΈ CSS3

Π£Π·Π½Π°Ρ‚ΡŒ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅

<picture> <source srcset=»smaller.jpg» media=»(max-width: 768px)»> <source srcset=»default.jpg»> <img srcset=»default.jpg» alt=»My default image»></picture>

<picture>Β Β Β Β <source srcset=»smaller.jpg» media=»(max-width: 768px)»>Β Β Β Β <source srcset=»default.jpg»>Β Β Β Β <img srcset=»default.jpg» alt=»My default image»></picture>

Π’Ρ‹ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ синтаксис, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π² Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π΅ media Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Ρ‚ΠΎΡ‚, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π²Ρ‹ ΠΏΡ€ΠΈΠ²Ρ‹ΠΊΠ»ΠΈ, составляя ΠΌΠ΅Π΄ΠΈΠ° запросы Π½Π° CSS. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ ΠΆΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ, Π·Π½Π°Ρ‡ΠΈΡ‚, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ запросы для max-width, min-width, max-height, min-height, orientationΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эти ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Π°Π»ΡŒΠ±ΠΎΠΌΠ½ΡƒΡŽ ΠΈΠ»ΠΈ ΠΏΠΎΡ€Ρ‚Ρ€Π΅Ρ‚Π½ΡƒΡŽ вСрсии изобраТСния Π² зависимости ΠΎΡ‚ ΠΎΡ€ΠΈΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ устройства, ΠΈ Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ запросы Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ². НапримСр:

<picture> <source srcset=»smaller_landscape.jpg» media=»(max-width: 40em) and (orientation: landscape)»> <source srcset=»smaller_portrait.jpg» media=»(max-width: 40em) and (orientation: portrait)»> <source srcset=»default_landscape.jpg» media=»(min-width: 40em) and (orientation: landscape)»> <source srcset=»default_portrait.jpg» media=»(min-width: 40em) and (orientation: portrait)»> <img srcset=»default_landscape.jpg» alt=»My default image»></picture>

<picture>Β Β Β Β <source srcset=»smaller_landscape.jpg» media=»(max-width: 40em) and (orientation: landscape)»>Β Β Β Β <source srcset=»smaller_portrait.jpg» media=»(max-width: 40em) and (orientation: portrait)»>Β Β Β Β <source srcset=»default_landscape.jpg» media=»(min-width: 40em) and (orientation: landscape)»>Β Β Β Β <source srcset=»default_portrait.jpg» media=»(min-width: 40em) and (orientation: portrait)»>Β Β Β Β <img srcset=»default_landscape.jpg» alt=»My default image»></picture>

Код Π²Ρ‹ΡˆΠ΅ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½Π½ΡƒΡŽ, ΠΎΠ±Ρ€Π΅Π·Π°Π½Π½ΡƒΡŽ для альбомной ΠΎΡ€ΠΈΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Π²Π΅Ρ€ΡΠΈΡŽ изобраТСния для устройства с ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΠΎΡ€ΠΈΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ. Он Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ изобраТСния для устройств с большим экраном.

Если устройство ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΠΎΡ€Ρ‚Ρ€Π΅Ρ‚Π½ΡƒΡŽ ΠΎΡ€ΠΈΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ, ΠΎΠ½ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΎΠ±Ρ€Π΅Π·Π°Π½Π½ΠΎΠ΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ: Π² мСньшСм Ρ€Π°Π·ΠΌΠ΅Ρ€Π΅ – для Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… устройств ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ для устройств с Π±ΠΎΠ»Π΅Π΅ высоким Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ.

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ вСрсии ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ для экранов с Π±ΠΎΠ»Π΅Π΅ высокой ΠΏΠ»ΠΎΡ‚Π½ΠΎΡΡ‚ΡŒ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ добавлСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠΌΠ΅Π½ Ρ„Π°ΠΉΠ»ΠΎΠ² Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρƒ srcset. НапримСр, Π΄Π°Π²Π°ΠΉΡ‚Π΅ посмотрим Π½Π° ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° Π²Ρ‹ΡˆΠ΅ с Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ экрана Β«Π Π΅Ρ‚ΠΈΠ½Π° 2Ρ…Β»:

<picture> <source srcset=»smaller.jpg, smaller_retina.jpg 2x» media=»(max-width: 768px)»> <source srcset=»default.jpg, default_retina.jpg 2x»> <img srcset=»default.jpg, default_retina.jpg 2x» alt=»My default image»></picture>

<picture>Β Β Β Β <source srcset=»smaller.jpg, smaller_retina.jpg 2x» media=»(max-width: 768px)»>Β Β Β Β <source srcset=»default.jpg, default_retina.jpg 2x»>Β Β Β Β <img srcset=»default.jpg, default_retina.jpg 2x» alt=»My default image»></picture>

МСдиа запрос обрабатываСтся Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ изобраТСния Π½Π° экранС. Π—Π°Ρ‚Π΅ΠΌ, провСряСтся ΠΏΠ»ΠΎΡ‚Π½ΠΎΡΡ‚ΡŒ пиксСлСй экрана ΠΈ Ссли высокая ΠΏΠ»ΠΎΡ‚Π½ΠΎΡΡ‚ΡŒ поддСрТиваСтся ΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Π° настройками ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π° вСрсия изобраТСния с Π±ΠΎΠ»Π΅Π΅ высоким Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ.

ИспользованиС picture сСгодняшний дСнь

БСйчас родная имплСмСнтация picture находится Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ для Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ² Chrome, Firefox ΠΈ Opera.Π’ Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ, ΠΌΡ‹ скорСС всСго, ΡƒΠ²ΠΈΠ΄ΠΈΠΌ Π±ΠΎΠ»Π΅Π΅ ΡˆΠΈΡ€ΠΎΠΊΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΈ Π² ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ…. Но, Π½Π° сСгодняшний дСнь ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ оТидаСтся.

Пока Ρ‡Ρ‚ΠΎ, Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΆΠ΄Π°Ρ‚ΡŒ, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ picture прямо сСйчас. Π’Π°ΠΌ всСго лишь Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Picturefill 2.0 β€” ΠΏΠΎΠ»ΠΈΠ·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ прСдоставляСмоС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ ΠΈΠ· Filament Group.

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ скачаСтС Ρ„Π°ΠΉΠ» picturefill.js Π² свой ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ всСго лишь Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ Π΅Π³ΠΎ Π² ΡΠ΅ΠΊΡ†ΠΈΡŽ head вашСго сайта:

<script src=»picturefill.js»></script>

<script src=»picturefill.js»></script>

Π’Π°ΠΊΠΆΠ΅ Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ скрипт асинхронно для большСй эффСктивности, ΠΎ Ρ‡Π΅ΠΌ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Picturefill. ВмСстС с Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ этого скрипта, элСмСнт picture Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ я описал, с нСбольшими ограничСниями.

ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡ Picturefill

IE9

Picturefill ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… вСрсиях IE, ΠΎΠ΄Π½Π°ΠΊΠΎ IE9 Π½Π΅ распознаСт элСмСнты source, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°Π²Π΅Ρ€Π½ΡƒΡ‚Ρ‹ Π² тэги picture. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΠΎΠΉΡ‚ΠΈ это, условно ΠΎΠ±Π΅Ρ€Π½ΠΈΡ‚Π΅ элСмСнты source Π² тэги video, Ρ‡Ρ‚ΠΎ сдСлаСт ΠΈΡ… Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΌΠΈ для IE9, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

<picture> <!—[if IE 9]><video><![endif]—> <source srcset=»smaller.jpg» media=»(max-width: 768px)»> <source srcset=»default.jpg»> <!—[if IE 9]></video><![endif]—> <img srcset=»default.jpg» alt=»My default image»></picture>

<picture>Β Β Β Β <!—[if IE 9]><video><![endif]—>Β Β Β Β <source srcset=»smaller.jpg» media=»(max-width: 768px)»>Β Β Β Β <source srcset=»default.jpg»>Β Β Β Β <!—[if IE 9]></video><![endif]—>Β Β Β Β <img srcset=»default.jpg» alt=»My default image»></picture>

Android 2.3

Π’Π°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊ IE9, Android 2.3 Π½Π΅ Π²ΠΈΠ΄ΠΈΡ‚ элСмСнты source Π²Π½ΡƒΡ‚Ρ€ΠΈ тэгов picture. Однако, ΠΎΠ½ распознаСт Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ srcset, ΠΊΠΎΠ³Π΄Π° Ρ‚ΠΎΡ‚ присваиваСтся ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌΡƒ тэгу img. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚Π΅ запасной элСмСнт img с Π΄Π΅Ρ„ΠΎΠ»Ρ‚Π½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ Ρ„Π°ΠΉΠ»Π° Π² Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π΅ srcset для Android 2.3 ΠΈΠ»ΠΈ любого Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° со схоТСй ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ.

ВрСбуСтся JavaScript ΠΈ родная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΌΠ΅Π΄ΠΈΠ° запросов

Π’Π°ΠΊ ΠΊΠ°ΠΊ это Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Π½Π° JavaScript, соотвСтствСнно, ΠΎΠ½ΠΎ нуТдаСтся Π² JavaScript для ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅. Picturefill 2.0 Π½Π΅ прСдоставляСт Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ для β€œno-js”, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС, мноТСство ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ стало Π±Ρ‹ ΠΏΠΎΡΠ²Π»ΡΡ‚ΡŒΡΡ Π½Π° страницах, ΠΊΠΎΠ³Π΄Π° родная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π°. Однако, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Picturefill 1.2 Ссли Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ β€œno-js” Π²Π°ΠΆΠ½Π° для вас.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Picturefill являСтся родная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΌΠ΅Π΄ΠΈΠ° запросов, для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ запросы Π² Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π΅ media Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ. ВсС соврСмСнныС Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ ΠΌΠ΅Π΄ΠΈΠ° запросы, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ IE8 ΠΈ Π½ΠΈΠΆΠ΅ являСтся СдинствСнным Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠΌ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠΌ с нСбольшой остаточной Π±Π°Π·ΠΎΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ HTTP запросы

Для Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ², ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ… Ρ€ΠΎΠ΄Π½ΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ srcset, Π½ΠΎ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… picture, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ имя Ρ„Π°ΠΉΠ»Π° Π² запасном элСмСнтС img ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΏΡ€ΠΎΡˆΠ΅Π½ΠΎ Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π±ΠΎΠ»Π΅Π΅ подходящСС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ Π² элСмСнтС img. Π­Ρ‚Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° врСмСнная ΠΈ ΠΎΠ½Π° Ρ€Π΅ΡˆΠΈΡ‚ΡΡ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° родная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° picture Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π°.

Автор: Kezz Bracey

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: http://webdesign.tutsplus.com

РСдакция: Команда webformyself.

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ курс ΠΏΠΎ вСрсткС Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ сайта с нуля!

Π˜Π·ΡƒΡ‡ΠΈΡ‚Π΅ курс ΠΈ ΡƒΠ·Π½Π°ΠΉΡ‚Π΅, ΠΊΠ°ΠΊ Π²Π΅Ρ€ΡΡ‚Π°Ρ‚ΡŒ соврСмСнныС сайты Π½Π° HTML5 ΠΈ CSS3

Π£Π·Π½Π°Ρ‚ΡŒ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅

PSD to HTML

ΠŸΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° вСрстки сайта Π½Π° CSS Grid с нуля

Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ

АдаптивныС изобраТСния Π½Π° сайтС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ CSS

Π˜Ρ‚Π°Π½ ΠœΠ°Ρ€ΠΊΠΎΡ‚Ρ‚ основополоТник Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π° Β«Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½Ρ‹ΠΉ Π²Π΅Π±-Π΄ΠΈΠ·Π°ΠΉΠ½Β». Π’ своих Ρ€Π°Π±ΠΎΡ‚Π°Ρ… ΠΎΠ½ заявил, Ρ‡Ρ‚ΠΎ Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½Ρ‹Π΅ изобраТСния ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ Π²Π΅Π±-Π΄ΠΈΠ·Π°ΠΉΠ½Π°.

Однако ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Ρ‚Π°ΠΊΠΈΡ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, нСсмотря Π½Π° ΠΊΠ°ΠΆΡƒΡ‰ΡƒΡŽΡΡ Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°ΠΌΠΈ экранов, Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ΄Π½ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒΡΡ нСзависимо ΠΎΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² экранов устройств ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

Π­Ρ‚ΠΎ плохая Π½ΠΎΠ²ΠΎΡΡ‚ΡŒ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ с ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΌ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠΎΠΌ. Π’Π°ΠΊΠΆΠ΅ это Π΄Π΅Π»Π°Π΅Ρ‚ ваш сайт Π±ΠΎΠ»Π΅Π΅ Β«ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΌΒ» с нСбольшой ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ соСдинСния.

Π­Ρ‚ΠΎ ΠΎΠ΄Π½ΠΎ ΠΈΠ· самых обсуТдаСмых вопросов срСди Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². На сСгодняшний дСнь ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ инструмСнты для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π½ΠΈΡ….

АдаптивноС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Bootstrap 3

ΠŸΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ сайта с использованиСм boostrap 3 ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ Π² вСрсткС ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠ² ΠΈΠΌ css класс .img-responsive. Π­Ρ‚ΠΎΡ‚ класс добавляСт ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠ»Π°Π²ΠΈΠ»Π° max-width: 100%;,Β height: auto; ΠΈΒ display: block;. Π¨ΠΈΡ€ΠΈΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ всС врСмя Ρ€Π°Π²Π½Π° ΡˆΠΈΡ€ΠΈΠ½Π΅ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ°, Π° высота автоматичСской Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΏΠΎΡ€Ρ†ΠΈΠΈ изобраТСния.

<img src="..." alt="Responsive image">

АдаптивноС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² html

Π­Ρ‚ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄ΡƒΡ‰ΠΈΠΉ стандарт Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. Новый элСмСнт <picture> позволяСт ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ нСсколько источников ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, Π° Ρ‚Π°ΠΊΠΆΠ΅ breakpoint, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… опрСдСляСтся нСобходимая вСрсия изобраТСния:

<picture>
  <source srcset="large-1.jpgΒ 1x,Β large-2.jpgΒ 2x" media="(min-width:Β 45em)" />
  <source srcset="med-1.jpgΒ 1x,Β med-2.jpgΒ 2x" media="(min-width:Β 18em)" />
</picture>

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Пока Π΅Ρ‰Π΅ Π½Π΅ нашли СдинствСнного стандарта, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π΅ΡˆΠΈΠ» Π±Ρ‹ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ. Π­Ρ‚ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ инструмСнты ΠΈΠΌΠ΅ΡŽΡ‚ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€, ΠΈ поэтому Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ· Π½ΠΈΡ… Π΅ΡΡ‚ΡŒ ΠΊΠ°ΠΊ прСимущСства, Ρ‚Π°ΠΊ ΠΈ нСдостатки.

Если ΠΆΠ΅ Π²Π°ΠΌ Π½Π΅ нравятся ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ Π²Ρ‹ΡˆΠ΅ прСдлоТСния, Ρ‚ΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠΆΠ΄Π°Ρ‚ΡŒΡΡ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π΅Π»ΠΈΠ·Π° свойств элСмСнтов <picture>.

Β 

АдаптивноС Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° CSS

Π’ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΏΡ€ΠΎ Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½Ρ‹Π΅ изобраТСния я ΠΎΠ±Π΅Ρ‰Π°Π» Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΡ€ΠΎ Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎΠ΅ Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅. И Ρ‚Π°ΠΊ приступим. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ нашС Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΡΠΌΠΎΡ‚Ρ€Π΅Π»ΠΎΡΡŒ Π½Π° всСх Ρ‚ΠΈΠΏΠ°Ρ… устройств ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ…, Π½ΠΎΡƒΡ‚Π±ΡƒΠΊΠ°Ρ…, ΠΏΠ»Π°Π½ΡˆΠ΅Ρ‚Π°Ρ… Π½Ρƒ ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ Π½Π° смартфонах ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Π΄ΠΈΠ° запросы. Для Π½Π°Ρ‡Π°Π»Π° создадим ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ с ΠΈΠΌΠ΅Π½Π΅ΠΌ id = «fon_img» ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΈ Π±ΡƒΠ΄Π΅Ρ‚, присваиваСтся ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°.

HTML

<!DOCTYPE html>
<html lang="en">
<head>
 АдаптивноС Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° CSS 	
</head>
<body>


        

АдаптивноС Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° CSS

Π­Ρ‚ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ всСгда Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ 100% ΡˆΠΈΡ€ΠΈΠ½Ρƒ Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π΅Π³ΠΎ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ значСния максимальной ΡˆΠΈΡ€ΠΈΠ½Ρ‹ (max-width)

</body> </html>

Π—Π°Ρ‚Π΅ΠΌ Π² стилях ΠΌΡ‹ присваиваСм ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρƒ #fon_img нашС Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ с Π·Π°Π΄Π°Π½Π½ΠΎΠΉ высотой, Π° Ρ‚Π°ΠΊ ΠΆΠ΅ выставим background-size: cover;, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Ρ€Π°ΡΡ‚ΡΠ³ΠΈΠ²Π°Π»Π°ΡΡŒ Π½Π° всю ΡˆΠΈΡ€ΠΈΠ½Ρƒ экрана.

CSS

НС Π·Π°Π±Ρ‹Π²Π°Π΅ΠΌ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ прСфиксы для Π΄Ρ€ΡƒΠ³ΠΈΡ… Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ² -webkit-background-size: cover;

-moz-background-size: cover;, -o-background-size: cover; , Ρ‡Ρ‚ΠΎΠ±Ρ‹ нашС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π»ΠΎΡΡŒ. ПослС всСго этого добавляСм наши ΠΌΠ΅Π΄ΠΈΠ° запросы, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ высоту Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΉ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ для Ρ€Π°Π·Π½Ρ‹Ρ… устройств.

CSS

    @media(max-width:1016px){
        #fon_img{
             height:600px;
       }
    }
    @media(max-width:768px){
        #fon_img{
             height:400px;
       }
    }
    @media(max-width:480px){
        #fon_img{
             height:250px;
       }
    }	

Π’Π΅ΠΏΠ΅Ρ€ΡŒ высота изобраТСния Π±ΡƒΠ΄Π΅Ρ‚ всСгда подстраиваСтся ΠΏΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ΅ устройство. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚Π°ΠΊΠΈΡ… ΠΌΠ΅Π΄ΠΈΠ° запросов ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΡˆΡ€ΠΈΡ„Ρ‚ для Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΠΈΠ»ΠΈ Ρ†Π²Π΅Ρ‚ ΡˆΡ€ΠΈΡ„Ρ‚Π°, Π½Ρƒ ΠΈ всС Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ поТСлаСтся.

HTML

<!DOCTYPE html>
<html lang="en">
<head>
 АдаптивноС Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° CSS 	
</head>
<body>

        

АдаптивноС Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° CSS

Π­Ρ‚ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ всСгда Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ 100% ΡˆΠΈΡ€ΠΈΠ½Ρƒ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π΅Π³ΠΎ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ значСния максимальной ΡˆΠΈΡ€ΠΈΠ½Ρ‹ (max-width)

</body> </html>

ΠœΡ‹ рассмотрСли всС Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ использования Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎΠΉ вСрсткС. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π΅Ρ‰Π΅ ΠΌΠ½ΠΎΠ³ΠΎ тонкостСй ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ Π½Π΅ рассказанными, Π½ΠΎ со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ, Π²ΠΎ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹, Π²Ρ‹ ΠΈΡ… сами ΠΏΠΎΠΉΠΌΠ΅Ρ‚Π΅, Π° это всС лишь Π±Π°Π·ΠΎΠ²Ρ‹Π΅ основы, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΡƒΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½Ρ‹ΠΉ сайт.

АдаптивныС изобраТСния — Π˜Π·ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ

Π’ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ ΠΈΠ·ΡƒΡ‡ΠΈΠΌ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡŽ Π³ΠΈΠ±ΠΊΠΈΡ… (Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½Ρ‹Ρ…) ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ — Ρ‚Π°ΠΊΠΈΡ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ Π½Π° устройствах с сильно ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‰ΠΈΠΌΠΈΡΡ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°ΠΌΠΈ экрана, Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΠΌΠΈ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ характСристиками — ΠΈ рассмотрим инструмСнты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ Π² HTML для ΠΈΡ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. АдаптивныС изобраТСния — Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Π° Ρ‡Π°ΡΡ‚ΡŒ (ΠΈ Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π΅ Π½Π°Ρ‡Π°Π»ΠΎ) Π³ΠΈΠ±ΠΊΠΎΠ³ΠΎ Π²Π΅Π±-Π΄ΠΈΠ·Π°ΠΉΠ½Π°, Ρ‚Π΅ΠΌΡ‹, которая Π±ΡƒΠ΄Π΅Ρ‚ рассмотрСна ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅ Π½Π° Ρ‚Π΅ΠΌΡƒ CSS.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½Ρ‹Π΅ изобраТСния?

ΠšΠ°ΠΊΡƒΡŽ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ ΠΌΡ‹ пытаСмся Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ изобраТСниями? Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΉ сцСнарий.ΠžΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ Π²Π΅Π±-сайт ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅, для ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ восприятия ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π° Ρ‚Π°ΠΊΠΆΠ΅ нСсколько ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π² ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π΅ ΠΏΠΎΠ΄ Π½ΠΈΠΌ. Π’Ρ‹, вСроятно, Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ Π·Π°Π½ΠΈΠΌΠ°Π»ΠΎ всю ΡˆΠΈΡ€ΠΈΠ½Ρƒ ΠΎΠΊΠ½Π°, Π° изобраТСния Π² ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Π»ΠΈΡΡŒ Π³Π΄Π΅-Ρ‚ΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ с ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ΠΎΠΌ. Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

Вакая вёрстка Ρ…ΠΎΡ€ΠΎΡˆΠΎ выглядит Π½Π° ΡˆΠΈΡ€ΠΎΠΊΠΎΡ„ΠΎΡ€ΠΌΠ°Ρ‚Π½Ρ‹Ρ… экранах Π½ΠΎΡƒΡ‚Π±ΡƒΠΊΠΎΠ² ΠΈ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ПК, (Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π΄Π΅ΠΌΠΎ-ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈ Π½Π°ΠΉΡ‚ΠΈ исходный ΠΊΠΎΠ΄ Π½Π° Github.) ΠœΡ‹ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ CSS, скаТСм Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

  • Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠΌΡƒ Ρ‚Π΅Π³Π° основная Π·Π°Π΄Π°Π½Π° максимальная ΡˆΠΈΡ€ΠΈΠ½Π° 1200 пиксСлСй. ΠŸΡ€ΠΈ этом ΠΎΠΊΠ½ΠΎ остаСтся Π½Π° 1200 пиксСлСй ΠΈ Ρ†Π΅Π½Ρ‚Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ сСбя Π² доступном пространствС. Если ΠΎΠΊΠ½ΠΎ Π½ΠΈΠΆΠ΅ этой ΡˆΠΈΡ€ΠΈΠ½Ρ‹, устанавливаСтся Π² 100% ΠΎΡ‚ ΡˆΠΈΡ€ΠΈΠ½Ρ‹ экрана.
  • Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² шапкС всСгда Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡΡ‚Π°Π²Π°Ρ‚ΡŒΡΡ Π² Ρ†Π΅Π½Ρ‚Ρ€Π΅ Ρ‚Π΅Π³Π° Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Π²Π½Π΅ зависимости ΠΎΡ‚ ΡˆΠΈΡ€ΠΈΠ½Ρ‹. Π’Π°ΠΆΠ½Ρ‹Π΅ Π΄Π΅Ρ‚Π°Π»ΠΈ Π² Ρ†Π΅Π½Ρ‚Ρ€Π΅ изобраТСния (люди) всС Ρ€Π°Π²Π½ΠΎ Π±ΡƒΠ΄ΡƒΡ‚ Π²ΠΈΠ΄Π½Ρ‹.ВсС, Ρ‡Ρ‚ΠΎ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ Π³Ρ€Π°Π½ΠΈΡ† экрана Π±ΡƒΠ΄Π΅Ρ‚ скрыто. Высота шапки 200 пиксСлСй.
  • Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² содСрТимом Π·Π°Π΄Π°Π½Ρ‹ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ Ссли ΡˆΠΈΡ€ΠΈΠ½Π° ΠΊΡƒΠ·ΠΎΠ²Π° становится мСньшС Ρ‡Π΅ΠΌ ΡˆΠΈΡ€ΠΈΠ½Π°, Ρ‚ΠΎ изобраТСния Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ всСгда Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΡƒΠ·ΠΎΠ²Π° ΠΈ Π½Π΅ Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°ΡŽΡ‚ Π·Π° Π΅Π³ΠΎ ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹.

Всё Ρ…ΠΎΡ€ΠΎΡˆΠΎ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ просматриваСтС сайт Π½Π° устройствС с нСбольшим экраном; ΠΏΠ΅Ρ€Π²ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π΅ Π½Π°ΠΏΡ€ΠΎΡ‚ΠΈΠ², уТасно, Ρ‚Π°ΠΊΠΎΠ΅ уТасно ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ людСй!

Π‘Ρ‹Π»ΠΎ Π±Ρ‹ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π²Π΅Ρ€ΡΠΈΡŽ изобраТСния, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π²ΠΈΠ΄Π½Ρ‹ Π²Π°ΠΆΠ½Ρ‹Π΅ Π΄Π΅Ρ‚Π°Π»ΠΈ снимка, ΠΊΠΎΠ³Π΄Π° сайт отобраТаСтся Π½Π° ΡƒΠ·ΠΊΠΎΠΌ языкС, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ срСднСС ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±Ρ€Π΅Π·Π°Π½Π½Ρ‹ΠΌ ΠΈ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ изобраТСниями для экрана срСднСй ΡˆΠΈΡ€ΠΈΠ½Ρ‹, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ΠΏΠ»Π°Π½ΡˆΠ΅Ρ‚Ρ‹ — это извСстно ΠΊΠ°ΠΊ ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° худоТСствСнного направлСния .

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π½Π΅Ρ‚ Π½ΡƒΠΆΠ΄Ρ‹ Π²ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ большиС изобраТСния Π½Π° страницу, Ссли ΠΎΠ½Π° просматриваСтся Π½Π° малСньком экранС мобильного устройства; это называСтся ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ — растровоС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ прСдставляСт собой Ρ‚ΠΎΡ‡Π½ΠΎ-Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ количСство пиксСлСй ΠΏΠΎ ΡˆΠΈΡ€ΠΈΠ½Π΅ ΠΈ высотС; ΠΊΠ°ΠΊ ΠΌΡ‹ успСли Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° рассматривали Π²Π΅ΠΊΡ‚ΠΎΡ€Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, растровоС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ становится зСрнистым ΠΈ выглядит ΠΊΠ°ΠΊ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠ΅, Ссли ΠΎΠ½ΠΎ отобраТаСтся Π² Ρ€Π°Π·ΠΌΠ΅Ρ€Π΅ большСм, Ρ‡Π΅ΠΌ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ (Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Π½ΠΎΠ²ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅Ρ‚).Π’ Ρ‚ΠΎ ΠΆΠ΅ врСмя, Ссли ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ отобраТаСтся Π² Π³ΠΎΡ€Π°Π·Π΄ΠΎ мСньшСм Ρ€Π°Π·ΠΌΠ΅Ρ€Π΅, Ρ‡Π΅ΠΌ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ, это ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Ρ‚ ΠΊ напрасной Ρ‚Ρ€Π°Ρ‚Π΅ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° — ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ устройств Π±ΡƒΠ΄ΡƒΡ‚ Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ большоС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ для ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, вмСсто малСнького для ΠΈΡ… устройства. ИдСально Π±Ρ‹Π»ΠΎ Π±Ρ‹ нСсколько Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Ρ€Π°Π·Π½Ρ‹Ρ… Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΡ…, ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π² зависимости ΠΎΡ‚ устройства, ΠΎΠ±Ρ€Π°Ρ‰Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ ΠΊ Π²Π΅Π±-сайту.

Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… устройств с большим Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ трСбуСтся изобраТСния большСго Ρ€Π°Π·ΠΌΠ΅Ρ€Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‡Π΅Ρ‚Ρ‡Π΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π»ΠΎΡΡŒ.По сути всё ΠΎΠ΄Π½Π° Π·Π°Π΄Π°Ρ‡Π° Π² Ρ€Π°Π·Π½Ρ‹Ρ… условиях.

МоТно ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ изобраТСния ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ эти ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹. Π’ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ стСпСни это Ρ‚Π°ΠΊ. Π£ Π½ΠΈΡ… вСс ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€, поэтому ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΡ‡Ρ‚ΠΈ Π² любом случаС. Они Ρ…ΠΎΡ€ΠΎΡˆΠΈ для простой Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ, ΡƒΠ·ΠΎΡ€ΠΎΠ², элСмСнтов интСрфСйса ΠΈ Ρ‚. Π΄. Π‘Π»ΠΎΠΆΠ½Π΅Π΅ Π²Π΅ΠΊΡ‚ΠΎΡ€Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ с большим количСством Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ, ΠΊΠ°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π° Ρ„ΠΎΡ‚ΠΎ. РастровыС изобраТСния (JPEG) для нашСго ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° большС.

Π’Π°ΠΊΠΎΠ³ΠΎ Ρ€ΠΎΠ΄Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π½Π΅ Π±Ρ‹Π»ΠΎ Π² Π½Π°Ρ‡Π°Π»Π΅ сущСствования Π²Π΅Π±Π°, Π² ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π΅ 90-Ρ… Π³ΠΎΠ΄ΠΎΠ² — СдинствСнныС устройства для просмотра Π²Π΅Π±-страниц Π±Ρ‹Π»ΠΈ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹ ΠΈ Π½ΠΎΡƒΡ‚Π±ΡƒΠΊΠΈ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ создатСли Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ² ΠΈ Π°Π²Ρ‚ΠΎΡ€Ρ‹ спСцификаций Π΄Π°ΠΆΠ΅ Π½Π΅ Π·Π°Π΄ΡƒΠΌΡ‹Π²Π°Π»ΠΈΡΡŒ ΠΎ создании Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ. Π’Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΎΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π±Ρ‹Π»ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Π½Π΅Π΄Π°Π²Π½ΠΎ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… Π²Ρ‹ΡˆΠ΅. Они ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρƒ нСсколько ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅, Π½ΠΎ содСрТит Ρ€Π°Π·Π½ΠΎΠ΅ количСство пиксСлСй (, Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ), ΠΈΠ»ΠΈ Ρ€Π°Π·Π½Ρ‹Π΅ изобраТСния с ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ областями основного изобраТСния ( Π°Ρ€Ρ‚-Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ).

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ : НовыС возмоТности ΠΎΠ±ΡΡƒΠΆΠ΄Π°ΡŽΡ‚ΡΡ Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅ — srcset / sizes / — всС ΠΎΠ½ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ послСдними вСрсиями соврСмСнных Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ² (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Microsoft Edge, Π½ΠΎ Π½Π΅ Internet Explorer).

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ изобраТСния ΠΎΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²Ρ‹ΠΌΠΈ?

Π’ этом Ρ€Π°Π·Π΄Π΅Π»Π΅ рассмотрим Π΄Π²Π΅ Π²Ρ‹ΡˆΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΈ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ, ΠΊΠ°ΠΊ ΠΈΡ… Ρ€Π΅ΡˆΠΈΡ‚ΡŒ с использованиСм инструмСнтов HTML . Как ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π²Ρ‹ΡˆΠ΅ — ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠ°ΠΊ ΡƒΠΊΡ€Π°ΡˆΠ΅Π½ΠΈΠ΅ сайта ΠΈ установлСно ΠΊΠ°ΠΊ Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ CSS. CSS большС ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ Π΄ΠΈΠ·Π°ΠΉΠ½Π° Ρ‡Π΅ΠΌ HTML, ΠΎΠ± этом ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅ CSS.

Π Π°Π·Π½Ρ‹Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ: Π Π°Π·Π½Ρ‹Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹

Π˜Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊΡƒΡŽ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ Ρ€Π΅ΡˆΠ°ΡŽΡ‚ Ρ€Π°Π·Π½Ρ‹Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ? Π’ зависимости ΠΎΡ‚ устройства Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, Π½ΠΎ Ρ€Π°Π·Π½Ρ‹Ρ… Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ².ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Π½Π° Π²Ρ‚ΠΎΡ€ΡƒΡŽ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΉ элСмСнт ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ позволяСт ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ:

 Эльва Π² ΠΊΠΎΡΡ‚ΡŽΠΌΠ΅ Ρ„Π΅ΠΈ 

Однако Π΅ΡΡ‚ΡŒ Π΄Π²Π° Π½ΠΎΠ²Ρ‹Ρ… Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° — srcset ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² — ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ изобраТСния с ΠΏΠΎΠΌΠ΅Ρ‚ΠΊΠ°ΠΌΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ Π²Ρ‹Π±Ρ€Π°Π» подходящСС. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π½Π° Github: responseive.html (Ρ‚Π°ΠΊΠΆΠ΅ смотри источник ΠΊΠΎΠ΄Π°).

 Эльва Π² ΠΊΠΎΡΡ‚ΡŽΠΌΠ΅ Ρ„Π΅ΠΈ 

Атрибуты srcset ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ каТутся слоТными, Π½ΠΎ ΠΎΠ½ΠΈ Π½Π΅ Ρ‚Π°ΠΊ ΠΏΠ»ΠΎΡ…ΠΈ, Ссли Π²Ρ‹ ΠΎΡ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΠΈΡ… ΠΊΠ°ΠΊ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π²Ρ‹ΡˆΠ΅: каТдая Ρ‡Π°ΡΡ‚ΡŒ значСния Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° с Π½ΠΎΠ²ΠΎΠΉ строки. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ состоит ΠΈΠ· списка элСмСнтов Ρ‡Π΅Ρ€Π΅Π· Π·Π°ΠΏΡΡ‚ΡƒΡŽ, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Ρ‚Ρ€ΠΈ части. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим эти значСния:

srcset Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ названия ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, срСди ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ Π²Ρ‹Π±Π΅Ρ€Π΅Ρ‚ Π½ΡƒΠΆΠ½ΠΎΠ΅ ΠΈ ΠΈΡ… Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹. ΠŸΠ΅Ρ€Π΅Π΄ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ запятой части значСния Π² Ρ‚Π°ΠΊΠΎΠΌ порядкС:

  1. НазваниС изобраТСния ( elva-fairy-480w.jpg .)
  2. ΠŸΡ€ΠΎΠ±Π΅Π».
  3. ΠΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ ΡˆΠΈΡ€ΠΈΠ½Π° вмСсто ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ Π² пиксСлах ( 480w ) — Π·Π°ΠΌΠ΅Ρ‚ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ здСсь ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ w px , ΠΊΠ°ΠΊ Π²Ρ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π»ΠΈ. Π­Ρ‚Π° настоящая ΡˆΠΈΡ€ΠΈΠ½Π° изобраТСния, которая ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ просмотрСна Π² свойствах ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ Π½Π° вашСм ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π° Mac Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² Finder ΠΈ Π½Π°ΠΆΠ°Ρ‚ΡŒ Cmd + I , Ρ‡Ρ‚ΠΎΠ±Ρ‹ вывСсти ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π½Π° экран).

sizes опрСдСляСт ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΌΠ΅Π΄ΠΈΠ°-выраТСния (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡˆΠΈΡ€ΠΈΠ½Ρƒ экрана) ΠΈ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ настройку ΡˆΠΈΡ€ΠΈΠ½Ρƒ изобраТСния, ΠΊΠΎΠ³Π΄Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ ΠΌΠ΅Π΄ΠΈΠ°-Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ истинно — это Ρ‚ΠΎ, ΠΎ Ρ‡Ρ‘ΠΌ ΠΌΡ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ Π²Ρ‹ΡˆΠ΅. Π’ нашСм случаС, ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ запятой ΠΌΡ‹ пишСм:

  1. МСдиа-условиС ( (max-width: 480px) ) — Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ большС ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² этой Ρ‚Π΅ΠΌΠ΅ CSS, Π½ΠΎ сСйчас Π΄Π°Π²Π°ΠΉΡ‚Π΅ скаТСм, Ρ‡Ρ‚ΠΎ ΠΌΠ΅Π΄ΠΈΠ°-условиС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ΅ состояниС экрана.Π’ этом случаС ΠΌΡ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Β«ΠΊΠΎΠ³Π΄Π° ΡˆΠΈΡ€ΠΈΠ½Π° области просмотра мСньшС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎ 480 пиксСлСй».
  2. ΠŸΡ€ΠΎΠ±Π΅Π».
  3. Π¨ΠΈΡ€ΠΈΠ½Ρƒ слота (Π² ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π΅ Β«ΡˆΠΈΡ€ΠΈΠ½Π° ΠΏΡ€ΠΎΡ€Π΅Π·ΠΈΒ»), Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΡƒΡŽ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠ³Π΄Π° ΠΌΠ΅Π΄ΠΈΠ°-условиС. ( 440 пиксСлСй )

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ : Для ΡˆΠΈΡ€ΠΈΠ½Ρ‹ слота, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹Π΅ значСния ( px , em ) ΠΈΠ»ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΠΊΠ½Π° просмотра ( vw ), Π½ΠΎ НЕ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Ρ‹. Π’Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρƒ послСднСго слота Π½Π΅Ρ‚ ΠΌΠ΅Π΄ΠΈΠ°-условий — это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ станСт Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌ, Ссли Π½ΠΈ ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… ΠΌΠ΅Π΄ΠΈΠ°-условий Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ истинно.Π‘Ρ€Π°ΡƒΠ·Π΅Ρ€ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅Ρ‚ всС ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ послС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ совпадСния, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄ΡŒΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½Π΅Π΅ ΠΊ порядку ΠΈΡ… объявлСния.

Π˜Ρ‚Π°ΠΊ, с Ρ‚Π°ΠΊΠΈΠΌΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°ΠΌΠΈ, Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ сдСлаСт ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

  1. ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚ Π½Π° ΡˆΠΈΡ€ΠΈΠ½Ρƒ экрана устройства.
  2. ΠŸΠΎΠΏΡ‹Ρ‚Π°Π΅Ρ‚ΡΡ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ подходящСС ΠΌΠ΅Π΄ΠΈΠ°-условиС Π² Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π΅ sizes .
  3. ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚ Π½Π° Ρ€Π°Π·ΠΌΠ΅Ρ€ слота ΠΊ этому ΠΌΠ΅Π΄ΠΈΠ°-запросу.
  4. Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ· списка ΠΈΠ· srcset , ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€, Ρ‡Ρ‚ΠΎ ΠΈ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ слот, ΠΈΠ»ΠΈ, Ссли Ρ‚Π°ΠΊΠΎΠ΅ Π½Π΅Ρ‚, Ρ‚ΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ большС Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ слота.

И это всё! На Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚, Ссли ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ с ΡˆΠΈΡ€ΠΈΠ½ΠΎΠΉ ΠΎΠΊΠ½Π° просмотра 480px Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ страницу, ΠΌΠ΅Π΄ΠΈΠ°-условиС (max-width: 480px) Π±ΡƒΠ΄Π΅Ρ‚ истинно, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π±Ρ€Π°Π½ слот 440px , Ρ‚ΠΎΠ³Π΄Π° Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ elva-fairy-480w.jpg , Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ свойство ΡˆΠΈΡ€ΠΈΠ½Ρ‹ ( 480w ) Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π±Π»ΠΈΠ·ΠΊΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 440px . Условно, ΠΈΠ·ΠΎΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 800px Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Π½Π° дискС 128 ΠšΠ‘, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ вСрсия Π² 480px Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 63 ΠšΠ‘ — экономия Π² 65 ΠšΠ‘.Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Ρƒ вас страница, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ это Ρ‚Π΅Ρ…Π½ΠΈΠΊΡƒ, Π²Ρ‹ обСспСчитС ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΠΏΡ€ΠΎΠΏΡƒΡΠΊΠ½ΡƒΡŽ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ.

Π‘Ρ‚Π°Ρ€Ρ‹Π΅ Π±Ρ€ΡƒΠ·Π΅Ρ€Ρ‹, Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ эти возмоТности, просто ΠΏΡ€ΠΎΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΡŽΡ‚ ΠΈΡ… ΠΈ Π²ΠΎΠ·ΡŒΠΌΡƒΡ‚ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ адрСсу ΠΈΠ· Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° src .

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ : Π’ элСмСнтС Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Π²Ρ‹ Π½Π°ΠΉΠ΄Ρ‘Ρ‚Π΅ строку : это заставляСт ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΎΠΊΠ½Π° просмотра для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ web-страниц (Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ нСчСстны насчёт своСй ΡˆΠΈΡ€ΠΈΠ½Ρ‹ ΠΎΠΊΠ½Π° просмотра, вмСсто этого ΠΎΠ½ΠΈ Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ страницу Π² ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½Π½ΡƒΡŽ ΡˆΠΈΡ€ΠΈΠ½Ρƒ ΠΎΠΊΠ½Π° просмотра, Π° Π·Π°Ρ‚Π΅ΠΌ ΡƒΠΆΠΈΠΌΠ°ΡŽΡ‚ Π΅Ρ‘, Ρ‡Ρ‚ΠΎ Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ сказываСтся Π½Π° Π½Π°ΡˆΠΈΡ… ΠΎΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²Ρ‹Ρ… изобраТСниях ΠΈΠ»ΠΈ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅.ΠœΡ‹ расскаТСм Π²Π°ΠΌ ΠΎΠ± этом большС Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅.)

ΠŸΠΎΠ»Π΅Π·Π½Ρ‹Π΅ инструмСнты Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°

Π•ΡΡ‚ΡŒ нСсколько ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π½Ρ‹Ρ… инструмСнтов Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΌΠΎΡ‡ΡŒ с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹ слотов ΠΈ Ρ‚. Π΄., ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Когда я Ρ€Π°Π±ΠΎΡ‚Π°Π» Π½Π°Π΄ Π½ΠΈΠΌΠΈ, я Π·Π°Π³Ρ€ΡƒΠΆΠ°Π» Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ ΠΌΠΎΠ΅Π³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ( not-responseive.html ), ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π» ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ Π΄ΠΈΠ·Π°ΠΉΠ½Π° (Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ > Π’Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ> ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²ΠΎΠ³ΠΎ Π΄ΠΈΠ·Π°ΠΉΠ½Π° ), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт Π²Π·Π³Π»ΡΠ½ΡƒΡ‚ΡŒ Π½Π° ΠΌΠ°ΠΊΠ΅Ρ‚ вашСй Π²Π΅Π±-страницы ΠΊΠ°ΠΊ Ссли Π±Ρ‹ ΠΎΠ½ΠΈ Π±Ρ‹Π»ΠΈ просмотрСны Ρ‡Π΅Ρ€Π΅Π· устройства с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°ΠΌΠΈ экрана.

Π― устанавливал ΡˆΠΈΡ€ΠΈΠ½Ρƒ ΠΎΠΊΠ½Π° просмотра Π½Π° 320px, Π·Π°Ρ‚Π΅ΠΌ Π½Π° 480px; для я обращался ΠΊ DOM Inspector, ΠΊΠ»ΠΈΠΊΠ°Π» ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ элСмСнту , Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΡ‹ добавляСм, Π΄Π°Π»Π΅Π΅ смотрСл Ρ€Π°Π·ΠΌΠ΅Ρ€ Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Box Model с ΠΏΡ€Π°Π²ΠΎΠΉ стороны дисплСя. Π­Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π΄Π°Ρ‚ΡŒ Π²Π°ΠΌ ΡˆΠΈΡ€ΠΎΠΊΡƒΡŽ ΡˆΠΈΡ€ΠΈΠ½Ρƒ изобраТСния

А дальшС Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π»ΠΈ srcset , Ссли ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΡˆΠΈΡ€ΠΈΠ½Ρ‹ ΠΎΠΊΠ½Π° просмотра Ρ‚Π°ΠΊΠΈΠΌ ΠΊΠ°ΠΊΠΈΠΌ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΡƒΠ·ΠΊΡƒΡŽ ΡˆΠΈΡ€ΠΈΠ½Ρƒ), ΠΎΡ‚ΠΊΡ€Ρ‹Π² Network Inspector (инструмСнты > Web Developer> Network ) ΠΈ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ страницу.Π­Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ (ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ) Π²Π΅Π±-страницу, ΠΈ Ρ‚ΡƒΡ‚ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ Ρ„Π°ΠΉΠ» изобраТСния Π±Ρ‹Π» Π²Ρ‹Π±Ρ€Π°Π½ для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ.

ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ: ΠžΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€, Ρ€Π°Π·Π½Ρ‹Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

Если Π²Ρ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚Π΅ нСсколько Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ экрана, Π½ΠΎ всС видят вашС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈ Ρ‚ΠΎΠΌ ΠΆΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π΅ Π½Π° экранС, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ с подходящим Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ с использованиСм srcset с x-дисриптором ΠΈ Π±Π΅Π· Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² — Π±ΠΎΠ»Π΅Π΅ простой синтаксис! Найти ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠ°ΠΊ это выглядит ΠΌΠΎΠΆΠ½ΠΎ здСсь srcset-resolution.html (смотритС Ρ‚Π°ΠΊΠΆΠ΅ исходный ΠΊΠΎΠ΄):

 Эльва Π² ΠΊΠΎΡΡ‚ΡŽΠΌΠ΅ Ρ„Π΅ΠΈ
 

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, ΠΊ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ CSS Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΎΠ½ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ ΡˆΠΈΡ€ΠΈΠ½Ρƒ Π² 320 пиксСлСй Π½Π° экранС (Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ΅ CSS-пиксСлями):

 img {
  ΡˆΠΈΡ€ΠΈΠ½Π°: 320 пиксСлСй;
} 

Π’ этом случаС Π½Π΅Ρ‚ нСобходимости Π² Ρ€Π°Π·ΠΌΠ΅Ρ€Π΅ — Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ просто опрСдСляСт Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ дисплСя ΠΈ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ подходящСС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² соотвСтствии с srcset .Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ссли устройство, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΠΎΠ΅ ΠΊ страницС, ΠΈΠΌΠ΅Π΅Ρ‚ дисплСй стандартного / Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ΄ΠΈΠ½ пиксСль устройства прСдставляСт (соотвСтсвтуСт) ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ CSS-пиксСль, Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ elva-fairy-320w.jpg (ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ x1, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π²Π°ΠΌ Π½Π΅ Π½Π°Π΄ΠΎ Π΅Π³ΠΎ Π’Ρ…ΠΎΠ΄). Если устройство ΠΈΠΌΠ΅Π΅Ρ‚ высокоС Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, Π² Π΄Π²Π° пиксСля Π½Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ CSS-пиксСль ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅, Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ elva-fairy-640w.jpg . 640px ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ 93KB, Ρ‚ΠΎΠ³Π΄Π° Ρ‚Π°ΠΊ 320px ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ — всСго 39KB.

Π₯удоТСствСнноС ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅

Подводя ΠΈΡ‚ΠΎΠ³ΠΈ, ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° худоТСствСнного оформлСния Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΠΆΠ΅Π»Π°Π½ΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΎ соотвСтствовало Ρ€Π°Π·Π½Ρ‹ΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°ΠΌ изобраТСния. НапримСр, Ссли Π½Π° Π²Π΅Π±-сайтС отобраТаСтся большой ΠΏΠ΅ΠΉΠ·Π°ΠΆΠ½Ρ‹ΠΉ снимок с Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ, просматриваСмым Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ Π½Π° Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½ΠΎΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅, ΠΏΡ€ΠΈ просмотрС Π²Π΅Π±-сайта Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ ΠΎΠ½ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ΡΡ; ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΏΠ»ΠΎΡ…ΠΎ Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ мСлСньким ΠΈ Π΅Π³ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ тяТСло Ρ€Π°Π·Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ.ВСроятно Π±ΡƒΠ΄Π΅Ρ‚ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΌΠ΅Π½ΡŒΡˆΡƒΡŽ ΠΏΠΎΡ€Ρ‚Ρ€Π΅Ρ‚Π½ΡƒΡŽ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² мобильной вСрсии Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ отобраТаСтся Π² ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠΈ (Π² ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ΅Π½ΠΈΠΈ). Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ <ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°> позволяСт Π½Π°ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅.

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡΡΡŒ ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠΌΡƒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ not-responseive.html, ΠΌΡ‹ ΠΈΠΌΠ΅Π΅ΠΌ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΎΡ‡Π΅Π½ΡŒ нуТдаСтся Π² худоТСствСнном ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠΈ:

 ΠšΡ€ΠΈΡ стоит, Π΄Π΅Ρ€ΠΆΠ° свою Π΄ΠΎΡ‡ΡŒ Π­Π»ΡŒΠ²Ρƒ 

Π”Π°Π²Π°ΠΉΡ‚Π΅ исправим это ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ элСмСнта <ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°> ! Π’Π°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ , элСмСнт это ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΠ° содСрТащая Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ количСство элСмСнтов ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρƒ Π²Ρ‹Π±ΠΎΡ€ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ€Π°Π·Π½Ρ‹Ρ… источников, Π² сопровоТдСнии ΠΊΡ€Π°ΠΉΠ½Π΅ Π²Π°ΠΆΠ½ΠΎΠ³ΠΎ элСмСнта .Код responseive.html выглядит Ρ‚Π°ΠΊ:

 <ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°>
  

ΠšΡ€ΠΈΡ стоит, Π΄Π΅Ρ€ΠΆΠ° свою Π΄ΠΎΡ‡ΡŒ Π­Π»ΡŒΠ²Ρƒ

 
  • Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ <источник> ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ media , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит ΠΌΠ΅Π΄ΠΈΠ°-условиС; ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ этих условий опрСдяСтся, ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½ΠΎ.Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС, Ссли ΡˆΠΈΡ€ΠΈΠ½Π° viewport’a составит 799px ΠΈΠ»ΠΈ мСньшС, Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ элСмСнта . Если ΡˆΠΈΡ€ΠΈΠ½Π° составит 800px ΠΈ Π±ΠΎΠ»Π΅Π΅ — Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ.
  • Атрибут srcset содСрТит ΠΏΡƒΡ‚ΡŒ изобраТСния, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½ΠΎ. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ, ΠΊΠ°ΠΊ ΠΈ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π²Ρ‹ΡˆΠ΅, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ srcset ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² с нСсколькими ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ изобраТниями. Π’Π°ΠΊ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π΅ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π³Ρ€ΡƒΠΏΠΏΡƒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π²Π½ΡƒΡ‚Ρ€ΠΈ элСмСнта <ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅> , Π½ΠΎ ΠΈ прСдписаний для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ….Π’ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π²Ρ‹ вряд Π»ΠΈ Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ этим ΠΎΡ‡Π΅Π½ΡŒ часто.
  • Π’Ρ‹ всСгда Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ элСмСнт , с src ΠΈ alt , прямо ΠΏΠ΅Ρ€Π΅Π΄ , ΠΈΠ½Π°Ρ‡Π΅ изобраТСния Π½Π΅ появятся. Π­Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π½Π° Ρ‚ΠΎΡ‚ случай, ΠΊΠΎΠ³Π΄Π° Π½ΠΈ ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΠΌΠ΅Π΄ΠΈΠ°-условий Π½Π΅ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€Π΅Π½ΠΎ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ссли Π±Ρ‹ Π²Ρ‹ ΡƒΠ±Ρ€Π°Π»ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠΉ элСмСнт <источник>) ΠΈΠ»ΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ элСмСнт <ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅> .

Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ позволяСт Π½Π°ΠΌ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΎΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π½Π° ΡƒΠ·ΠΊΠΎΠΌ экранС, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ : Π’Π°ΠΌ слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ media Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ худоТСствСнном ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠΈ; Когда Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ media , Π½Π΅ примСняйтС ΠΌΠ΅Π΄ΠΈΠ°-условия с Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² .

ΠŸΠΎΡ‡Π΅ΠΌΡƒ это нСльзя ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ посрСдством CSS ΠΈ JavaScript?

Когда Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ страницу, ΠΎΠ½ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ изобраТСния Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π³Π»Π°Π²Π½Ρ‹Π΅ парсСр Π½Π°Ρ‡Π°Π» Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ CSS ΠΈ JavaScript. Π’ срСднСм, эта Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ° ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ врСмя Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ страницы Π½Π° 20%. Но ΠΎΠ½Π° Π½Π΅ Ρ‚Π°ΠΊ ΠΏΠΎΠ»Π΅Π·Π½Π° Π² случаС с Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ изобраТСниями, поэтому Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ Ρ‚Π°ΠΊΠΈΠ΅ Ρ€Π΅Ρˆeния, ΠΊΠ°ΠΊ srcset . НапримСр, Π²Ρ‹ Π½Π΅ ΠΌΠΎΠ³Π»ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ элСмСнт , Π·Π°Ρ‚Π΅ΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΡˆΠΈΡ€ΠΈΠ½Ρƒ viewport’Π° ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ JavaScript ΠΈ динамичСски ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅.Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΡƒΠΆΠ΅ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½ΠΎ ΠΊ Ρ‚ΠΎΠΌΡƒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΊΠ°ΠΊ Π²Ρ‹ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΠ»ΠΈ Π΅Π³ΠΎ ΠΌΠ΅Π½ΡŒΡˆΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ, Ρ‡Ρ‚ΠΎ ΠΏΠ»ΠΎΡ…ΠΎ.

Π‘ΠΌΠ΅Π»ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ соврСмСнныС Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ

Π•ΡΡ‚ΡŒ нСсколько Π½ΠΎΠ²Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² изобраТСния (Ρ‚Π°ΠΊΠΈΡ…, ΠΊΠ°ΠΊ WebP ΠΈ JPEG-2000), удаСтся Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ высокого качСства ΠΏΡ€ΠΈ ΠΌΠ°Π»ΠΎΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€Π΅ Ρ„Π°ΠΉΠ»Π°. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π±Ρ€Π°Π·ΡƒΠ΅Ρ€Ρ‹ ΠΈΡ… Π½Π΅ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ.

позволяСт Π½Π°ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π² старых Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ…. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ MIME-Ρ‚ΠΈΠΏ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° , Ρ‚ΠΈΠΏ , сразу ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° ΠΊΠ°ΠΊ Π½Π΅ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅:

 <ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°>
  
  
  ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ ΠΏΠΈΡ€Π°ΠΌΠΈΠ΄Π°, построСнная ΠΈΠ· Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… равносторонних Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠ²

 
  • НС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ media , Ссли Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ худоТСствСнноС ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅.
  • Π’ элСмСнтС <источник> ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ Ρ‚ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΊΠ°Π·Π°Π½ Π² type .
  • Как ΠΈ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ…, ΠΏΡ€ΠΈ нСобходимости Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ srcset ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² .

АктивноС ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅: рСализация собствСнных Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ

Π‘Π°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ создайтС ΠΎΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²ΠΎΠ΅, худоТСствСнно ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ для ΡˆΠΈΡ€ΠΎΠΊΠΈΡ… ΠΈ ΡƒΠ·ΠΊΠΈΡ… экранов, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΈ srcset .

  1. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ HTML-Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΡƒ.
  2. НайдитС ΡˆΠΈΡ€ΠΎΠΊΠΎΡ„ΠΎΡ€ΠΌΠ°Ρ‚Π½ΠΎΠ΅ ΠΏΠ΅ΠΉΠ·Π°ΠΆΠ½ΠΎΠ΅ Ρ„ΠΎΡ‚ΠΎ с ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ яркой Π΄Π΅Ρ‚Π°Π»ΡŒΡŽ. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π²Π΅Π±-Π²Π΅Ρ€ΡΠΈΡŽ изобраТСния посрСдством графичСского Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°, Π·Π°Ρ‚Π΅ΠΌ ΠΎΠ±Ρ€Π΅ΠΆΡŒΡ‚Π΅ Π΅Π³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΡ€ΡƒΠΏΠ½Π΅Π΅ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Π΄Π΅Ρ‚Π°Π»ΡŒ, ΠΈ создайтС Π²Ρ‚ΠΎΡ€ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ (ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ 480px достаточно).
  3. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ элСмСнт <ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°> для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с худоТСствСнно ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½Π½ΠΎΠΉ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΎΠΉ.
  4. ΠžΠ±ΠΎΠ·Π½Π°Ρ‡ΡŒΡ‚Π΅ нСсколько Ρ€Π°Π·Π½Ρ‹Ρ… Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² для этой ΠΊΠ°Ρ€Ρ‚ΠΈΠΊΠ½ΠΈ.
  5. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ srcset / size для описания ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΏΡ€ΠΈ смСнС Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² viewport’Π°

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ : Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ инструмСнты Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ смСну Ρ€Π°Π·ΠΌΠ΅Ρ€Π°, ΠΊΠ°ΠΊ Π±Ρ‹Π»ΠΎ описано Π²Ρ‹ΡˆΠ΅.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π­Ρ‚ΠΎ всС для ΠΎΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ — ΠΌΡ‹ надССмся, Π²Π°ΠΌ ΠΏΠΎΠ½Ρ€Π°Π²ΠΈΠ»ΠΎΡΡŒ ΠΈΠ³Ρ€Π°Ρ‚ΡŒ с этими Π½ΠΎΠ²Ρ‹ΠΌΠΈ тСхнологиями.Напомним, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ здСсь обсуТдали Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹:

  • Π₯удоТСствСнноС ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅ : ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π΅Π·Π°Π½Π½Ρ‹Π΅ изобраТСния для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΌΠ°ΠΊΠ΅Ρ‚ΠΎΠ² — Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π»Π°Π½Π΄ΡˆΠ°Ρ„Ρ‚Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ для ΠΏΠΎΠ»Π½Ρ‹Ρ… экранов Π½Π° ΠΌΠ°ΠΊΠ΅Ρ‚Π΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° ΠΈ ΠΏΠΎΡ€Ρ‚Ρ€Π΅Ρ‚Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΉ основной ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, для мобильного ΠΌΠ°ΠΊΠ΅Ρ‚Π°. элСмСнта.
  • ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ : ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для использования Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ большого Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π½Π° устройствах с ΡƒΠ·ΠΊΠΈΠΌ экраном, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ΠΈ Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹ ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹Π΅ изобраТСния, ΠΊΠ°ΠΊ Π½Π° Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Ρ… дисплСях, Π° Ρ‚Π°ΠΊΠΆΠ΅, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ изобраТСния Ρ€Π°Π·Π½ΠΎΠ³ΠΎ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ для экрана с высокой / Π½ΠΈΠ·ΠΊΠΎΠΉ ΠΏΠ»ΠΎΡ‚Π½ΠΎΡΡ‚ΡŒΡŽ.Π­Ρ‚Ρƒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π²Π΅ΠΊΡ‚ΠΎΡ€Π½ΠΎΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ (SVG ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ), ΠΈ srcset ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹.

Π­Ρ‚ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΏΠΎΠ΄Π²ΠΎΠ΄ΠΈΡ‚ нас ΠΊ ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΡŽ Ρ†Π΅Π»ΠΎΠ³ΠΎ модуля «ΠœΡƒΠ»ΡŒΡ‚имСдия ΠΈ встраиваниС»! ЕдинствСнноС, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ Ρ€Π°Π½ΡŒΡˆΠ΅ — это ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ нашС ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½ΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊ Π²Ρ‹ усвоили ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π». Π’Π΅ΡΠ΅Π»ΠΈΡ‚Π΅ΡΡŒ.

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Ρ‚Π°ΠΊ ΠΆΠ΅

.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ (ΠΎΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ) с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ CSS

БущСствуСт ΠΌΠ½ΠΎΠ³ΠΎ Ρ‚Π΅Ρ…Π½ΠΈΠΊ ΠΏΠΎ созданию ΠΎΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. Они ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ ΠΏΠΎ слоТности ΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅.
ΠŸΡ€ΠΈΠΌΠ΅Ρ€ слоТного создания ΠΎΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ — это использованиС Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° srcset, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈ большС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠ½ опираСтся Π½Π° Π½ΠΎΠ²Ρ‹ΠΉ HTML-Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π²Π½Π΅ соврСмСнных Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ².

Но Π² Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ, Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚, основан Π½Π° свойствах CSS ΡˆΠΈΡ€ΠΈΠ½Ρ‹ ΠΈ высоты.А это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π²ΠΎ всСх Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ… ΠΈ Π½Π° всСх устройствах. Однако, для этого потрСбуСтся, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΈΠ·Π°ΠΉΠ½ Π²Π΅Π±-ΠΌΠ°ΠΊΠ΅Ρ‚Π° Π±Ρ‹Π» Β«Ρ€Π΅Π·ΠΈΠ½ΠΎΠ²Ρ‹ΠΌΒ» / ΠΎΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²Ρ‹ΠΌ.

Π’ Π΄Π°Π½Π½ΠΎΠΉ ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰Π΅ΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ нСсколько Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ восприятия ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, Π½ΠΎ основной смысл Π±ΡƒΠ΄Π΅Ρ‚ ΠΈ Ρ‚Π΅ΠΌ ΠΆΠ΅: ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ CSS, Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ изобраТСния Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½Π½ΠΎΠ΅ Π² ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π°Ρ… (ΠΈΠ»ΠΈ с использованиСм Π»ΡŽΠ±Ρ‹Ρ… ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π΅Π΄ΠΈΠ½ΠΈΡ† измСрСния, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, EMS), свойства ΡˆΠΈΡ€ΠΈΠ½Ρ‹, Π° для свойств height ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ auto.

 img {
  ΡˆΠΈΡ€ΠΈΠ½Π°: 100%;
  высота: Π°Π²Ρ‚ΠΎ;
}
 

ΠŸΡ€ΠΎΡΡ‚ΠΎΠ΅ ΠΎΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅

Π”Π°Π²Π°ΠΉΡ‚Π΅ Π½Π°Ρ‡Π½Π΅ΠΌ с Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°. Π£ нас Π΅ΡΡ‚ΡŒ элСмСнт div, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ выступаСт Π² качСствС ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° для элСмСнта img.

HTML

 

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ свойства ΡˆΠΈΡ€ΠΈΠ½Ρ‹ Ρƒ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° выставлСно Π½Π° 96%, Ρ‚.Π΅. Ρƒ Π½Π΅Π³ΠΎ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Π»Π΅Π²Ρ‹Π΅ ΠΈ ΠΏΡ€Π°Π²Ρ‹Π΅ отступы (ΠΌΠ°Ρ€ΠΆΠ°).Π’Π°ΠΊΠΆΠ΅ Π΅ΠΌΡƒ Π·Π°Π΄Π°Π½ΠΎ свойство max-width Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ 960px, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠ°ΠΊΠ΅Ρ‚ Π½Π΅ Π±Ρ‹Π» слишком ΡˆΠΈΡ€ΠΎΠΊΠΈΠΌ Π½Π° Π±ΠΎΠ»ΡŒΡˆΠΈΡ… экранах. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ img, Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°, ΠΈΠΌΠ΅Π΅Ρ‚ свойство width со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ 100%, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΅Π³ΠΎ ΡˆΠΈΡ€ΠΈΠ½Π° всСгда Ρ€Π°Π²Π½ΡΠ»Π°ΡΡŒ ΡˆΠΈΡ€ΠΈΠ½Π΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°, нСзависимо ΠΎΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² области (ΠΎΠ±Π»Π°ΡΡ‚ΡŒ просмотра). Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ становится ΠΎΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²Ρ‹ΠΌ. Бвойство height ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ auto, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π»ΠΎΡΡŒ ΠΏΡ€ΠΎΠΏΠΎΡ€Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ.

CSS

 div.container {
  ΡˆΠΈΡ€ΠΈΠ½Π°: 96%;
  максимальная ΡˆΠΈΡ€ΠΈΠ½Π°: 960 пиксСлСй;
  ΠΌΠ°Ρ€ΠΆΠ°: 0 Π°Π²Ρ‚ΠΎ; / * Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚Ρ†Π΅Π½Ρ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ * /
}
img {
  ΡˆΠΈΡ€ΠΈΠ½Π°: 100%;
  высота: Π°Π²Ρ‚ΠΎ;
}
 

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ элСмСнт img Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²Ρ‹ΠΌ Π΄Π°ΠΆΠ΅ Π² Ρ‚ΠΎΠΌ случаС, Ссли для Π½Π΅Π³ΠΎ ΡƒΠΊΠ°Π·Π°Π½Ρ‹ фиксированныС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Ρ‡Π΅Ρ€Π΅Π· Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ Π² HTML Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ΅ (Ρ‚.Π΅. ΡˆΠΈΡ€ΠΈΠ½Π° = Β»960 β€³ высота =Β» 640 β€³). Π­Ρ‚ΠΎ Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‚.ΠΊ. Π­Ρ‚Π° Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ° ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΈ обслуТивания ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π·Π°Π΄Π°Π½Ρ‹ фиксированныС Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ Π² HTML.

ΠžΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²Ρ‹Π΅ изобраТСния ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ

Иногда Π½Π°ΠΌ хочСтся, Ρ‡Ρ‚ΠΎΠ±Ρ‹ изобраТСния Π±Ρ‹Π»ΠΈ рядом Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ Π² ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°Ρ…. НапримСр, Π² галСрСях часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ сСтки для отобраТСния ΠΏΡ€Π΅Π²ΡŒΡŽ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²Ρ‹Π΅ изобраТСния Π² ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°Ρ…, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ CSS-свойства width ΠΈ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ для элСмСнтов img свойство display со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ inline-block.Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим ΠΏΠ°Ρ€Ρƒ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² ΠΌΠ°ΠΊΠ΅Ρ‚Π°: Π΄Π²ΡƒΡ…ΠΊΠΎΠ»ΠΎΠ½ΠΎΡ‡Π½Ρ‹ΠΉ ΠΈ Ρ‚Ρ€Π΅Ρ…ΠΊΠΎΠ»ΠΎΠ½ΠΎΡ‡Π½Ρ‹ΠΉ ΠΌΠ°ΠΊΠ΅Ρ‚ сми изобраТСния.

Π”Π²ΡƒΡ…ΠΊΠΎΠ»ΠΎΠ½ΠΎΡ‡Π½Ρ‹ΠΉ ΠΎΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²Ρ‹ΠΉ ΠΌΠ°ΠΊΠ΅Ρ‚ с изобраТСниями

Для ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΌΠ°ΠΊΠ΅Ρ‚Π° ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ свойство CSS ΡˆΠΈΡ€ΠΈΠ½ΠΎΠΉ со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ 48% ΠΈΠ»ΠΈ, Π³Ρ€ΡƒΠ±ΠΎ говоря, ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½ΠΎΠΉ ΡˆΠΈΡ€ΠΈΠ½Ρ‹ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°. ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π°, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΡ‹ Π½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ 50%, Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ мСсто ΠΏΠΎΠ΄ внСшниС отступы.

HTML

 

CSS

 img {
  ΡˆΠΈΡ€ΠΈΠ½Π°: 48%;
  дисплСй: встроСнный Π±Π»ΠΎΠΊ;
}
 

Π’Ρ€Π΅Ρ…ΠΊΠΎΠ»ΠΎΠ½ΠΎΡ‡Π½Ρ‹ΠΉ ΠΎΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²Ρ‹ΠΉ ΠΌΠ°ΠΊΠ΅Ρ‚ сми изобраТСния

Для Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ°ΠΊΠ΅Ρ‚Π° идСя Π±Ρ‹Π» ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΉ, Ρ‚.Π΅. ΠΌΡ‹ просто выставляСм для свойства Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΡˆΠΈΡ€ΠΈΠ½Ρ‹ Ρ€Π°Π²Π½ΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΉ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ ΡˆΠΈΡ€ΠΈΠ½Ρ‹ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°: 32%.

HTML

 

CSS

 .three-columns {
  ΡˆΠΈΡ€ΠΈΠ½Π°: 32%;
  дисплСй: встроСнный Π±Π»ΠΎΠΊ;
}
 

Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡ с условными ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°ΠΌΠΈ

НаличиС Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… условных ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ² для ΠΎΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ — это Ρ…ΠΎΡ€ΠΎΡˆΠ°Ρ идСя, Ρ‚.ΠΊ. Ссли изобраТСния Π±ΡƒΠ΄ΡƒΡ‚ слишком малСнькими, ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ просто Β«ΡΡ…Π»ΠΎΠΏΠ½ΡƒΡ‚ΡŒΡΡΒ». А Ρ‡Ρ‚ΠΎΠ±Ρ‹ это ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ, Π½Π°ΠΌ ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ ΠΌΠ΅Π΄ΠΈΠ°-запросы. Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ изобраТСния Π±ΡƒΠ΄ΡƒΡ‚ Π² ΠΎΠ΄Π½Ρƒ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ Π½Π° смартфонС, Π² Π΄Π²Π΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ — Π½Π° ΠΏΠ»Π°Π½ΡˆΠ΅Ρ‚Π΅ ΠΈ Π² ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°Ρ… Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ — Π½Π° Π±ΠΎΠ»ΡŒΡˆΠΈΡ… экранах.

HTML

 

CSS

 / * Для устройств с нСбольшим экраном (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, смартфоны) * /
img {
  максимальная ΡˆΠΈΡ€ΠΈΠ½Π°: 100%;
  дисплСй: встроСнный Π±Π»ΠΎΠΊ;
}
/ * Для устройств со срСдним экраном (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠ»Π°Π½ΡˆΠ΅Ρ‚Ρ‹) * /
@media (min-width: 420 пиксСлСй) {
  img {
    максимальная ΡˆΠΈΡ€ΠΈΠ½Π°: 48%;
  }
}
/ * Для устройств с большим экраном (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹) * /
@media (min-width: 760 пиксСлСй) {
  img {
    максимальная ΡˆΠΈΡ€ΠΈΠ½Π°: 24%;
  }
}
 

На Π·Π°ΠΌΠ΅Ρ‚ΠΊΡƒ: Π‘ΡƒΠ΄Π΅Ρ‚ Ρ…ΠΎΡ€ΠΎΡˆΠΎ, Ссли Π²Ρ‹ выставитС подходящиС ΠΌΠ΅Π΄ΠΈΠ°-запросы для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π΄ΠΈΠ·Π°ΠΉΠ½Π°, Π½Π°Π΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅.Π’ нашСм Π΄Π΅ΠΌΠΎ-ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π²Ρ‹ΡˆΠ΅ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ ΠΌΠ΅Π΄ΠΈΠ°-запросы ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ для Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ°ΠΊΠ΅Ρ‚Π°, Π½ΠΎ всС ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎ-Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΌΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ.

ΠŸΠΎΠ»Π½ΠΎΡΠΊΡ€Π°Π½Π½Ρ‹Π΅ ΠΎΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²Ρ‹Π΅ изобраТСния

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ изобраТСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ всСгда Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒ 100% области просмотра, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ просто ΡƒΠ±Ρ€Π°Ρ‚ΡŒ свойство max-width (со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ 960px) ΠΈ Π·Π°Π΄Π°Ρ‚ΡŒ для Π½Π΅Π³ΠΎ свойство width со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ 100%.

 ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ {
ΡˆΠΈΡ€ΠΈΠ½Π°: 100%;
}
img {
ΡˆΠΈΡ€ΠΈΠ½Π°: 100%;
} 

ΠŸΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅

НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ° создания ΠΎΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ являСтся простой ΠΈ Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΉ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ, Π΅Π΅ нСдостаток Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ всСгда Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ с исходными Ρ€Π°Π·ΠΌΠ΅Ρ€Π°ΠΌΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ.Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ большиС изобраТСния с высоким Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ΡΡ Π΄Π°ΠΆΠ΅ Ρƒ Ρ‚Π΅Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ нСбольшоС мобильноС устройство, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ всС установлСно ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ прСлСсти полноэкранных ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ.

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ΄Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Ρ€Π°Π·Π½Ρ‹Π΅ вСрсии ΠΎΠ΄Π½ΠΎΠ³ΠΎ изобраТСния (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, нСбольшоС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ для ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… устройств, Π° большоС — для Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ²), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Π²Π΅Π±Π°, ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠΌ srcset ΠΈ / ΠΈΠ»ΠΈ изобраТСния.Если Π²Ρ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅Ρ‚Π΅ использованиС ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»Π»ΠΎΠ² (polyfill), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ вСрсиих Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ², ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»Π» Π‘ΠΊΠΎΡ‚Ρ‚Π° Π”ΠΆΠ΅Π»Π° (Π‘ΠΊΠΎΡ‚Ρ‚ Π”ΠΆΠ΅Π») ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Picturefill.
Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

.

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *