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

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега CSS
    Руководитель frontend направления, предприниматель
    просто я пробую делать сетку, у меня полечается 4- элемента, а как сделать чтобы слева который большой элемент был один в стоблик?


    Задавай ему «пожирание»: grid-row: 1 / span 2. Ну а вообще ознакомься со спецификацией, ибо вопрос на уровне «первый раз услышал и не думал поискать сам».
    Ответ написан
    Комментировать
  • Можно ли задавать шрифту min и max размер?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега CSS
    Руководитель frontend направления, предприниматель
    Глянул каменты:
    чтоб шрифт менялся при изменении экрана. Конечно могу задавать через медиа, но интересно, есть ли круче свойства


    Пикселы — фиксированные значения. Если тебе нужен плавающий шрифт в зависимости от экрана — используй относительные. Скажем vw\vh.
    Ответ написан
    Комментировать
  • Как сделать поэкранный скролл с переходом в обычный?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега CSS
    Руководитель frontend направления, предприниматель
    Вариантов решения на самом деле несколько и одно круче другого.
    1. Убираешь скролл у родителя и листаешь элементы со 100vh (все 4 по примеру) и у последнего «контента» должен быть включен вертикальный скролл при переполнении контента.
    2. Создаешь элемент в момент прокрутки к нему (либо c меняешь display:none), тогда у родителя не будет жесткого правила обрезки (хотя до момента смены 3 слайда и освного контента я все же бы рекомендовал включить, чтобы скрол не прыгал).

    И вишенка на торте: а нахрена? Отвечать не обязательно.
    Ответ написан
    1 комментарий
  • Как реализовать динамическую генерацию CSS классов на PHP?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега CSS
    Руководитель frontend направления, предприниматель
    Отложенная загрузка + intersectionObserver + JS-фреймворк + адовые анимации в ответ на fetch тебе в этом больше помогут, чем подобные извращения. В снижении риска быть спарсенным. Да и оптимизируешь возможно слегонца.
    Ответ написан
    Комментировать
  • Как скролить по горизонтали?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега CSS
    Руководитель frontend направления, предприниматель
    В примере паралакс, который базируется на расчете прокрутки (scrollTop).

    Можно использовать абсолютное (можно и родителя крутить, или фиксированное, на самом деле и т.д.) позиционирование и делать элементам положение left (да и right сойдет, тут все в твоей фантазии) в рамках вьюпорта при совпадении с прокруткой.

    Ключевое слово тут паралакс. Его стоит погуглить. Ну и просто спроецировать это в горизонтальное решение. Реально сложного тут — не обосраться в позиционировании элементов на разных разрешениях.
    Ответ написан
    Комментировать
  • Как сверстать блок с непрозрачным фоном и галочкой?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега CSS
    Руководитель frontend направления, предприниматель
    1. Фон прозрачный. Непрозрачный = полная заливка.
    2. Бери SVG, не прогадаешь.

    UPD, чтобы не возиться с расчетами, ты можешь сделать закругление псевдоэлементами и использовать тогда gif\png\svg (актуально, если высота не меняется, а только ширина надписи).
    Ответ написан
    Комментировать
  • Как задать отступ между иконками?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега CSS
    Руководитель frontend направления, предприниматель
    Использовать margin\padding и свойства flex\grid (например align-self:end\start для вложенных элементов).
    Ответ написан
    Комментировать
  • Как перебить значение css?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега CSS
    Руководитель frontend направления, предприниматель
    Смотри в сторону переопределения сырцов. Или переопредели с таким же шагом, но уже после, свой стиль. После — после файла с подключением стилей.

    Но в крайнем случае (или если они инлайновые) можешь написать свои стили + !important флаг.
    Ответ написан
    Комментировать
  • Как при masonry вёрстке правильно вывести элементы на старницу?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега CSS
    Руководитель frontend направления, предприниматель
    Жесткий захаркоженный каркас это про гриды.
    Masonry это совсем не про жесткость.
    Ответ написан
    Комментировать
  • Как расположить элементы дополнительного меню горизонтально?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега CSS
    Руководитель frontend направления, предприниматель
    Вообще данный CSS кусок выглядит в меру корректным. Поэтому проверяй что перекрывает\мешает выполнению этого кода.

    Дебаггер тебе в помощь.

    Из альтернатив, кстати, можешь не display:block давать submenu, а display:flex. Но, чтобы понимать, как это работает, почитай документацию\гайды по флексам.
    Ответ написан
    Комментировать
  • Хранить html, css, js на сервере (сервисы)?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега CSS
    Руководитель frontend направления, предприниматель
    Я так понимаю речь о рекламных баннерах. Посмотри в сторону iFrame и то, как это реализуют поисковые метрики. Если кратко, то скрипт вызывающий их генерирует DOM-элементы, включая дополнительные скрипты.
    Ответ написан
    Комментировать
  • Masonry и flexbox?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега CSS
    Руководитель frontend направления, предприниматель
    Не умеет, при некоторых манипуляциях это может сделать grid, но для автоматического расчета все же есть смысле использовать кирпичную кладку.
    Ответ написан
    Комментировать
  • Скрыть кнопку, как составить правильно стиль?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега CSS
    Руководитель frontend направления, предприниматель
    У тебя элементы вложенные, но обращаешься ты к последующим на том же уровне. Тебе стоит уделить больше внимания селекторам и все получится.

    И немного поменять уровни вложенности так как ты с помощью css можешь двигаться только «вниз» и «вглубь». А «всплывать» не умеет.

    Т.е. тебе нужно расположить всю цепочку на одном уровне и через селектор + пройтись. Впрочем, я бы рекомендовал такие проверки делать на уровне бэка. Чтобы не вываливать наружу логику.

    UPD глянул каменты. Менять разметку woocommerce ты можешь, ищи это в их документации. Ключевым словом должно быть «переопределение». И на самом деле это крутая сторона WP и хорошо спроектированных под него плагинов. Или делай проверку через. JS, ему пофиг на правила CSS о движении вниз и вглубь.
    Ответ написан
    Комментировать
  • Как найти работу начинающему верстальщику?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега CSS
    Руководитель frontend направления, предприниматель
    На сегодняшний день верстальщик это стек минимум из 3х языков, включая JS. Нет понимания JS, нет нормальной рабочей верстки. Даже если тебе попадаются проекты без JS (покажите мне такие), то отсутствие знания не освобождает от ответственности.

    Поэтому, чтобы называться начинающим верстальщиком, тебе нужен как минимум базовый JS. Без него ты никому не нужен, даже гавностудиям. Его ты можешь получить на курсах и в свободном доступе. Да хотя бы тут. Материал годный, рекомендую.

    Ну и напоследок, фронтендер = верстальщик, просто у нас в русском языке есть такой самостоятельный термин.

    Так что я рекомендую закрыть этот минус и идти договариваться подмастерьем (джуном).
    Ответ написан
    Комментировать
  • Как сделать переполнение меню?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега CSS
    Руководитель frontend направления, предприниматель
    Что-то типа спойлера? Можно взять за принцип что-то типа такого и если речь о чем-то типа «схлопнуть на мобилке и показать все на пекарне», то прикрутить медиазапросы + видимость (свойство display).

    Если же нужно считать в зависимости от разрешения + наличия\отсутствия элементов, то помочь может JS или расчет шаблонизатором от бэкенда (показать первые n элементов, а остальные под спойлер\табуляцию).

    Да, если же речь о «пагинации» элементов, то смотреть надо в сторону табов и, возможно, в сторону JS фреймворков, которые помогут это реализовать без видимого геморроя. Но на ванилке такое, конечно, тоже можно без особых проблем сделать.
    Ответ написан
  • Как задать блокам одинаковую высоту?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега CSS
    Руководитель frontend направления, предприниматель
    Нус, можно сделать 2 строки, где первая — флексы с заголовками, а вторая остальной контент. Тогда, правда, придется продублировать как минимум второй и третий для медиазапросов. В смысле, чтобы на мобилках было норм.

    Или использовать гриды, просто разбить на блоки и давать порядок в зависимости от разрешения. Типа
    grid-template-area: 'header_1 header_2 header_3' 'features_1 features_2 features_3'
    на пекарне и
    grid-template-area: 'header_1' 'features_1' 'header_2' 'features_2' 'header_3' 'features_3'
    на мобилках. Зайти и с другой стороны, выдавая позицию в номерах. Грубо, но свойства есть, дальше поможет интернет. Но смотри поддержку браузерами, осел не вывозит гриды.

    Да и таблицами на самом деле сделать можно. Главное обеспечить им адаптивность. Это реально, но геморроя больше, чем в подходах выше.

    Так-то еще можно менять положение DOM-элементов с помощью JS в зависимости от разрешения, но кроме меня я не слышал, чтобы кто-то в здравом уме так делал.
    Ответ написан
    Комментировать
  • Как правильно отлаживать адаптивную вёрстку?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега CSS
    Руководитель frontend направления, предприниматель
    Действительно, какая-то дичь. Ежели ты используешь Chrome Devtools, то там есть вывод размера вьюпорта (при эмуляции устройства и если двигать ползунок панели), зачем его скриптом ловить — для меня секрет.

    Дальше в комментариях верно отметили про стандартные разрешения — можно взять за референс популярный Bootstrap и повторять его breakpoints до того, как начнешь понимать, что к чему.

    Естественно, это не убережет от косяков, ибо да хотя бы пользовательский ввод. Или самое косячное — навигация в шапке. Постоянно с этим сталкиваюсь, особенно при введении новых элементов (сейчас у меня на сайте, к примеру, ни в п... короче ни к месту форма входа, правда ее там никогда и не было). Я к тому, что дизайн в любом случае при некоторых масштабных введениях приходится переделывать. А чтобы максимально избегать провисов между популярными viewport-ами, достаточно осваивать переносы и обрезку контента. Если позволяет условия, конечно.

    Например у флексов есть свойство flex-wrap:wrap, а гриды так вообще супер, можно указать минимальный размер для переноса и он будет работать не как в обычных блоках + зависимость от контента. Но, к сожалению это работает по сути только в списках, при верстке специфического контента работают другие условия.

    Ну и не забывай, что кроме точек перехода медиазапросов, есть еще и другие свойства, которые можно комбинировать, например ориентация устройства.

    PS: чтобы тестировать, как мужик открывай эмулятор и дергай ползунок, прокручивая страницу. Где-то поехало — переделывай). А потом лови лучи боли от IE, в котором забыл оттестировать или Safari на iOS.

    PSS: самое малое устройство за базу можешь взять 320 по ширине, а больше 1920. Если шире, то оптимально обернуть в контейнер отцентрированный.
    Ответ написан
    Комментировать
  • Почему блок переносится на следующую строку?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега CSS
    Руководитель frontend направления, предприниматель
    В CSS существует только 3 типа элементов: таблицы, инлайновые и блочные. display: flex это расширенный display: block. А блоки даже занимая места меньше, чем 100% не переносятся.

    Для того, чтобы он переносился, его нужно обернуть в flex, например, или задать inline-flex в display. Последнее стоит делать, если понимаешь, что делаешь, правда.
    Ответ написан
    Комментировать
  • Почему mail.ru и приложение яндекс почты не применяет цвет фона?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега CSS
    Руководитель frontend направления, предприниматель
    1. Верстка e-mail = боль.
    2. Чуть меньше боли, если ты верстаешь их в HTML4 Strict + инлайновые стили по стандартам.
    3. Любой письмоприемник с легкостью покладет болт на твои старания.
    Ответ написан
  • Как сделать такой фигурный бордер на css?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега CSS
    Руководитель frontend направления, предприниматель
    У предложенных методов есть существенный минус: они предполагают фон у псевдоэлементов, который перекрывает границу. Вот тут наглядно, что происходит, если фон отличается от цвета перекрытия. Поэтому подходит далеко не всегда. Плюс ты не сможешь сделать таким образом тень, как на твоей пикче.

    Так ты сможешь сделать если используешь png картинку с drop-shadow, либо с использованием SVG. Первый вариант — по сути такой же костыль, так как подходит для исключительно одного частного случая в проекте, для других надо будет другие размеры картинок а png весит много. В теории можно воспользоваться gif с прозрачность и оптимизировать его в нулину, но я не пробовал. А второй вариант вносит на первым порах немного геморроя в твою жизнь, впрочем со временем ты уже сможешь легче делать такие штуки.

    Другое дело, что их встречается не так уж и часто в хороших проектах. Тем не менее понимания SVG это сейчас мастхэв.

    PS: есть и еще варианты решений, но чем дальше от предложенных, тем больше костылей на костылях. Возможно так сможешь и clip-path, но это я тоже не пробовал комбинировать с тенью, так что можешь попробовать.
    Ответ написан
    Комментировать