Задать вопрос
Ответы пользователя по тегу CSS
  • Как сделать такой градиент?

    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+ без полифиллов и костылей.
    Ответ написан
    Комментировать
  • Как создавать анимации?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    В целом такие анимации обычно не предполагают какую-то их поддержку (сделали, порадовались, на новый год сделали новую, с елочкой, а старую выбросили). Поэтому можно не заморачиваться и сделать все по-быстрому на чистом CSS (можно добавить пре/пост-процессор по вкусу). Пример вашей анимации (я не старался повторить один в один и не проверял в чем-то, отличном от хрома, но мысль должна быть ясна).
    Ответ написан
    Комментировать
  • Где можно найти лёгкие макеты .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 комментарий
  • Как правильно поставить canvas-анимацию на фон сайта?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Имеете в виду particles.js? (чувствую, что да, вы уже задавали сегодня этот вопрос).

    Подскажите, может какие нюансы есть...

    Полезно прочитать инструкцию по использованию.

    P.S.: Описание "не хочет работать" не дает представления о вашей проблеме. Соответственно не ожидайте, что кто-то угадает, что именно у вас не так.
    Ответ написан
    2 комментария
  • Как бы вы сверстали такой блок?

    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 подключается второй раз.
    Ответ написан
    Комментировать
  • Как в less сделал арифметическую прогрессию?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    .generate-styles(3);
    
    .generate-styles(@n, @i: 1) when (@i =< @n) {
      .style-@{i} {
        left: 50px + @i * 15px;
      }
      .generate-styles(@n, (@i + 1));
    }


    На выходе даст это:
    .style-1 {
      left: 65px;
    }
    .style-2 {
      left: 80px;
    }
    .style-3 {
      left: 95px;
    }
    Ответ написан
    1 комментарий
  • Как сделать такой фон на чистом css?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    на чистом 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 комментарий
  • Из-за чего может лагать легкая анимация css3 на сайте?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Используйте transform: translateX + will-change вместо того, чтобы анимировать свойство left при абсолютном позиционировании.
    Ответ написан
    Комментировать
  • Оцените верстку начинающего верстальщика?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    По внешнему виду:
    Адаптивность есть, это хорошо. Есть мелкие проблемы, которые портят впечатление (где-то что-то обломалось, где-то что-то не влезло):
    240b345906f84e7ca5af8252d9b00964.png51d00024eb5c4c8896e8e888ce8ea000.png821cc5a47651408c8728229982fe1521.png
    и.т.д. Также стрелка снизу кажется не по центру, отступы какие-то странные местами (макет не смотрел, это чисто личное впечатление). Фокус на элементах практически не заметен. Стоит поработать над этим. Обводка синим - бяка.

    По коду:
    - Отсутствует система в именовании классов. Почитайне про БЭМ или RSCSS.
    - Использовать #id в CSS не стоит. Это дурной тон и источник проблем.
    - Из-за вышеупомянутого отсутствия системы классов CSS читать невозможно + потенциальные проблемы с перебиванием стилей в неожиданных местах.
    - Много магических чисел в CSS (321px, 44.148936%, 381px...). Практически всегда можно избежать этого.
    - Нет ресета/нормалайза. Тоже потенциальные проблемы.

    Поправьте вышеупомянутые проблемы. После этого приходите к использованию препроцессоров (можно начать с LESS - он самый простой, но в 99% случаев его возможностей достаточно). Ну и JS изучайте, без него верстальщику не выжить.
    Ответ написан
    1 комментарий
  • Как сделать это в методологии rscss?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Ну вообще-то можно не только дочерний - rscss.io/css-structure.html#avoid-over-nesting, но если вы хотите избежать такой вложенности в CSS, то можно просто сделать ссылку с оберткой отдельным компонентом, как-нибудь так:
    nav.main-navigation
        ul.links-list
            li.wrapped-link: a.link(href='') Link
            li.wrapped-link: a.link(href='') Link
            li.wrapped-link: a.link(href='') Link
            li.wrapped-link: a.link(href='') Link
            li.wrapped-link: a.link(href='') Link


    .main-navigation {
        // ...
    }
    
    .links-list {
        display: flex;
        justify-content: center;
        margin: 0;
        padding-left: 0;
        list-style-type: none;
    }
    
    
    .wrapped-link {
        flex-basis: 20%;
    	
        > .link {
            display: block;
            padding: 15px;
            text-align: center;
            text-decoration: none;
    		
            &:hover,
            &:focus {
                text-decoration: none;
                background-color: #333;
            }
        }
    }
    Ответ написан
    5 комментариев
  • Почему не получается поместить текст в рамках тега span?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    И, разумеется, <br><br> тут совсем ни при чем. Быть может стоит их убрать?
    Ответ написан
    Комментировать
  • Подключение шрифтов на сайт и форматы?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Достаточно ли этого для кроссбраузерности?

    Ну так можно посмотреть:
    caniuse.com/#search=woff (спойлер: IE9+ и все нормальные браузеры)
    caniuse.com/#search=eot (спойлер: решение для IE6-9)

    Определитесь с вашими критериями кроссбраузерности и сделайте вывод сами.
    Ответ написан
    Комментировать
  • Как сделать смену изображения через каждые 5 сек?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    /* There is no JS scripts! */

    На чистом CSS - никак. Просто потому, что CSS не позволяет "чекнуть" input. Вообще на CSS много чего нельзя сделать, я уже как-то раз приводил список аргументов в пользу слайдеров на скриптах.
    Ответ написан
  • Перебор с анимацией? Как сделать все стильно и останавливаться во время?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Первый вариант вполне неплох. Максимум, что можно еще попробовать добавить - это легкое размыливание (буквально 1px) для текста, который сереет и уходит на задний план. Я бы на вашем месте доделал возможность адекватно перемещаться по странице с помощью tab (а то фокус куда-то улетает постоянно) и подумал, что делать с этой красотой на touch-устройствах (кнопка "читать дальше" под ховером - плохая идея с точки зрения удобства использования).
    Ответ написан
    1 комментарий
  • Как сделана эта анимация? Библиотека?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Попробуйте VanillaJS. Этот фреймворк просто создан для того, чтобы добавлять и удалять CSS классы. А вообще - такое можно с помощью CSS анимации сделать (без скриптов).
    Ответ написан
    1 комментарий
  • Почему не происходит слопывания марджинов?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Вероятно у кнопки display: inline-block. Дайте ей display: block и все схлопнется.
    Ответ написан
    1 комментарий