Ответы пользователя по тегу CSS
  • Реализация блочного скролла?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    Как называется такая прокрутка контента? - вот здесь я давал ответ по точно такому же вопросу.
    Ответ написан
    1 комментарий
  • Как сделать чтобы текст не вылазил за ширину блока?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    word-break: break-all;
    примененный к элементу с текстом, обеспечит перенос не влезающих в строку слов (если вам это необходимо конечно).
    И поверх всего этого савим еще overflow: hidden; для самого контейнера, если вы хотите чтобы за его пределы ничего не вылезало.
    Ответ написан
    2 комментария
  • Есть ли сервисы по антиминификации кода?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    В хроме можно при просмотре css/js в F12 просто кликать по фигурным скобочкам слева снизу и будет все ок.
    H8yt7vB.png
    Ответ написан
    Комментировать
  • Как вы поддерживаете CSS код?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    35 секунд это ахтунг какой-то.
    Насчет того, что Gulp значительно быстрее текущего Grunt'а это правда. Ибо Grunt работает на основе временных файлов (скоро хотят поменять это), а Gulp в оперативке все хранит вроде как.
    + у вас как я понимаю Ruby SASS, а он очень медленный на фоне libsass (sassbreak.com/ruby-sass-libsass-differences вот тут пишут про огромную разницу в скорости компиляции).
    Я где то год назад делал проект на grunt+sass (ruby версия), и у меня после изменения стилей надо было ждать ~3-5 секунд, до лайврелоада с новыми стилями.
    Сейчас юзаю gulp+libsass, после нажатия ctrl+s я моментально разворачиваю браузер, а там уже страница с новыми стилями. Даже пытался успеть на скорость сделать сохранение и увидеть хотя бы "вспышку" от вставки новых стилей, но так и не получилось :)
    Ответ написан
    1 комментарий
  • Из верстальщика во фронт-ендера, какие технологии изучать в дальнейшем?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    0) Ванилла js это и есть обычный js.
    1) Начинать надо с одновременного изучения ваниллы и jQuery. По ванилле будете читать книги и всякие статьи, типа как работают замыкания, this, hoisting и так далее. А на jQuery вы собственно будете писать код, который будет что-то, да делать. Никто вам конечно не мешает забить на jQuery и по хардкору угарать только по ванильному жсу, но с огромной вероятностью, вместо того чтобы как то реально практиковаться в написании кода и выполнении каких-то простых задач, вы будете биться головой о стену, ибо для начинающего, работа с DOM (а только и этим можно заниматься поначалу) в ванилле это настоящая пытка. Очень важно пилить много велосипедов.
    2) Параллельно прокачиваете css. Там просто поле непаханных возможностей и фишек. Со временем скорее всего придет понимание того, что чего то в обычном css не хватает. Тогда и начнете юзать препроцессоры. Можно конечно и сейчас сразу начать, но я не уверен что от этого будет хоть какая-та польза (а вот риск начать юзать вложенность в full-retard mode имеется).
    3) Как только начнете писать хоть какой-то вменяемый js или юзать css с препроцессорами, тогда и придет пора автоматизации фронтэнда. Галпы, автопрефиксеры, склеивание/миницирование стилей/js и все такое. Об этом пункте вообще можно будет не париться долгое время, ибо все ваши задачи будут решаться установкой какого-нибудь генератора yeomana с маджонгом и гейшами.
    4) Фрейморвки. Ангулары, реакты, эмберы и так далее. Будете их изучать на основе статей и пет-проджектов, ибо на нормальную работу, где эти самые фрейморвки применяют, с 90% вероятностью не возьмут без опыта владения ими. Учить их все естественно не надо. Достаточно хорошенько покопаться в 1-2, чтобы понять принципы работы основных частей.
    4 пункт может с легкостью идти сразу за вторым, если вас больше интересует копание в жсе, и не особо интересно представление. Параллельно со всем перечисленным изучите стайлгайды, методолгии, модульные системы и все подобные вещи, которые необходимы для написания приличного кода.
    Ответ написан
    Комментировать
  • Есть ли какой нибудь порядок написания CSS кода?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    https://css-tricks.com/poll-results-how-do-you-ord... - вот здесь хорошая группировка предложена, сам так же примерно пишу.
    Ответ написан
    Комментировать
  • Как сверстать круги с линиями?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    Если хотите красиво презентовать, то совершенно точно свг. Ибо можно будет классно анимировать отрисовку.
    Ответ написан
    Комментировать
  • Как реализовать эффект размытия для фона, который все время меняется?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    Пару дней назад только демку запилил, там как раз имеется заблюривание целого блока, причем с транзишеном.
    codepen.io/suez/pen/WvjRMb - нужно открыть меню и дальше все увидите. Просто применяется filter: blur(2px); для всего блока .demo__page и весь его контент блюрится. Это то что вам необходимо?
    Само демо если что расчитано только на вебкиты (из-за clip-path), + там имеются тормоза на слабых компах (одна из причин как раз транзишен блюра, но это уже не суть как важно).
    Ответ написан
    5 комментариев
  • Как лучше реализовать такую круговую навигацию?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    1) Свг. Оно для этого лучше всего подходит. Денис посоветовал D3, это наверное самый классический вариант.
    2) Можно на канвасе. Но на фоне свг это оверкилл, и его надо юзать только если вы захотите сделать что-то невероятно уникальное с какими-то неприлично крутыми эффектами.
    3) Можно на css. Валентин дал ссылку на codrops демку, но есть еще более старая и не менее крутая версия - stackoverflow.com/questions/13132864/creating-a-ra...
    Правда там имеются некоторые проблемы, ибо демку с тех пор никто не фиксил, скинул просто для ознакомления с "темной магией".
    Так же еще чекните вот это - sarasoueidan.com/tools/circulus
    Крутой интрумент от Сары, с помощью которого можно кастомизировать меню как следует. Но оно в плане дизайна не совсем подходит в вашем случае.
    Ответ написан
    1 комментарий
  • Как правильно сделать анимацию?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    Без гифки анимации тяжело понять, как именно должен выглядеть сам эффект. Если у вас имеются отдельные картинки для этих двух букв, то можно легко анимировать с помощью transform: translateY + opacity.
    Если анимация должна быть более "красивой" и сложной, вам поможет свг. В любом случае ваше текущее описание мало о чем говорит.
    Ответ написан
  • Верстка страницы с фонами неправильной формы?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    codepen.io/suez/pen/29eaa4dc2230b58280b1bee92a8a64cb - пример на коленке, сделанный с помощью transform: skewY. Можно без проблем еще сделать с помощью rotate. В обоих случаях контент внутри блока нужно будет поворачивать на противоположное количество градусов, чтобы он выглядел как обычно.
    Вариант с трансформами оправдан только для тех случаев, когда пространство с этими срезанными углами должно быть "живым". То есть там будет виден какой-то контент/неоднородный бэкграунд и все такое. Если бг будет тупо черным, то проще сделать это на основе :before/:after.
    Ответ написан
  • Как сверстать данный (нестандартный) блок?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    clip-path: polygon для современных вебкитов/блинков. Весьма легко кастомизировать, можно всякие параллаксы сделать и при этом производительность будет хорошая.
    Svg clippath для более серьёзной поддержки.
    Можно нашаманить что-нибудь с transform: skew, но чую что решение будет похоже на один большой хак + будет пиксельная лесенка.
    P.S. - все написанное выше подразумевает, что вам это обязательно надо сверстать не с помощью картинки, то есть в этом должен быть какой-то смысл (эффекты/параллакс/что-то еще). Если то, что изображено на скриншоте, будет статичным (я про эти полигональные фоны), то проще сделать картинкой, у которой нижняя левая часть (там где обычный светлый фон) будет прозрачной.
    Ответ написан
    7 комментариев
  • Через что делать анимацию при наведении курсора (hover): transition или @keyframes?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    Кейфреймы нужны для цикличной , "односторонней" или сложной (множество шагов с множеством изменений разных свойств) анимации. Например shine эффект для кнопки, когда проносится полупрозрачный элемент под наклоном, создающий эффект сияния. Если делать транзишеном - после убирания мыши с элемента, сияющий блок поедет обратно. А с кейфреймом он при каждом наведении будет 1 раз проезжать слева направо. https://cssanimation.rocks/pseudo-elements/ - вот собственно пример.
    Транзишены соответственно юзаются когда, например, надо поменять свойства элемента при наведении или добавлении класса. При этом при добавлении/убирании разных классов можно настраивать везде свои удобные тайминги/задержки на то, как свойства будут меняться. В общем удобная декларативность во по всем фронтам.
    Ах да, еще кейфреймы нужны когда необходимо врубить анимацию на старте страницы, не прибегая при этом к js.
    https://cssanimation.rocks/transition-vs-animation/ - вот это еще можете чекнуть.
    Ответ написан
    Комментировать
  • Использовать али нет единицы REM в CSS, как правильно использовать (три вопроса)?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    По вопросам:
    1) Однозначно вариант 2.
    2) Это всего лишь мнение. Не бывает серебрянных пуль. Бегло пробежался глазами по статье, в основном увидел ругания em, про rem ничего путнего не нашел, только упоминание ie8 и создание нового уровня абстракции.
    3) Выглядит как какой-то жуткий костыль и извращение, я бы прошел мимо такого.
    Ответ написан
    Комментировать
  • Как сделать смену текста на лендинге по таймеру?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    2 варианта, придуманных за полминуты:
    1) Если слоганы не будут менять/добавлять (или будут делать это очень редко) и не нужна будет смена слоганов по клику юзера, то создаешь блоки со слоганами в html, ставишь их в одном месте через position: absolute (например внутри основного контейнера слоганов) и затем пилишь keyframes анимации на css, которые циклично будут показывать/прятать нужные блоки изменяя opacity и прочие штуки, типа трансформов.
    2) Если слоганы надо подгружать с бэкенда где их будут часто менять/добавлять, то так же запихиваешь их в разметку, добавляя первому элементу со старта класс active, затем на js через $(".text-block").length получаешь их количество, создаешь переменную инкременту и setInterval. Внутри интервала с нужным тебе шагом увеличиваешь инкременту, и к нужному блоку добавляешь класс active, убирая его же с других блоков. То есть что-то такое в итоге:
    var len = $(".text-block").length;
    var intervalCounter = 1;
    setInterval(function() {
      intervalCounter++;
      if (intervalCounter > len) intervalCounter = 1;
      $(".text-block").removeClass("active");
      $(".text-block").eq(intervalCounter - 1).addClass("active");
    }, 5000);

    Если потребуется реализация смены слоганов при клике юзера, то заменяешь интервал на setTimeout, который вызывает сам себя, а на click биндишь очистку таймаута, изменение инкременты, смену классов и запуск таймаута. Часть этого кода тогда лучше будет обернуть в отдельную функцию.
    Анимации соответственно будут реализованы с помощью css transition, и будут срабатывать при добавлении/убирании класса.
    Ответ написан
    Комментировать
  • Как отменить прокрутку страницы наверх при клике по пустой ссылке?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    Это напрямую связано с тем, что ваши радио кнопки имеют такие стили:
    input[type="radio"] {
        position: absolute;
        top: -9999px;
        left: -9999px;
    }

    При клике на них, браузер пытается перевести окно к их положению.
    Задайте им примерно такие стили:
    .hidden-radio {
      position: absolute;
      left: 0;
      top: 0;
      opacity: 0;
      z-index: -9999;
    }

    Опасити спрячет кнопку визуально, отрицательный z-index сделает их некликабельными/неактивными для hover'а.
    Ответ написан
    1 комментарий
  • Как сделать эффект нажатия частей картинки?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    Вариант номер 1 - найти какое-нибудь полуготовое решение для работы с такими вещами. Думаю что на d3js.org такое уже сто раз решали, и есть какие-то готовые плагины.
    Вариант номер 2 - по идее, если такую карту нарисовать в каком-нибудь Иллюстраторе, то там же можно будет её экспортировать в виде svg. После этого лишь надо будет "подчистить" этот свг и затем для областей (отдельные path элементы) добавлять класс через js, который будет их как то перекрашивать и делать прочую нужную вам магию (с возможностью использования transition и так далее).
    Ответ написан
    Комментировать
  • Как разрабатывать при помощи bem-core и bem-tools?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    Как по мне, дак для личного проекта или проекта где вы единственный фронтендер, юзать интструменты для БЭМА это извращение. Просто пишите классы по методологии, адаптировав её немного под себя, и не издевайтесь над собой.
    Ответ написан
    Комментировать
  • Как сделать плавное изменение числа в js коде?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    Если такое не умеет GSAP (а по ходу он не умеет), то по идее это должно решаться с помощью requestAnimationFrame. То есть пишите функцию анимации, которая стартует raf, меняя значение с использованием изинга. В теории все звучит легко, но на деле при привязке к mousemove начинается адовая херня. Надо юзать что-то типа throttle, но у меня уже голова болит таким в воскресенье вечером заниматься.
    codepen.io/suez/pen/ab687e94e1a7de55b483c454988e8c73 - вот оооооочень кривая демка с говнокодом, которая анимирует позицию радиального градиента по клику. Если в самом низу в $(document).on("click" этот клик поменять на mousemove, то увидите как все будет дергаться (о чем я собственно и писал выше, упоминая необходимый throttle). В этой демке уже предусмотрена система остановки анимации и старта новой. То есть если во время анимации кликнуть по блоку снова, то анимация корректно переедет в новое место. Но с mousemove без throttle по виду забивается весь тред при быстром движении мышью и получается веселуха.
    Ответ написан
  • Как сделать эти стрелки?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    Svg Path Q(или C). +можно будет анимировать их отрисвку без проблем.
    Ответ написан
    1 комментарий