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

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Скорее всего вам нужно выделить css для первого экрана и вставить его сразу в начале страницы в тег style. Это можно автоматизировать, есть разные инструменты, например вот этот. В любом случае стоит гуглить по запросу critical css.
    Ответ написан
    Комментировать
  • Есть идеи как это реализовано?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Сама линия делается по вот такому принципу с помощью SVG:

    Появление иконок - так же. Заливка надписей с помощью линии - это прямо задача для SVG-масок. Дальше к этому прикручивается кастомный скролл, поскольку сайт нестандартный - проще руками его сделать, чем пытаться доделать какое-то стороннее решение. Плюс немного CSS-анимаций для всего остального. Дальше много абсолютного позиционирования чтобы это все подогнать. Как говорится, ябзаверстал.
    Ответ написан
    Комментировать
  • Почему отображаются одинаковые картинки в разных :nth-child?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Не могу понять, почему.

    Потому что .slideToBringImg во всех случаях является первым ребенком .slide. Так что вам нужно считать сами слайды, а не эти элементы:
    .slide:nth-child(1) .slideToBringImg { ... }
    .slide:nth-child(2) .slideToBringImg { ... }
    .slide:nth-child(3) .slideToBringImg { ... }
    Ответ написан
    1 комментарий
  • Как сделать Респонсивный текст во всем проекте?

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

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Посмотрите вот этот пример:

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

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    танцы с бубном... прокачать навыки верстки максимально быстро и при этом достаточно углубленно... Главное - результат и время.


    Был в похожей ситуации. Могу сказать, что очень полезно порисовать картинки с помощью CSS (если не сталкивались - сходите на CodePen, там это дело очень полюбили). Звучит глупо, но тем не менее такая деятельность помогает очень быстро освоить те свойства CSS, которые обычно все гуглят и не понимают. Это своеобразные "концентрированные" задачи на верстку. Если в одном макете 5 сложных моментов, то тут в одной картинке - 25.
    Ответ написан
    3 комментария
  • Может ли CSS файл содержать вредоносный код?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Например, если подключить так:
    <link rel="stylesheet" href="http://evil.com/styles.css">


    На CSS можно сделать недокейлоггер, который даст информацию о том, что пользователь начинает вводить (повторы одного и того же символа уже не срабатывают).

    Можно отсылать себе информацию о том, куда пользователь нажимает - ссылки, чекбоксы, даже продолжительность наведения мыши на тот или иной объект. Можете посмотреть примеры вот тут. Я сам не все идеи оттуда проверял, но те, что проверял - работают. Собственно эту всю фигню очень любят в письмах использовать, но никто не мешает и на сайте внедрить.

    Можно издеваться над "отключением" кнопок (pointer-events к примеру поменять) или вообще скрыть какие-то важные блоки и пользователи не смогут нормально пользоваться сайтом. Для какого-нибудь магазина - это полный фейл как вы понимаете. Причем, в отличии от полного дефейса, пользователи могут даже не понять, что что-то не так.
    Ответ написан
    Комментировать
  • Как исправить верстку?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    blockquote {
        overflow: auto;
    }
    Ответ написан
    Комментировать
  • Как адаптировать изображение CSS?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    По всей видимости вам подойдет свойство object-fit. Для старых браузеров понадобится полифилл, например этот.
    Ответ написан
    Комментировать
  • Как сделать масштабирование svg по аналогии с background-size: cover;?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Попробуйте добавить preserveAspectRatio="xMidYMid slice" к SVG с этими полигонами.
    Ответ написан
    1 комментарий
  • Что лучше использовать для анимаций css или js? И почему?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    но которую можно реализовать и с помощью css, и с помощью javascript...
    ваше мнение хотел услышать

    Мне самому нравится делать все на CSS, но... Если анимация должна быть интерактивной и нужно ее останавливать в процессе, откатывать в изначальное положение и.т.д., или некоторые ее части зависят от данных (в широком смысле - это и движение по сложной траектории, и построение графиков и.т.д.) и их проще рассчитать скриптом, чем подбирать коэффициенты в CSS keyframes, то JS будет лучшим выбором. Если это последовательность мало связанных между собой изменений, то опять же скрипты почти всегда будет проще реализовать. Если речь идет о CSS-анимациях с фильтрами (особенно SVG-фильтрами), то можно влететь в очень сильные проблемы с производительностью на слабом железе. И никакие хаки с GPU тут не помогут - все равно будет тормозить. В такой ситуации может иметь смысл не просто писать на JS, но и подключить WebGL и все делать руками на шейдерах.

    В остальных случаях стоит смотреть по ситуации - разные :hover / :focus эффекты обычно легко реализуются на CSS, и, если это так, то зачем что-то придумывать? CSS в последнее время очень даже неплох. Но если, например, в проекте вся анимация делается на JS, то может иметь смысл продолжать делать так же, сохраняя единообразие в коде.
    Ответ написан
    Комментировать
  • Какой аналог БЭМ актуален для использования в верстке и CSS?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Насколько знаю, БЭМ юзает только яндекс.

    БЭМ как методологию организации CSS используют все кому не лень, не только яндекс. В наших краях это наверное самый популярный подход. Про него говорят "не знаешь, что выбрать - бери БЭМ".

    Есть альтернативные подходы к классам в CSS, например RSCSS или даже Atomic CSS, но они не имеют такой распространенности. Хотя познакомиться полезно - как и с разными языками, разные методологии расширяют видение происходящего. А уж что выбирать в конкретной ситуации - на этот вопрос вам никто не ответит. У всего есть свои плюсы и минусы.

    P.S.: Видимо стоит привести пару цитат из первых загугленных статей с css-tricks и csswizardry (в соседнем ответе говорится, что он там пропагандируется), чтобы пояснить, почему я говорю в первую очередь про организацию CSS и намекнуть, что "весь мир заблуждается, что БЭМ — это про CSS и классы через чёрточку":
    - BEM is a popular naming convention for classes in HTML and CSS
    - BEM (Block Element Modifier) is a popular CSS class naming convention
    - BEM – meaning block, element, modifier – is a front-end naming methodology
    Народ во всех этих статьях пишет про методологию именования, а не про "БЭМ - это нечто большее".
    Ответ написан
    Комментировать
  • Чистый CSS для анимации или gsap?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    есть микрофризы и фреймрейт скачет где-то. Стоит ли в таких случаях полностью переходить на js-движок типа GSAP ?

    Важно понимать, что GSAP, Anime.js или еще что-то похожее - это инструменты, которые не приносят ничего принципиально нового в плане технологий. Они просто дают удобный интерфейс, через который мы можем менять значения свойств CSS или каких-то атрибутов SVG. Не более того. Соответственно если у вас есть нормально написанная анимация на чистом CSS/JS и она тормозит, то GSAP ее особо не ускорит.

    есть микрофризы и фреймрейт скачет

    Если есть проблемы с текущими анимациями, то стоит проверить, что:
    - Везде используется transform, а не изменения width, height, top, bottom, margin, background-position и.т.д.
    - По возможности не запускается более одной CSS-анимации в единицу времени.
    - Все js-анимации собраны в один requestAnimationFrame.
    - Все CSS/SVG фильтры по возможности заменены на шейдеры. Советую почитать введение в эту тему и еще примеры.
    - Изменение теней в анимациях по возможности заменено на появление псевдоэлементов с такими фонами.
    - CSS-свойство will-change используется по назначению.
    Ответ написан
    1 комментарий
  • Как правильно верстать страницу?

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

    Если проект предполагает продолжительное существование, то имеет смысл делить все на компоненты и верстать каждый по отдельности, класть их в отдельные файлы. Для каждого компонента это стили, скрипты и пример разметки. Разумеется, все общие данные вроде цветов или размеров отступов имеет смысл сразу выносить в отдельный конфиг. Полезно сразу использовать везде одну и ту же методологию по именованию всего. Какая будет - не важно, главное, чтобы везде одинаковая. Организовать можно по-разному, но суть в том, чтобы работать не со "страницами", а с "набором компонентов".

    Потом имеет смысл сделать страницу, на которой будут все компоненты сайта или группы сайтов (часто бывает, что у одной компании несколько сайтов с одним дизайном) в одном месте с примерами разметки (можно сгенерировать автоматически, инструментов хватает). А потом или методом копипасты или с шаблонизатором (смотря какой проект) клепать страницы десятками и вообще ни о чем не думать. Все это не занимает так много времени, как некоторые думают, а в перспективе происходит экономия на поддержке... Хотя стоп, о чем это я, в нашем мире господствует подход х*як-х*як и в продакшен.
    Ответ написан
    Комментировать
  • Как сделать glitch эффект в css или JS?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Сходите на codepen и посмотрите демки с первых 3-4 страниц по запросу "glitch". Там есть самые разные варианты того, как этот эффект можно сделать.
    Ответ написан
    Комментировать
  • Как модифицировать анимацию с циклами?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Надо что бы анимацию каждый делал поочередно

    .header-icon {
      animation: mymove 3s linear infinite;
      animation-fill-mode: forwards;
    }
    
    .header-icon.two{
      animation-delay: 1s;
    }
    
    .header-icon.three{
      animation-delay: 2s;
    }
    
    @keyframes mymove {
      0%   { transform: translateY(0);     }
      15%  { transform: translateY(-60px); }
      33%  { transform: translateY(0);     }
      100% { transform: translateY(0);     }
    }
    Ответ написан
  • Как сверстать такой элемент?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Две больших картинки с object-fit: cover. Одна - нормальная, вторая - только голова и лапа слона, а вокруг нее прозрачное ничего. Голова в центре, при адаптивном изменении пропорций всего этого она никуда не уедет. Картинки одинакового размера. Дальше три слоя с абсолютным позиционированием - нормальная картинка, слой с текстом и картинка с головой. Текст - в виде встроенной SVG, там на него можно будет кроссбраузерно наложить любые градиенты.
    Ответ написан
    1 комментарий
  • Как сделать такой эффект при наведении?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    1. Блок с overflow: hidden, содержимое в 200% его высоты.
    2. При наведении содержимому добавляется transform: translateY(-100%).
    Ответ написан
    Комментировать
  • Как сделать такую анимацию?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Скорость скролла используется как угловое ускорение для этих объектов. Знак зависит от направления скролла. При этом есть сила трения, которая постоянно уменьшает модуль скорости, тем самым тормозит и останавливает эти штуковины в конечном счете. Формулы из курса кинематики за 9 класс помогают сделать движения более натуральными, плавными и приятными глазу.
    Ответ написан
    Комментировать
  • Как делается такой эффект?

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

    Можно также все это делать с помощью SVG-маски, тоже из кучи квадратов, тоже менять им прозрачность при наведении мыши. По идее маска должна быть более производительным решением в этой ситуации.
    Ответ написан
    Комментировать