Ответы пользователя по тегу HTML
  • Как правильно прописать font-display?

    @skeevy
    Frontend WebDev
    1. PageSpeed - не серебряная пуля. Это, в первую очередь, синтетика.
    2. В отладчике включите троттлинг и смотрите, как ведут себя шрифты, если у вас нет текста - font-display попросту не работает
    3. Убедитесь, что у вас сброшен кеш (как серверный, так и локальный) прежде чем тестировать
    4. Вам не нужно использовать PageSpeed, у вас в Хроме уже есть LightHouse, к которому PageSpeed обращается. Так сказать, внешняя реализация того, что встроено уже в хром (не к вашему локальному, если что)
    5. Возможно, у Вас недостаточно запасных шрифтов для отработки свапа. У вас идет обращение к локальным шрифтам, которых модет не быть. Я бы свапал на Roboto/Arial/serif/sans-serif.
    6. Убедитесь, что у вас правильно написан фоллбек в src, включая отсылку на локальные шрифты
    Ответ написан
    Комментировать
  • Как автоматизировать слайдер на JS?

    @skeevy
    Frontend WebDev
    Теоретически работает аналогично вашему коду, работоспособность не проверял, ибо все плохо

    const BI = document.querySelectorAll('.BlockItems');
    const b = document.querySelectorAll('.b');
    
    const style1 = "background-color: white;"
    const style2 = "animation: op100 ease 2s;"
    
    let counter = 0;
    const callback = (item, style) => item.setAttribute("style", style);
    
    function clean() {
      BI.forEach(item => callback(item, style2));  
      b.forEach(item => callback(item, style1));  
    }
    
    function RS() {
      counter >= BI.length - 1 ? 0 : counter += 1;
      
      callback(BI[counter], `${style1}; display: none;`);
      b[i].removeAttribute("style");
    }
    
    b.forEach((item, index) => {
      item.addEventListener("click", () => {
        counter = index;
        callback(BI[index], style2);
        callback(b[index], style1)
      })
    })


    1) зачем на каждой итерации переопределять стили, тем более инлайнить их? classList.add()/.remove()/.toggle() ваш друг, раздавайте стили и сравнивайте с индексом итерации
    2) если вы обрабатываете каждый элемент, используйте forEach
    3) если вам нужно событие клика - устанавливайте прослушку, а не назначайте атрибутами
    4) если нужно слайдить влево/вправо, сделайте одну функцию, которая будет прибавлять/убавлять значение и обрабатывать слайды по индексу

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

    @skeevy
    Frontend WebDev
    вам бы верстку поправить, у меня на 1360*768 в шапка и сайдбарах каша непонятная
    да и слайдер slick я бы порекомендовал использовать, он адаптивен и прост
    Ответ написан
    1 комментарий
  • Flex 2 блока максимум. Как сделать?

    @skeevy
    Frontend WebDev
    flex-wrap попробуй + align-self или марджины
    а order тебе тут не нужен, если ты только не меняешь отображение
    + если не можешь писать классы в css, пропиши в html
    Ответ написан
    3 комментария
  • Как исправить этот баг выезжающего меню на iPhone 7 plus?

    @skeevy
    Frontend WebDev
    для яблочных девайсов используй responsinator.com и аналоги
    скроллы появляются (я так понял) из-за того, что у тебя меню в высоту экрана не вписывается
    скроллбары можно скрыть в css
    Ответ написан
    Комментировать
  • Элементы flex-box сжимаются даже с заданной шириной. Это нормальное поведение?

    @skeevy
    Frontend WebDev
    html5.by/blog/flexbox - тут подробное описание, и уделено внимание flex-wrap, как написано выше
    Ответ написан
    Комментировать
  • Почему многие ругаются на flex и float? Что в таком случае использовать?

    @skeevy
    Frontend WebDev
    Использую flex во всех свои проектах.
    Просто как-то раз попробовал сверстать шапку сайта и тут понеслось.
    Значительно увеличилась производительность, очень помогает при адаптивной верстке.
    Например, шапка сайта с 2 или 3 элеметами
    На разрешении примерно ниже 768 уже в строку не помещается - достаточно поменять flex-direction на column - шапка будет в столбик, все довольны.
    То же самое и с выравниванием по осям.
    Намного удобнее менять элементы местами во флексе: достаточно написать order дочерним элементам - все поменялось.

    Возможно, так же легко манипулировать float, недолго я им пользовался и не знаю всей специфики, но флексбокс реально облегчает верстку многократно
    Ответ написан
    Комментировать
  • На каком движке делают крутые лендинги?

    @skeevy
    Frontend WebDev
    Крутые лендинги делаются руками. Нет ничего сложного в освоении html5+css3+js. А применяя flexbox и/или grid намного облегчают расположение элементов и экономят время, но до этого нужно сперва дойти
    А крупные агенства наверняка используют собственные движки.
    Топ ошибок?
    1) Использовал Adobe Muse
    2) Спешка и невнимательность
    Ответ написан
    Комментировать
  • Как с помощью nth-child выбрать такую последовательность элементов?

    @skeevy
    Frontend WebDev
    htmlbook.ru/css/nth-child - первая ссылка в гугле, все доступно написано. И даже счетчики приведены
    Ответ написан
    Комментировать