Ответы пользователя по тегу HTML
  • Как реализовать такой блок?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Демка, от которой вы можете оттолкнуться. Она была сделана для другого вопроса, но суть одна и та же.
    Ответ написан
    1 комментарий
  • Как делать отступы по макету?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Это по какой-то системе делается или дизайнер просто так по красоте на глазок подбирает отступы?

    Эта система в народе называется стайлгайд. В долгоживущих проектах иметь его в оформленном виде очень полезно. В нем есть и все размеры, и все цвета, и шрифты, а часто и компоненты по отдельности. Если у вас есть стайлгайд - то вы работаете по нему, макет страницы - это скорее для понимания "что в какое место поставить". Он может быть кривым/косым, хоть на бумажке нарисованным.

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

    А вот если у вас нет стайлгайда и при этом кривой макет, то стоит спросить дизайнера/заказчика об этом и действовать исходя из их объяснений. Единственное, что стоит серьезно обсуждать - так это ситуацию, когда заказчик хочет pixel-perfect, до дизайнера уже не достучаться, а весь макет кривой настолько, что аж в глазах рябит. Там нужно или увеличивать сроки и цену или убеждать, что плюс-минус пара пикселей не имеют великого смысла и вы выиграете и по срокам и в перспективе при поддержке всего этого.
    Ответ написан
    Комментировать
  • Какую библиотеку для анимации вы используете постоянно?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    На постоянной основе - anime.js или делаю анимации на CSS, иногда использую D3.js.
    Ответ написан
    Комментировать
  • Почему вконтакте не определяет микроразметку?

    sfi0zy
    @sfi0zy Куратор тега HTML
    Creative frontend developer
    Пробовал и кириллицей и ponycode и с http и без него, все безуспешно.

    А кэш сбрасывали?
    Почему ВКонтакте не подцепляет мой OpenGraph image?
    Ответ написан
  • Есть реально адаптивные/responsive - вплоть до 4k (широкие экраны) шаблоны?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Возможно я чего-то не понимаю в реальной вёрстке, раз такой подход хвалёной адаптивности - подгонки сайта ко всему - от умных часов до UltraHD-телевизоров - на практике слабо встречается.

    Это бизнес. Ничего личного. Условно, если у сайта менее 0.5% пользователей сидит с телевизоров или с часов, то дешевле положить на них болт, чем адаптировать. Серьезные компании могут заплатить UI дизайнеру, UX дизайнеру (а то и целой команде), верстальщику, купить им несколько телевизоров, умные часы, провести несколько юзабилити-тестирований, потратить на все это кучу денег. А компаниям с небольшим отделом разработки это выльется в годовой бюджет этого отдела и никак не окупится.
    Ответ написан
    Комментировать
  • Как исправить кучу ошибок цсс в валидаторе?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Как исправить кучу ошибок цсс в валидаторе?


    Тут вопрос не в том, как исправить, а в том, что исправить. Префиксы, как вы понимаете, нам нужны в любом случае. Меняем настройки валидации, чтобы не обращать на них внимание:
    9d365b5f13ea4505a0f5ffbb674078a3.png

    Имеем 9 ошибок с вашего сайта. Из них (с повторениями, -webkit-min-device... не считаем):
    - Property user-select doesn't exist : none - это свойство из черновика CSS4. Все ок.
    - Property touch-action doesn't exist : pan-y - относится к спецификации Pointer Events, а не CSS. Все ок.
    - Value Error : cursor hand is not a cursor value : hand - вот тут ошибочка, cursor: hand не бывает.
    - Value Error : margin-top Unknown dimension 10px\9 - что-то тут не так со значением отступа.

    Последние две ошибки стоит поправить, на остальное можно забить.
    Ответ написан
    1 комментарий
  • Display обнуляет любую анимацию через transition?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Используйте
    visibility: hidden;
    pointer-events: none;

    вместо display: none;
    и
    visibility: visible;
    pointer-events: auto;

    вместо display: block;

    Анимация будет работать так, как вы описали. Pointer-events отключается для того, чтобы скрытый элемент не мешал наведению и кликам по элементам под ним (если он будет абсолютно позиционирован или перемещен и что-то окажется снизу).
    Ответ написан
    Комментировать
  • Как заставить все элементы станицы наследовать размер шрифта с body а не с непосредственного родителя в единицах em?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Как отменить наследование

    1em = размер шрифта родительского элемента
    1rem = размер шрифта корневого ( :root ) элемента, в данном случае - это html

    Вероятно вам необходимо использовать единицы rem.
    Ответ написан
    Комментировать
  • Как создать подложку на ::before?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Немного поправил ваш код:
    .arrow {
      position: relative;
    }
    
    .arrow::before {
      content: '';
      display: block;
      width:  650px;
      height: 600px;
      background: blue;
    }
    
    .arrow::after {
      content: '';
      display: block;
      position: absolute;
      top:  0;
      left: 0;
      width:  600px;
      height: 400px;
      background: url(http://cliparting.com/wp-content/uploads/2016/05/Arrow-clipart-arrow-graphics-clipartcow-2.png);
    }
    Ответ написан
    Комментировать
  • Как сверстать это?

    sfi0zy
    @sfi0zy Куратор тега HTML
    Creative frontend developer
    Как сверстать это?

    Вот как-то так (вариант без SVG, построенный на CSS-трансформациях).

    Пара замечаний по поводу решения:
    - Картинки в виде нормальных картинок, а не фонов, нужны для того, чтобы было проще адаптировать под ретину, загружать их независимым lazy-loadом и для лучшего индексирования поисковыми системами (не могу ни подтвердить, ни опровергнуть, но по личным наблюдениям фоновые картинки имеют свойство иногда не индексироваться вообще, зависит от фазы луны).
    - В связи с первым пунктом добавил полифил для свойства object-fit (нужен только для IE, остальные браузеры давно уже умеют его использовать).
    - Все резиновое, но на маленьких экранах лучше сбрасывать одну секцию под другую (на вашей картинке это не отображено, но логика подсказывает).
    Что имею в виду

    На большом экране:
    ca767f8e94ed4185a9afc83022f90d4f.png
    На маленьком:
    f0d7cc300cb344a7883526d7f28606b0.png
    Ответ написан
    Комментировать
  • Какой порядок обучения веб-верстке вы посоветуете?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    По вашим словам кажется, что вы понятия не имеете о том, какой инструмент для чего нужен. Так что рекомендую следующий план:

    HTML: практика -> Pug или любой другой препроцессор -> понять зачем он нужен -> микроданные -> wai-aria
    CSS: практика -> каждый день выкладывать один сверстанный компонент на CodePen -> всякое разное -> изучить внутренности normalize.css -> использовать autoprefixer -> изучать хорошие практики -> написать свою сетку -> познакомиться с БЭМ, RSCSS -> осознать полезность методологий -> препроцессоры (LESS проще, SASS моднее, есть еще много разных) -> PostCSS -> осознать разницу между пре-процессором и пост-процессором
    JS: ES6+ -> Babel -> понять смысл инструмента -> писать много велосипедов -> много велосипедов -> больше велосипедов богу велосипедов -> паттерны проектирования -> тестирование
    Gulp/Grunt и Webpack/Browserify: осознать разницу -> использовать по мере надобности -> научиться автоматизировать все, что можно автоматизировать
    Git, NPM: без комментариев

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

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

    Ну и умение задавать вопросы тоже лишним не будет.
    Ответ написан
    Комментировать
  • Как сделать угл у блока с разным background через css?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Можно совместить идею использования градиентов на ::before и ::after и старый хак с padding в процентах, чтобы получить универальную конструкцию, которая работает на любой ширине родительского элемента и при любом содержимом: codepen.

    Также можно использовать calc для вычисления переходных точек этих градиентов (если вам нужно сохранять ширину полоски одинаковой при изменении ширины элемента), но нужно помнить про IE, который не очень это умеет, и в таком случае придется подставлять подпорку для него.
    Ответ написан
    Комментировать
  • Как сделать такой градиент?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Можно делать фон, состоящий из нескольких градиентов:
    background:
        radial-gradient(circle at center, #fff 50%, transparent 55%),
        linear-gradient(-45deg, #001510, #00bf8f);


    codepen
    Ответ написан
    Комментировать
  • Как выровнять текст в ol?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Проще всего вытащить сами цифры абсолютным позиционированием, как в этом примере, а текст сам по себе выровняется. В качестве бонуса этот подход должен спокойно работать в IE9+ без полифиллов и костылей.
    Ответ написан
    Комментировать
  • React.js: как × превратился в крестик?

    sfi0zy
    @sfi0zy Куратор тега HTML
    Creative frontend developer
    Я просто оставлю пару ссылок и попрошу вас подумать, каким боком к вопросу относятся теги javascript, react.js и meteor.js.
    Ответ написан
    1 комментарий
  • Где можно найти лёгкие макеты .psd для новичка в вёртке?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Сходите на psdrepo.com. Там много приятных глазу макетов (часть из них была замечена в рассылке htmlacademy). Есть целые страницы, есть просто наборы элементов интерфейса.
    Ответ написан
    Комментировать
  • Как правильно использовать в html единицу измерения em?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Вы задаете :root значение размера шрифта (кстати познакомьтесь с вот этой идеей - сам пользуюсь постоянно, замечательная вещь). По умолчанию обычно размер шрифта для :root в браузерах равен 16px. Задавать для :root размер шрифта в rem/em бессмысленно - это как масло масляное.

    1rem (1 root em) будет равен тому размеру шрифта, который задан для :root и будет одинаковым для всех элементов на странице. Если вы вложите кучу элементов с font-size: 1.1rem друг в друга, то все они будут иметь один и тот же размер шрифта.

    1em у каждого элемента будет свой, равный размеру шрифта родительского элемента. Если вы вложите кучу элементов с font-size: 1.1em друг в друга, то каждый следующий будет иметь размер шрифта больше, чем предыдущий.

    ---

    Сам я стараюсь все, что можно, делать в rem (включая все размеры на странице, отступы, border-radius, брейкпоинты и.т.д.) в сочетании с адаптивной типографикой из вышеприведенной статьи, а единицу em использую очень редко. А размеры в пикселях - вообще редкость, только если 1-2px в местах, где округление может сломаться. Такой подход не является общепринятым, но может быть очень удобным, я его описывал в статье на хабре. Демка там получилась так себе, но с тех пор идея обкаталась и успешно применяется.
    Ответ написан
    1 комментарий
  • Как бы вы сверстали такой блок?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Как говорится, ябзаверстал (за магические числа в примере ответственности не несу, был пьян).

    Можно взять базовую разметку:
    .project-timeline
        .step
            .number 1
            .content Lorem ipsum dolor sit amet.
        .step
            .number 2
            .content Lorem ipsum dolor sit amet.
        ....


    С помощью CSS-трансформаций перевернуть половину элементов, а их содержимое перевернуть еще раз.
    получится что-то такое
    a3d02b15825a4eb58aa11fd45a526e2b.png


    На маленьких экранах все повернуть еще раз.

    получится вот так
    3bd5d493f63e43fd98b845854a6ba5e9.png


    ---
    CodePen
    Ответ написан
    Комментировать
  • На разных страницах по разному работает css?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    На главной странице в 728 строке stylesheet_custom.css подключается второй раз.
    Ответ написан
    Комментировать
  • Несколько вопросов о шрифтах и pagespeed insight?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    1. caniuse.com/#search=ttf, caniuse.com/#search=otf.
    2. Я бы склонялся к woff. Ну или woff в сочетании с eot, если нужны старые IE.
    3. Google PageSpeed Insight вообще много на что ругается. Такой уж у него характер. В первую очередь под сжатием обычно понимают удаление всех ненужных символов из шрифта (у вас на сайте редко когда будет больше 1-2 языков, так что и полный набор обычно не нужен).
    4. Стоит ли вообще учитывать эти критерии , на которые ругается PageSpeed Insight? - Нет. Этот тест показывает вам узкие места, на которые стоит обратить внимание, но в первую очередь вы должны смотреть своими глазами. Я видел сайты, которые загружались меньше секунды и при этом имели 30-40 баллов по оценке этого теста, а то и меньше, а видел и такие, что они грузились 8-10 секунд при оценке в 95-100.
    Ответ написан
    1 комментарий