Ответы пользователя по тегу CSS
  • Почему backface-visibility: hidden фиксит блики в хроме?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    Итак, постараюсь ответить, пускай и топорно.
    Конкретно причину возникновения багов с position: fixed при скролле я не знаю, хотя с ним и сталкивался частенько (но думается мне, что хром при скролле заново отрисовывает фиксированный элемент).
    А фиксится он с помощью backface-visibility: hidden потому, что когда вы применяете к элементам свойства opacity/transform (и то что относится к трансформам, собственно backface-visibility), то браузер создает для этих элементов отдельный слой ?лэйаута? (не уверен в том, конкретно слой чего создается). И благодаря этому браузер не перерисовывает элемент заново при каждом скролл-ивенте (что убирает эффект моргания в хроме).
    Ответ написан
    1 комментарий
  • Как сделать сложную маскировку части изображения?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    Используйте svg. Если конкретнее, то svg path. Описываете по координатам по определенному разрешению, устанавливаете заливку (fill), ставите правильный viewBox чтобы смотрелось как надо на разных разрешениях и в общем то все.
    Элементы с текстом естественно делаются дивами и другими стандартными dom-элементами и абсолютно позиционируются на странице. То есть svg у вас будет отвечать только за эти нестандартые формы, хотя можно и текст на нем сделать (но по макетам не заметно, что требуется svg textPath).
    Ответ написан
    Комментировать
  • Анимация при удалении класса jquery?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    Какие то ужасные советы выше перечислены, не советую вообще использовать стандартные методы jQuery для анимации.
    В вашем случае анимация при убирании класса не срабатывает, ибо собственно она привязана к этому классу. Вам необходимо задать свойство transition для самого элемента .panel
    .panel {
      transition: transform 0.7s;
    }
    Ответ написан
    2 комментария
  • Как сделать, что высота DIV подстраивалась по высоту экрана?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    1) Viewport единицы. В данном случае 100vh. Поддержка вот такая caniuse.com/#search=viewport
    2) Если ваш див не находится где то глубоко в разметке, а лежит прямо в body (или глобальном контейнере), то можно сделать вот так:
    html, body {
      height: 100%;
    }
    .container { // если имеется
      height: 100%;
    }
    .block {
      height: 100%;
    }

    Так как мы не задаем overflow: hidden для body или контейнера, то с ними ничего плохого не произойдет, контент по прежнему будет адекватно отображаться и скроллится.
    Ответ написан
    Комментировать
  • Какой базовый набор знаний для frontend developmenta?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    Лучше на достаточно хорошем уровне изучить html+css+js (ваниллу+jQuery) и только потом смотреть в сторону фреймворков. Фрейморвки конечно вещь крутая, но их слишком много (или они слишком громоздкие). Отличные познания в js, и фронтенде в целом, не денутся никуда, а вот знания полученные от изучения особенностей и внутренностей какого-нибудь монструозного ангуляра могут с легкостью превратиться в тыкву с выходом, допустим, второй его версии (не все конечно, но большая часть). Все таки фреймворки это вещи уже под конкретные задачи, и они чаще всего рассчитаны на команды.
    Ответ написан
    3 комментария
  • Как скрытие и появление блока div?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    Для инпута надо навесить ивент blur, который будет прятать блок. blur это ивент, который срабатывает когда элемент теряет фокус (то есть если был выделен инпут, и юзер кликнул не по инпуту, то сработает blur ивент).
    document.querySelector("#input").addEventListener("blur", function() {
      // спрятать блок
    }, false);
    Ответ написан
    3 комментария
  • Как называется такая прокрутка контента?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    Обычно это называется "One page scroll"
    Если вы прям совсем ленивы, и вам только плагины подавай, то вот первые ссылки из гугла www.thepetedesign.com/demos/onepage_scroll_demo.html и alvarotrigo.com/fullPage (второй плагин выглядит покруче и свежее)
    Если же хочется посмотреть изнутри, то вот несколько простых (и не очень) моих демок (люблю эту технику :) )
    codepen.io/suez/pen/JoWKKX
    codepen.io/suez/pen/LCHlA
    codepen.io/suez/pen/ogYpva
    codepen.io/suez/pen/bNdbww
    Основа техники - каждая страница обычно занимает 100% высоты экрана + вы хакаете скролл, и вместо стандартного перемещения на 100 пикселей вниз/вверх вы скроллите целиком высоту одного блока.
    Ответ написан
    Комментировать
  • Отправка сообщения с инпута после нажатия enter?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    Оба инпута должны лежать внутри формы. Задаешь форме id или class и пишешь что-нибудь такое
    $(".formClass").on("submit", function() {
      // действия
      return false; // отменяет перезагрузку страницы при стандартном поведении формы
    });
    Ответ написан
    Комментировать
  • Можно ли сделать красивый дизайн сайта без PSD шаблона?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    Есть разница между "красивый сайт" и "эффективный сайт". Можно без проблем сделать что-то красивое и крутое без макета, но скорее всего получится какой-то странный "эксперимент". В этом плане танцы вокруг макета со всякими "а подвиньте вот это на два пикселя вправо" дают куда больше эффективности. Но если вы делаете не какой-нибудь интернет магазин, а например сайт-портфолио, то я думаю вообще проблем возникнуть не должно. Как вариант, можно вначале сделать 80-90% работы, а потом попросить помощи у знакомых дизайнеров с цветовой палитрой и фидбеком в целом.
    Ответ написан
    Комментировать
  • Как сделать двухстороннюю кнопку?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    Вот простой и доступный гайд davidwalsh.name/css-flip (и живой пример davidwalsh.name/demo/css-flip.php)
    Если вы не можете в английский, то схема такова:
    1) Создаете элемент, в которой кладете 2 элемента, один будет лицом, другой "задом". Лицо просто встает как есть, а задняя сторона ставится с помощью с помощью position: absolute; top: 0; left: 0;
    Обоим элементам задается 100% длины и высоты, backface-visibility: hidden и transition: transform %time%s;
    2) Задней стороне даем transform: rotateY(180deg);
    3) Назначаем на :hover родителя переворот обоих элементов по оси Y на -180 градусов. То есть передняя сторона станет transform: rotateY(-180deg); а задняя 0deg
    4) И в конце добавляем родительскому элементу perspective: %число% (например 1000) для создания эффекта объема.
    codepen.io/suez/pen/696e4a5351f1bf1428cc9e0e17285b... - примитивная демка на кодпене.
    Ответ написан
    Комментировать
  • Где вы берёте шрифты для сайта?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    habrahabr.ru/post/250621 - в разделе бесплатная типографика.
    habrahabr.ru/post/247785 - неплохая подборка, есть несколько приятных шрифтов.
    Поиск по всяким Behance и другим сайтам с тегом Typeface.
    Ну и конечно же взять и посмотреть интересующий тебя шрифт прям на каком-нибудь сайте и поискать его. Только не воруй, не все шрифты можно юзать "просто так".
    Ответ написан
    2 комментария
  • Как сделать скругление (скорее выпуклость) граници блока как показано на фото?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    1) Взять и топорно вырезать фото из фотошопа "как есть".
    2) Сделать с помощью svg. Но тут уже без пол-литра не разобраться.
    Ответ написан
    Комментировать
  • Как задавать в % размеры всегда относительно body?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    У вас очень размытый вопрос.
    Если вас интересуют только %, причем для всех элементов включая текст, то вам помогут viewport единицы, такие как vw(от ширины)/vh(от высоты). То есть блок width: 30vw; height: 20vh; будет всегда занимать 30% от ширины window и 20% от его высоты. Но на этом способе вы максимум только топорный прототип сделаете, и вообще их используют для вещей аля "блок с высотой в весь экран" что эквивалентно 100vh.
    Ответ написан
    3 комментария