Ответы пользователя по тегу CSS
  • Как сделать такую штуку?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Вариантов в целом много. Если пойти по пути псевдоэлементов с абсолютным позиционированием и аккуратного выравнивания, то получится что-то такое:
    Ответ написан
    Комментировать
  • Прорисовка SVG?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Нужно с помощью метода getTotalLength() узнать длину path (она равна 3904) и подставить ее везде, вместо вашего магического числа 1000.
    Ответ написан
    5 комментариев
  • Как прописать CSS стили конкретно для Firefox?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    На сайте browserhacks.com вы найдете самые разные варианты проверок (как на CSS, так и на JS) на те или иные браузеры, в частности - Firefox там тоже есть.
    Ответ написан
    Комментировать
  • Как вставить 3д модель с помощью three.js?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    В сети есть множество примеров. Есть официальный пример из документации самой Three.js. Или вот, например, другой вариант, с дополнением в виде статьи.
    Ответ написан
    Комментировать
  • Как это лучше реализовать?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Для квадратов с размером одежды - можно просто border сделать. Круги можно нарисовать с помощью radial-gradient() в фоне, без создания дополнительных элементов (чередуя цвет и прозрачность по мере удаления от центра).

    В таких переключателях не так важно, как вы их сверстаете, важна доступность. И вот тут самая сложность и кроется. В этом маленьком компоненте нужно подумать про поддержку клаиатуры, подумать про то, что читалки должны понимать, что это radio-инпут и здесь что-то выбирается, ну и должны быть по крайней мере очевидные изменения во внешнем виде на :hover/:focus и выделение выбранного варианта. Последнее решается с дизайнером. А про первые два - полезно загуглить для своего развития, даже если ваш заказчик/начальник скажет, что "денег нет, но вы [пользователи с ограниченными возможностями] держитесь".
    Ответ написан
    1 комментарий
  • Как сделать адаптивный по высоте треугольник на CSS?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    В современном CSS есть замечательная штука - clip-path, которая позволяет сделать элемент нужной формы. В контексте вашей задачи это решение гораздо надежнее хаков с градиентами, т.к. будет по-настоящему тянуться на любую высоту (правда IE эту красоту не поддерживает):
    Ответ написан
    3 комментария
  • Hover у тега svg?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Проблема в том, что у вас дублируются id у элементов на странице.
    Ответ написан
    1 комментарий
  • Как сделать шар?

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

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    С помощью градиентов можно нарисовать все, что угодно:

    Ну и обычными картинками тоже можно, через border-image или так же, через фоны.
    Ответ написан
    Комментировать
  • Эффект движения изображений при scroll?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Есть очень прикольная штука - Locomotive Scroll.
    Ответ написан
    Комментировать
  • Что за эффект при скролле?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Все это строится на шейдерах в WebGL.

    Первый пример очень похож на вот эту демку (лучше открыть в отдельном окне):


    А вот найти готовое решение один в один как на какой-то гифке из сети очень сложно. Часто его не будет. Дизайнер концепт нарисовал, а на практике никто такое еще не запрограммировал. В такой ситуации - только руками писать. Советую почитать введение в программирование шейдеров для верстальщиков и посмотреть стримы Юрия Артюха (меня терзают смутные сомнения, что он когда-то делал эффект, как во втором вашем примере).
    Ответ написан
    1 комментарий
  • Как сделать, чтобы эффект blur не выходил за бэграунд?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    .main-header {
        overflow: hidden;
    }
    Ответ написан
    Комментировать
  • Интерактивная карта с svg и css?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Подскажите как реализовать SVG интерактивную карту без использования обычной картинки. У многих в уроках используют картинку и поверх уже прописывают svg элементы. Я же хочу сделать полностью на svg фон и элементы к нему но вот не знаю как правильно сделать это...

    Если взять интерактивную карту, состоящую из картинки и SVG поверх нее (как в этой статье), и убрать картинку, то останется интерактивная карта, состоящая только из SVG. Это вроде как очевидно. Вы можете дорисовывать или раскрашивать элементы в SVG на свой вкус, но принцип работы интерактивной части останется тем же.
    Ответ написан
    Комментировать
  • Как "заставить" работать stroke-dashoffset?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Дело в том, что в браузере firefox не работает свойство stroke-dashoffset

    Если добавить единицы измерения, то начинает работать:
    stroke-dashoffset: calc(440px - (440px * 90) / 100);
    Ответ написан
  • Как добавить автоматическое добавление квадратов на CSS?

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



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

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    На CSS такое обтекание никак не сделать. Но можно пойти одним весьма хитроподвывернутым способом - продублировать текст и скроллить два блока с контентом одновременно. Как в этом примере, только в одной плоскости, без "перевернутой" трансформации:



    Это позволит сделать плавное движение, без рывков при перестроении элементов в DOM-дереве.
    Ответ написан
    3 комментария
  • Для каких проектов стоит подключать reset.css?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    У браузеров есть встроенные стили (user agent stylesheets), которые они применяют к элементам на страницах по умолчанию. И эти стили у разных браузеров разные. Это не сразу бросается в глаза, но отличий там довольно много. И эти отличия вынесут вам мозг при тестировании любой более-менее сложной верстки.

    Один вариант решения проблемы - normalize.css. Там переопределяются лишь некоторые свойства, которые отличаются в разных встроенных наборах стилей (ну и плюс некоторые детали, которые не так важны в этом контесте), но большая часть стилей по умолчанию (которые одинаковые в разных браузерах) остается на месте.

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

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Вероятно вам нужно использовать "+":
    nav:hover + section
      left: 170px
    Ответ написан
    1 комментарий
  • Фигуры на чистом css или svg?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Давайте посмотрим с разных сторон:

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

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

    С третьей стороны может быть соглашение в компании относительно верстки и в нем этот момент может быть описан (скорее всего в пользу SVG). Тогда ничего не придумываем и действуем в соответствии с ним - постоянство в коде очень важно для его поддержки.

    С четвертой стороны могут быть такие элементы, что на CSS их не получится сделать кроссбраузерно (с учетом утвержденного списка браузеров). Тогда SVG - наш выбор.

    С пятой стороны могут быть анимации у этих элементов. Там нужно смотреть, но иногда вариант с SVG можно будет анимировать как задумано, а вариант на CSS - нет.

    С шестой стороны есть вопрос производительности. Часто для имитации одного элемента в SVG нужен десяток-другой элементов, стилизованных с помощью CSS. А если таких элементов на странице сотни (и они превращаются в тысячи), то это начинает влиять на скорость применения стилей к странице.

    Итого: иногда CSS - это быстрый и надежный вариант. Но у него есть ограничения, так что на практике SVG используется для этих задач чаще. И да, проверять кроссбраузерность стоит в любом случае.
    Ответ написан
    Комментировать
  • Position: fixed; - фиксирует элемент не на экране, а в родительском блоке. Как исправить?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Без кода сложно говорить, но третий глаз подсказывает, что скорее всего у родительского блока задано свойство transform, filter или will-change. Уберите его и все встанет на свои места.
    Ответ написан