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

| HTML | WebReference

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ собой ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ для хранСния Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… элСмСнтов <source>, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ элСмСнт <img>. Π­Ρ‚ΠΎ позволяСт ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ изобраТСния с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° экрана, плотности пиксСлСй, Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° изобраТСния ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ². Π’ΠΎΡ‚ нСсколько областСй примСнСния <picture> (ΠΎΡ‚ Π°Π½Π³Π». pictureΒ β€” ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°, ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅):

  • для экранов Ρ€Π΅Ρ‚ΠΈΠ½Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ большСго Ρ€Π°Π·ΠΌΠ΅Ρ€Π°;
  • Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ рисунки Ρ€Π°Π·Π½ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° для ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΈ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Ρ… устройств;
  • ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ изобраТСния Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠΏΠΎΡ€Ρ†ΠΈΠΉ, ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… ΠΎΡ€ΠΈΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ устройства;
  • Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² Π²Π΅ΠΊΡ‚ΠΎΡ€Π½ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ SVG, Π° для Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ², Π΅Π³ΠΎ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ…, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ PNG.

Бинтаксис

<picture>
  <source>
  <img>
</picture>

Π’Π½ΡƒΡ‚Ρ€ΠΈ <picture> содСрТится ноль ΠΈΠ»ΠΈ нСсколько элСмСнтов <source>, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ΄ΡƒΡ‚ ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΠ΄Π½ΠΈΠΌ элСмСнтом <img>.

Π—Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Ρ‚Π΅Π³

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

<!DOCTYPE html> 
<html> 
 <head> 
  <meta charset="utf-8"> 
  <title>picture</title> 
 </head> 
 <body> 
  <picture>
   <source srcset="image/html5-logo.svg">
   <img src="image/html5-logo.png" alt="HTML5">
  </picture> 
 </body> 
</html>

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π΄Π²Π° изобраТСния: ΠΎΠ΄Π½ΠΎ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ SVG, Π° Π²Ρ‚ΠΎΡ€ΠΎΠ΅ Π² ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½ΠΎΠΌ PNG. Π‘Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ элСмСнт <picture>, отобразят ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² Π²Π΅ΠΊΡ‚ΠΎΡ€Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅ (рис.Β 1). Π‘Ρ€Π°ΡƒΠ·Π΅Ρ€ IE ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ PNG (рис.Β 2). Для наглядности Π»ΠΎΠ³ΠΎΡ‚ΠΈΠΏ Π΄Π°Π½ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ 128Ρ…128 пиксСлСй ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ Π΄ΠΎ 256Ρ…256.

Рис. 1. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ SVG

Рис. 2. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ PNG

БпСцификация ?

БпСцификация

КаТдая спСцификация ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ нСсколько стадий одобрСния.

  • Recommendation (РСкомСндация) β€” спСцификация ΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½Π° W3C ΠΈ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π½Π° ΠΊΠ°ΠΊ стандарт.
  • Candidate Recommendation (ВозмоТная рСкомСндация) β€” Π³Ρ€ΡƒΠΏΠΏΠ°, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰Π°Ρ Π·Π° стандарт, ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€Π΅Π½Π°, ΠΊΠ°ΠΊ ΠΎΠ½ соотвСтствуСт своим цСлям, Π½ΠΎ трСбуСтся ΠΏΠΎΠΌΠΎΡ‰ΡŒ сообщСства Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΏΠΎ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ стандарта.
  • Proposed Recommendation (ΠŸΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌΠ°Ρ рСкомСндация) β€” Π½Π° этом этапС Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ прСдставлСн Π½Π° рассмотрСниС ΠšΠΎΠ½ΡΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ совСта W3C для ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ утвСрТдСния.
  • Working Draft (Π Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚) β€” Π±ΠΎΠ»Π΅Π΅ зрСлая вСрсия Ρ‡Π΅Ρ€Π½ΠΎΠ²ΠΈΠΊΠ° послС обсуТдСния ΠΈ внСсСния ΠΏΠΎΠΏΡ€Π°Π²ΠΎΠΊ для рассмотрСния сообщСством.
  • Editor’s draft (РСдакторский Ρ‡Π΅Ρ€Π½ΠΎΠ²ΠΈΠΊ) β€” чСрновая вСрсия стандарта послС внСсСния ΠΏΡ€Π°Π²ΠΎΠΊ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°ΠΌΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.
  • Draft (Π§Π΅Ρ€Π½ΠΎΠ²ΠΈΠΊ спСцификации) β€” пСрвая чСрновая вСрсия стандарта.

Особняком стоит ΠΆΠΈΠ²ΠΎΠΉ стандарт HTML (Living) β€” ΠΎΠ½ Π½Π΅ придСрТиваСтся Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎΠΉ Π½ΡƒΠΌΠ΅Ρ€Π°Ρ†ΠΈΠΈ вСрсий, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ находится Π² постоянной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΈ обновляСтся рСгулярно.

Γ—

Π‘Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹

Π’ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ² ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ обозначСния.

  • Β β€” элСмСнт ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ поддСрТиваСтся Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠΌ;
  • Β β€” элСмСнт Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠΌ Π½Π΅ воспринимаСтся ΠΈ игнорируСтся;
  • Β β€” ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ появлСниС Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ошибок, Π»ΠΈΠ±ΠΎ элСмСнт поддСрТиваСтся с ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΊΠ°ΠΌΠΈ.

Число ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π²Π΅Ρ€ΡΠΈΡŽ Π±Ρ€Π°ΡƒΠ·Ρ€Π΅Π°, начиная с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ элСмСнт поддСрТиваСтся.

Γ—

Автор ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Ρ‹

Автор: Π’Π»Π°Π΄ ΠœΠ΅Ρ€ΠΆΠ΅Π²ΠΈΡ‡

ПослСднСС измСнСниС: 09.10.2018

Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Ρ‹: Π’Π»Π°Π΄ ΠœΠ΅Ρ€ΠΆΠ΅Π²ΠΈΡ‡

webref.ru

Picture β€” Π½ΠΎΠ²Ρ‹ΠΉ элСмСнт, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π½Π΅Ρ‚ / Habr

Π’ дСвСлопСрских сборках Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ² Chrome, Firefox ΠΈ Opera появилась ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π½ΠΎΠ²ΠΎΠ³ΠΎ элСмСта picture, ΠΏΡ€ΠΈΠ·Π²Π°Π½Π½ΠΎΠ³ΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ряд ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½Ρ‹Ρ… Π΄ΠΈΠ·Π°ΠΉΠ½ΠΎΠ². Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π΅Π³ΠΎ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅.

Новый элСмСнт picture, Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ, Π²ΡΡ‚Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π΄ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½Ρ‹Ρ… Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ (я Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡΡŒ классификациСй, ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ pepelsbey Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π½Π΅Π΄Π°Π²Π½ΠΈΡ… ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΉ ΠΏΠΎ Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄Ρƒ):

  1. Π Π΅Ρ‚ΠΈΠ½Π°, Ρ‚.Π΅. экраны с ΠΏΠ»ΠΎΡ‚Π½ΠΎΡΡ‚ΡŒΡŽ Ρ‚ΠΎΡ‡Π΅ΠΊ Π½Π° дюйм 150 ΠΈ Π²Ρ‹ΡˆΠ΅, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ выглядит Ρ€Π°Π·ΠΌΡ‹Ρ‚ΠΎ
  2. ΠΠ΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ, Π·Π°Π΄Π°Ρ‡Π° измСнСния Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² изобраТСния согласно вашим ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ, прописанным Π² Π΄ΠΈΠ·Π°ΠΉΠ½Π΅ Π² зависимости ΠΎΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π²ΡŒΡŽΠΏΠΎΡ€Ρ‚Π°.
  3. Π€ΠΎΡ€ΠΌΠ°Ρ‚, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ соврСмСнныС Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ WebP, Ссли ΠΎΠ½ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠΌ
  4. ΠšΠ°Π΄Ρ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π₯удоТСствСнныС Ρ†Π΅Π»ΠΈ. ΠžΠ±Ρ€Π΅Π·ΠΊΠ° ΠΌΠ°Π»ΠΎΠ²Π°ΠΆΠ½Ρ‹Ρ… частСй изобраТСния, ΠΏΡ€ΠΈ ΠΏΠΎΠΊΠ°Π·Π΅ Π½Π° устройствах с мСньшим экраном.

Π‘Π»ΠΎΠΆΠΈΠ² ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Π±ΡƒΠΊΠ²Ρ‹, ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΌΠ½Π΅ΠΌΠΎΠ½ΠΈΠΊΡƒ РАЀК
Бинтаксис

Условно, Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΉ синтаксис Π½ΠΎΠ²ΠΎΠ³ΠΎ элСмСнта выглядит Ρ‚Π°ΠΊ
<picture>
  <source 
    srcset="<список URL c дСскрипторами>" 
    [sizes="<ваши Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ Π² зависимости ΠΎΡ‚ раскладки>"] 
    [media="<ΠΌΠ΅Π΄ΠΈΠ°Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅>"] 
    [type="<mime/type>"]
  >
 <source ...>
  ...
  <img src="image.jpg" alt="My image" 
    [srcset="<список URL с дСскрипторами>"] 
    [sizes="<ваши Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ Π² зависимости ΠΎΡ‚ раскладки>"]>
</picture>

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ picture Π½Π΅ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΡ‚ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚, Π° лишь являСтся справочным ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠΌ для Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ Π² Π½Π΅Π³ΠΎ Ρ‚Π΅Π³Π° img.

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° Π·Π°Π΄Π°Ρ‡ Ρ…Π²Π°Ρ‚ΠΈΡ‚ сокращСнной записи, совсСм Π±Π΅Π· использования picture

  <img src="image.jpg" alt="My image" 
    [srcset="<список URL с дСскрипторами>"] 
    [sizes="<ваши Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ Π² зависимости ΠΎΡ‚ раскладки>"]>

Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим ΠΊΠ°ΠΊ Ρ€Π΅ΡˆΠ°ΡŽΡ‚ΡΡ Π²Ρ‹ΡˆΠ΅ΠΎΠ·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½ΠΎΠ²ΠΎΠ³ΠΎ элСмСнта. ВсС Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² этом Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ github.com/fetis/picture

Для тСстирования ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΈΠ· Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠΈ Π½Π° дСсктопС Π²Π°ΠΌ понадобятся Π»ΠΈΠ±ΠΎ Firefox Nighlty (ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° picture Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ настройкой dom.image.picture.enable Π² about:config), Π»ΠΈΠ±ΠΎ Chrome Canary, Π»ΠΈΠ±ΠΎ Opera Developer. На мобильном устройствС Π½ΠΎΠ²Ρ‹ΠΉ элСмСнт ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² Chrome Beta

Π Π΅Ρ‚ΠΈΠ½Π°

Π£ нас Π΅ΡΡ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 400Ρ…300 пкс, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Ρ‚Π°ΠΊΠΆΠ΅ красиво ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ Π΄Π²ΡƒΠΊΡ€Π°Ρ‚Π½ΠΎΠΉ ΠΈ Ρ‚Ρ€Π΅Ρ…ΠΊΡ€Π°Ρ‚Π½ΠΎΠΉ плотности пиксСлСй. Для этого Π³ΠΎΡ‚ΠΎΠ²ΠΈΠΌ Π΅Ρ‰Π΅ 2 ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ, Ρ€Π°Π·ΠΌΠ΅Ρ€Π°ΠΌΠΈ 800×600 ΠΈ 1200Ρ…900 ΠΈ пишСм ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄
<img src="images/400.jpg" srcset="images/800.jpg 2x, images/1200.jpg 3x" >

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

Атрибут src Π² Π΄Π°Π½Π½ΠΎΠΌ случаС слуТит источником ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ для плотности < 2 ΠΈ Ρ„ΠΎΠ»Π±Π΅ΠΊΠΎΠΌ Π½Π° случай, Ссли Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π½ΠΎΠ²Ρ‹ΠΉ элСмСнт.

ΠΠ΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΠΌ раскладку, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π΅ΡΡ‚ΡŒ СдинствСнная ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ Ρ‚ΠΎΡ‡ΠΊΠ° (breakpoint) 700пкс. ΠŸΡ€ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π΅ Π²ΡŒΡŽΠΏΠΎΡ€Ρ‚Π° Π±ΠΎΠ»Π΅Π΅ 700 пкс ΠΌΡ‹ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ справа сайдбар ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ нашСго изобраТСния Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ 75% ΠΎΡ‚ ΡˆΠΈΡ€ΠΈΠ½Ρ‹ экрана. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС сайдбар располагаСтся Π² ΠΊΠΎΠ½Ρ†Π΅ страницы ΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ растянуто Π½Π° всю ΡˆΠΈΡ€ΠΈΠ½Ρƒ. Π­Ρ‚ΠΎ рСализуСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ
      <img
        src="images/400.jpg"  
        srcset=" 400w, images/800.jpg 800w, images/1200.jpg 1200w"
       
        >

400w, 800w, 1200w β€” это дСскрипторы ΡˆΠΈΡ€ΠΈΠ½Ρ‹, ΠΎΠ½ΠΈ ΠΏΠΎΠ΄ΡΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρƒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊΠΎΠΉ ΡˆΠΈΡ€ΠΈΠ½Ρ‹ находится ΠΏΠΎ Π΄Π°Π½Π½ΠΎΠΌΡƒ URL ΠΈ Π½Π° основС этой ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π»ΡƒΡ‡ΡˆΠ΅ всСго ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ‚ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ситуации. Как ΠΈ Π² случаС с Ρ€Π΅Ρ‚ΠΈΠ½ΠΎΠΉ информация носит Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ ΠΈ ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ остаСтся Π·Π° Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠΌ.

ΠžΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ΅ использованиС дСскрипторов плотности ΠΈ ΡˆΠΈΡ€ΠΈΠ½Ρ‹ нСдопустимо.

Π’ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π΅ sizes ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΡΡŽΡ‚ΡΡ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ изобраТСния для всСх ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Ρ… Ρ‚ΠΎΡ‡Π΅ΠΊ Π² нашСм Π΄ΠΈΠ·Π°ΠΉΠ½Π΅. ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ Π·Π°Π΄Π°ΡŽΡ‚ΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ мСдиавыраТСния, Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ Π±Π΅Ρ€Π΅Ρ‚ ΠΏΠ΅Ρ€Π²ΠΎΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π˜ΡΡ‚ΠΈΠ½Ρƒ ΠΈ дальшС Ρ†Π΅ΠΏΠΎΡ‡ΠΊΡƒ Π½Π΅ рассматриваСт. Для значСния ΡˆΠΈΡ€ΠΈΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ новая Π΅Π΄ΠΈΠ½ΠΈΡ†Π° Π΄Π»ΠΈΠ½Ρ‹ vw, которая Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π°Ρ… ΠΎΡ‚ ΡˆΠΈΡ€ΠΈΠ½Ρ‹ Π²ΡŒΡŽΠΏΠΎΡ€Ρ‚Π°.

Если для ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ Π½Π΅Ρ‚ нСобходимости ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ, Ρ‚ΠΎ запись ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ Π΄ΠΎ Ρ‚Π°ΠΊΠΎΠΉ

sizes="100vw". А для Π±ΠΎΠ»Π΅Π΅ слоТных Π΄ΠΈΠ·Π°ΠΉΠ½ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ CSS-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ calc(), Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€
sizes="(max-width: 30em) 100vw, (max-width: 50em) 50vw, calc(33vw - 100px)"

Π‘Π°ΠΌΡ‹ΠΉ слоТный Π² ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ Π½Π° ΠΌΠΎΠΉ взгляд. Если Π½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ sizes, Ρ‚ΠΎ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ всСгда Π²Ρ‹Π±ΠΈΡ€Π°Π» ΡΠ°ΠΌΡƒΡŽ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ. Π’ сочСтании с width Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, хотя казалось Π±Ρ‹ Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎΠ΅ сочСтаниС ΠΈ ряд Π΄Ρ€ΡƒΠ³ΠΈΡ… глюков. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ это особСнности Ρ€Π°Π½Π½Π΅ΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, ΠΌΡ‹ ΡƒΠΆΠ΅ ΠΏΠΎΠΊΡ€Ρ‹Π»ΠΈ 80% потрСбностСй Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎΠΉ вСрстки, Π° Π΅Ρ‰Π΅ Π½ΠΈ Ρ€Π°Π·Ρƒ Π½Π΅ использовали picture

, настало врСмя Π΅ΠΌΡƒ Ρ‚ΠΎΠΆΠ΅ Π²ΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ Π² ΠΈΠ³Ρ€Ρƒ.

Π€ΠΎΡ€ΠΌΠ°Ρ‚

ИспользованиС Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² для ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΌΠ°Π»ΠΎ отличаСтся ΠΎΡ‚ способов ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… для Ρ‚Π΅Π³ΠΎΠ² video ΠΈΠ»ΠΈ audio
      <picture>
        <source srcset="images/400.webp" type="image/webp">
        <img src="images/400.jpg"
          
        >
      </picture>

ΠœΡ‹ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ список источников ΠΈ mime/type для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ, Π° Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ ΡƒΠΆΠ΅ Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π½Π°Π΅Ρ‚. Π’ качСствС Ρ„ΠΎΠ»Π±Π΅ΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ изобраТСния ΠΈΠ· Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° src.
ΠšΠ°Π΄Ρ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Когда ΠΌΡ‹ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ Ρ„ΠΎΡ‚ΠΎ Π½Π° мСньшСм экранС ΠΈΠ½ΠΎΠ³Π΄Π° ΠΈΠΌΠ΅Π΅Ρ‚ смысл ΠΎΠ±Ρ€Π΅Π·Π°Ρ‚ΡŒ лишниС Π΄Π΅Ρ‚Π°Π»ΠΈ, оставив Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ. Π‘ этой Π·Π°Π΄Π°Ρ‡Π΅ΠΉ Π½Π°ΠΌ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒΡΡ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚
media
      <picture>
        <source media="(min-width: 900px)" srcset="images/original.jpg 1200w">
        <source media="(min-width: 700px)" srcset="images/800crop.jpg 800w">
        <img 
          srcset="images/400crop.jpg 400w"
           
          >
      </picture>

Π’ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π΅ media ΠΌΡ‹ Π·Π°Π΄Π°Π΅ΠΌ ΠΌΠ΅Π΄ΠΈΠ°Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Ρƒ нас Π±ΡƒΠ΄Π΅Ρ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ исходноС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈ, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ², Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ Π±ΡƒΠ΄Π΅Ρ‚ обязан Π΅ΠΌΡƒ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΊΠ°ΠΊ ΠΊΠ°Π΄Ρ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ здСсь сочСтаСтся с Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒΡŽ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°ΡΡ‚ΡΠ½ΡƒΡ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° всю ΡˆΠΈΡ€ΠΈΠ½Ρƒ.
РАЀК

А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ всС 4 ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π² ΠΎΠ΄Π½ΠΎΠΌ Ρ„Π»Π°ΠΊΠΎΠ½Π΅ πŸ™‚ Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ вставка ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΎΠΊ Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ°Ρ€Ρƒ Π»Π΅Ρ‚ (ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠ· Π±Π»ΠΎΠ³Π° ΠžΠΏΠ΅Ρ€Ρ‹)
<picture> <source media="(min-width: 1280px)" sizes="50vw" srcset="opera-fullshot-200.webp 200w, opera-fullshot-400.webp 400w, opera-fullshot-800.webp 800w, opera-fullshot-1200.webp 1200w, opera-fullshot-1600.webp 1600w, opera-fullshot-2000.webp 2000w" type="image/webp"> <source sizes="(min-width: 640px) 60vw, 100vw" srcset="opera-closeup-200.webp 200w, opera-closeup-400.webp 400w, opera-closeup-800.webp 800w, opera-closeup-1200.webp 1200w, opera-closeup-1600.webp 1600w, opera-closeup-2000.webp 2000w" type="image/webp"> <source media="(min-width: 1280px)" sizes="50vw" srcset="opera-fullshot-200.jpg 200w, opera-fullshot-400.jpg 400w, opera-fullshot-800.jpg 800w, opera-fullshot-1200.jpg 1200w, opera-fullshot-1600.jpg 1800w, opera-fullshot-2000.jpg 2000w"> <img src="opera-closeup-400.jpg" alt="The Oslo Opera House" sizes="(min-width: 640px) 60vw, 100vw" srcset="opera-closeup-200.jpg 200w, 400w, opera-closeup-800.jpg 800w, opera-closeup-1200.jpg 1200w, opera-closeup-1600.jpg 1600w, opera-closeup-2000.jpg 2000w"> </picture>

Π—Π΄Π΅ΡΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ 2 Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° JPEG ΠΈ WebP. ΠŸΡ€ΠΈ ΡˆΠΈΡ€ΠΈΠ½Π΅ экрана Π±ΠΎΠ»Π΅Π΅ 1280 пкс показываСтся полноразмСрная ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π² ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρƒ Π²ΡŒΡŽΠΏΠΎΡ€Ρ‚Π°. ΠŸΡ€ΠΈ ΡˆΠΈΡ€ΠΈΠ½Π΅ ΠΎΡ‚ 640 Π΄ΠΎ 1279 показываСтся ΠΎΠ±Ρ€Π΅Π·Π°Π½Π½ΠΎΠ΅ Ρ„ΠΎΡ‚ΠΎ Π½Π° 60% ΡˆΠΈΡ€ΠΈΠ½Ρ‹ Π²ΡŒΡŽΠΏΠΎΡ€Ρ‚Π°. ΠŸΡ€ΠΈ ΡˆΠΈΡ€ΠΈΠ½Π΅ экрана мСньшС 640пкс показываСтся обрСзанная фотография Π½Π° 100% ΡˆΠΈΡ€ΠΈΠ½Ρ‹. Π’Ρ‹Π±ΠΎΡ€ ΠΏΠΎΠ΄ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ DPI экрана производится Π½Π° основС ΡˆΠΈΡ€ΠΈΠ½Ρ‹ исходных Ρ„Π°ΠΉΠ»ΠΎΠ².

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ информация

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌΠΈ caniuse.com/#search=picture
БпСцификация www.w3.org/html/wg/drafts/html/master/embedded-content.html#the-picture-element
Рабочая Π³Ρ€ΡƒΠΏΠΏΠ° ΠΈ Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½ΠΈ Ρ€Π΅ΡˆΠ°Π»ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½ΠΎΠ²ΠΎΠ³ΠΎ элСмСнта responsiveimages.org
ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² использования dev.opera.com/articles/responsive-images

habr.com

| Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ HTML



Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ <picture> (ΠΎΡ‚ Π°Π½Π³Π». «picture» β€’ Β«ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Π°, ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Β») прСдставляСт собой ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ для хранСния Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… элСмСнтов <source>, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… содСрТит ΠΈΠΌΠ΅Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ² Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… вСрсий ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ изобраТСния вмСстС с условиями, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ‚Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Ρ‹. Π­Ρ‚ΠΎ позволяСт ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ изобраТСния с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° экрана, плотности пиксСлСй, Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° изобраТСния ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ². Π’Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ изобраТСния выводится с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ элСмСнта <img>. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ <picture> ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Π°ΡˆΠΈΡ… сайтов, особСнно Π½Π° ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… дСвайсах.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π’ Π΄Π°Π½Π½Ρ‹ΠΉ элСмСнт ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒΡΡ нСсколько элСмСнтов <source>, послС Ρ‡Π΅Π³ΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π²Π»ΠΎΠΆΠ΅Π½ ΠΎΠ΄ΠΈΠ½ <img> элСмСнт, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ скрипт-ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ элСмСнты.

Π’ΠΎΡ‚ нСсколько областСй примСнСния элСмСнта <picture>:

  • для Π–Πš-дисплССв Β«RetinaΒ», ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‰ΠΈΡ…ΡΡ высокой ΠΏΠ»ΠΎΡ‚Π½ΠΎΡΡ‚ΡŒΡŽ пиксСлСй, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ изобраТСния с высоким Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ;
  • Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ Ρ€Π°Π·Π½ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° для Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ² ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΈΠ»ΠΈ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Ρ… устройств, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΠ±Ρ€Π΅Π·ΠΊΠ° ΠΌΠ°Π»ΠΎΠ²Π°ΠΆΠ½Ρ‹Ρ… частСй изобраТСния, ΠΏΡ€ΠΈ ΠΏΠΎΠΊΠ°Π·Π΅ Π½Π° устройствах с мСньшим экраном;
  • Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ изобраТСния Π² Ρ€Π°Π·Π½Ρ‹Ρ… пропорциях для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ измСнСниям Π² ΠΌΠ°ΠΊΠ΅Ρ‚Π΅, ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΌ ΠΎΡ€ΠΈΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ устройства;
  • Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² Π²Π΅ΠΊΡ‚ΠΎΡ€Π½ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ SVG, Π° для Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ², Π΅Π³ΠΎ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ…, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ с Π΄Ρ€ΡƒΠ³ΠΈΠΌ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ.

Бинтаксис

<picture>
  <source srcset="URL">
  ... 
  <img src="..." alt="...">
</picture>

Π—Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Ρ‚Π΅Π³

ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»Π΅Π½.

Атрибуты

Для этого элСмСнта доступны Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹.

Различия ΠΌΠ΅ΠΆΠ΄Ρƒ HTML 4.01 ΠΈ HTML5

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ <picture> Π±Ρ‹Π» Π²Π²Π΅Π΄Π΅Π½ Π² HTML 5.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования:

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ зависит ΠΎΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° экрана:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ HTML:

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ сам
<picture>
  <source media="(max-width: 25em)"
          srcset="iphone.png">

  <source media="(max-width: 48em)"
          srcset="[email protected]">

  <img src="iphone.png"
      alt="iPhone">

</picture>

Π‘ΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌΠΈ

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚
<picture> 38+ 25+ Π”Π° 9.1+ 38+
Π­Π»Π΅ΠΌΠ΅Π½Ρ‚
<picture> 38+ 35+ 9.3+

Π£Ρ‡Π΅Π±Π½ΠΈΠΊ HTML

HTML ΡƒΡ€ΠΎΠΊΠΈ: HTML Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹

HTML Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡ




wm-school.ru

ИспользованиС тэга 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 с нуля

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

webformyself.com

HTML5: picture

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

ΠŸΠΎΡ‚Ρ€Π΅Π½ΠΈΡ€ΡƒΠ΅ΠΌΡ Π½Π° ΠΊΠΎΡˆΠΊΠ°Ρ….


<style>
  img {display: block; margin: 0 auto;}
</style>

<picture>
  <source 
    media="(min-width: 650px)"
    srcset="images/kitten-stretching.png">
  <source 
    media="(min-width: 465px)"
    srcset="images/kitten-sitting.png">
  <img 
    src="images/kitten-curled.png" 
    alt="a cute kitten">
</picture>

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ‚Ρ€ΠΈ Ρ€Π°Π·Π½Ρ‹Ρ… изобраТСния ΠΊΠΎΡ‚Π°. ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ, ΠΊΠ°ΠΊ это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

Π‘Π°ΠΌ элСмСнт picture Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ². Вся Ρ€Π°Π±ΠΎΡ‚Π° сосрСдоточСна Π² source. Π’ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΌ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π΅ srcset ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ сразу нСсколько Ρ„Π°ΠΉΠ»ΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· Π·Π°ΠΏΡΡ‚ΡƒΡŽ с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ коэффициСнта Ρ€Π°Π·Ρ€Π΅ΡˆΠ½ΠΈΡ (srcset=»kitten.png, [email protected] 2x»). Π‘Ρ€Π°ΡƒΠ·Π΅Ρ€ просматриваСт source свСрху Π²Π½ΠΈΠ·, считывая ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ подходящий ΠΈ игнорируя ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅.

ΠΠ΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ media позволяСт ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ сСлСктора CSS @media.

ΠΠ΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ sizes позволяСт Π·Π°Π΄Π°Ρ‚ΡŒ ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ ΡˆΠΈΡ€ΠΈΠ½Ρ‹ (sizes=»100vw») ΠΈΠ»ΠΈ ΠΌΠ΅Π΄ΠΈΠ°-запрос (sizes=»(max-width: 30em) 100vw»).

Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ список запросов (sizes=»(max-width: 30em) 100vw, (max-width: 50em) 50vw, calc(33vw — 100px)»), Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ послСдний элСмСнт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠ°ΠΊ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

ΠΠ΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ type позволяСт ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ MIME-Ρ‚ΠΈΠΏ (type=»image/webp» ΠΈΠ»ΠΈ type=»image/vnd.ms-photo»).

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ img выводится Π² Ρ‚ΠΎΠΌ случаС, Ссли Π½Π΅ оказалось подходящСго изобраТСния Π² source. ЀактичСски это ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Π Π°Π·ΠΌΠ΅Ρ‰Π°ΠΉΡ‚Π΅ Π΅Π³ΠΎ всСгда послСдним.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ. Π’Π°ΠΌ ΠΆΠ΅ Π΅ΡΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹.

Π Π΅ΠΊΠ»Π°ΠΌΠ°

webmaster.alexanderklimov.ru