Ответы пользователя по тегу CSS
  • Так ли важна скорость загрузки по PageSpeed Insights?

    @pu6elozed
    Bitrix, fullstack
    Используйте современные форматы изображений JPEG 2000, JPEG XR и WebP

    Для этого существует тэг picture с source, в котором и можно использовать webp. Если не будет поддерживаться, то и не будет использоваться этот source

    Устраните ресурсы, блокирующие отображение

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

    Настройте подходящий размер изображений

    но на мобильном нет таких размеров. в лучшем случае 375px и @2x, что соответствует 750px, нужно подгружать те форматы и размеры изображения, которые будут подходить текущему разрешению экрана, через тот же вышеупомянутый тег source внутри picture

    Задайте правила эффективного использования кеша для статических объектов

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

    Как это можно исправить, или это не так важно...? Как вы поступаете в таких ситуациях? Вы придерживаетесь рекомендациям google?

    Как было написано - это всего лишь рекомендация. Руководствоваться этими рекомендациями или нет, решать лично вам. Однако гугл уже давно использует данные PageSpeedInsights, и учитывает их при ранжировании
    Ответ написан
    3 комментария
  • Оптимизация больших изображений для сайта?

    @pu6elozed
    Bitrix, fullstack
    По пунктам:
    1. Используйте современные форматы изображений - гугл хочет чтобы на сайте использовались более легкие(не всегда, но в большинстве случаев) варианты изображений в формате допустим .webp
    2. Настройте эффективную кодировку изображений - значит что изображения слишком много весят
    4. И самое главное, что влияет на все предыдущие пункты - некорректное соотношение размера отображаемого изображения - его визуальному размеру. К примеру - у вас изображение 2500px, действительно ли его нужно отображать на смартфонах в полный размер. или достаточно превью?
    <article>
      <img srcset="https://dummyimage.com/2560x400/333/fff 2x,
                   https://dummyimage.com/1280x400/333/fff 1x"
           sizes="(min-width: 1280px) 1280px, 100vw"
           alt="A title">
    </article>

    По вышеописанному коду для современных мобильных используется srcset=https://dummyimage.com/2560x400/333/fffтак как у них плотность пикселей 2x. PageSpeedInsights эмулирует отображение на аналогичном смартфоне.
    Для более гибкого подхода в html5 появился элемент picture. Подробнее посмотреть советую у Вадима Макеева в этом же видео подробно разбирается оптимизация графики для сайта.
    На примере вашего кода можно сделать набросок
    <picture>
        <!-- source для браузеров поддерживающих webp, соответственно srcset тоже должен указывать на webp-->
        <source type="image/webp" srcset="https://dummyimage.com/575x150/333/fff 1x, https://dummyimage.com/1150x300/333/fff 2x," media="(max-width: 575px)">
         <!-- source для браузеров не поддерживающих webp -->
         <source srcset="https://dummyimage.com/575x150/333/fff 1x, https://dummyimage.com/1150x300/333/fff 2x," media="(max-width: 575px)">
        ...  <!-- все остальные необходимые размеры, вроде планшетов и т.д. -->
        <!-- fallback для браузеров не поддерживающих элемент picture -->
        <img src="https://dummyimage.com/2560x400/333/fff" alt="A title">
    </picture
    Ответ написан
    1 комментарий
  • Как сверстать такой блок на grid?

    @pu6elozed
    Bitrix, fullstack
    Если не принципиально именно использование гридов - тут максимально подходит под описание Masonry https://masonry.desandro.com
    Ответ написан
    Комментировать