Ответы пользователя по тегу HTML
  • Как спрятать меню при адаптации?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега JavaScript
    Руководитель frontend направления, предприниматель
    В примере на лицо проблема вложенности. Чисто теоретически можно оформить все в одной строке на флексах, которую можно сортировать для специфического отображения на десктопе и на телефоне (порядок лого, выбора языка и всего остального).

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

    Край — дублировать что-то. Например один и тот же выбор языка показывать вне блока с навигацией на телефоне, и внутри блока с order-ом на десктопе). Дублировать его будет дешевле, чем всю навигацию.

    Ну а если под рукой доступен какой-нить JS-фреймворк, то совсем край можно просто рисовать разные компоненты (генерировать DOM) в зависимости от разрешения.
    Ответ написан
    Комментировать
  • Контент во всю оставшуюся высоту?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега CSS
    Руководитель frontend направления, предприниматель
    В вопросе ответ: flex-grow. Но судя по постановке вопроса, у тебя с этим плохо, так как ничего сверхсложного и некрасивого в этом нет.

    В качестве альтернативы можно использовать calc(100vh - [headerheight]), которое необходимо модифицировать под существующие условия, но корректно будет работать только, если шапка фиксированная, в противном случае необходимо задействовать JS.

    И чем дальше, чем хуже относительно максимально корректной реализации на флексах.
    Ответ написан
    Комментировать
  • Верстка по сетке на Flex или без сетки?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега CSS
    Руководитель frontend направления, предприниматель
    Нус... WapSter правильно обратил внимание на корень вопроса, а зачем вообще нужна сетка. А нужна она для того, чтобы было легко набирать элементы и упорядочивать их структуре. Колонки, кстати, это не сетка, это колонки, сетка образовывается вместе со строками, формируя модули.

    Существует же их великое множество, для разворотных изданий (да, в вебе) мне например импонирует сетка 9 на 9 (сетка, да, не просто колонки), в наличии двух штук на экран (классика из печатной).

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

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега CSS
    Руководитель frontend направления, предприниматель
    Ты можешь вложить span (строчный элемент) внутрь h1 (блочный элемент) и оформить его внутри задав свойства, например flex-элемента.

    На проверке валидатором оно пройдет, как валидное, span можно вкладывать в h1. Но по сути это полнейшая херь. Оптимальнее не делать так, или завернуть элемента внутрь дива, и уже h1 модифицировать, как, скажем строчный элемент на уровне стилей.
    Ответ написан
    Комментировать
  • Как сделать блок с двумя цветами?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега CSS
    Руководитель frontend направления, предприниматель
    1. Вложить 2 блока с разными фоновыми цветами.
    2. Использовать линейный градиент.
    3. Ольга: «Использовать псевдо-элемент с цветом + фон у самого блока»
    4. Использовать SVG, его можно прикольно анимировать.
    Ответ написан
    4 комментария
  • Как изменить блок для адаптивной верстки?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега CSS
    Руководитель frontend направления, предприниматель
    Отрицательные отступы на размер внешних сделай.
    Ответ написан
    5 комментариев
  • Как открыть таблицу после загрузки?

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

    UPD: после получения данных не происходит запуска отрисовки. Скрипт никогда не выведет новые данные, хотя их получает.
    Ответ написан
    2 комментария
  • Как сделать элемент самостоятельным?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега CSS
    Руководитель frontend направления, предприниматель
    1. Позиционированием + flex (чтобы выровнять по центру).
    2. Просто скрывать вторую кнопку по клику, и тогда не надо ничего позиционировать.
    3. Присыпать это все JS.
    Ответ написан
    Комментировать
  • Как скрыть новости на странице кроме одной?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега CSS
    Руководитель frontend направления, предприниматель
    Дешево и сердито, использовать JS-фреймворк с роутами (Vue\React...). Можно и без роутов, на компоненте, тут не столь важно.

    Долго и скорее всего не будет смысла — на JS без фреймворка: получать event.target и все несовпадающее элементы убирать. А этому давать класс, который раскрое скрытую информацию, или на JS добавит откуда-то (объекта в памяти или по get-запросу в API)
    Ответ написан
    Комментировать
  • Как задать адаптивную высоту блока-родителя?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега CSS
    Руководитель frontend направления, предприниматель
    Не указывай фиксированные размеры, если необходимо пройти проверку на переполнение. Указывай минимальный размер через min- свойство.
    Ответ написан
    Комментировать
  • Ccs вообще не работает, что делать?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега HTML
    Руководитель frontend направления, предприниматель
    https://developer.mozilla.org/ru/docs/Learn/CSS/Fi...

    Подключи файл к документу.
    Ответ написан
    Комментировать
  • :invalid лишь после попытки отправить форму?

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


    Вопрос в ответе, лучше пока не придумали.
    Ответ написан
    Комментировать
  • Как заставить блок подняться выше?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега CSS
    Руководитель frontend направления, предприниматель
    https://masonry.desandro.com/ или grid (+ dense)
    Ответ написан
    Комментировать
  • Не нарушает ли семантику подобная структура?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега HTML
    Руководитель frontend направления, предприниматель
    Да, все ок.

    Семантика — определение содержимого. Внутри формы поле ввода и label к нему.
    Спаны и дивы — нейтралы, строчный и блочные соответственно. Более того, у form нет каких-либо жестких требований к оформлению, более того, ты можешь кнопку активации вынести за ее видимость, а <fieldset> — это из области приятных бонусов, присущие хорошей форме, содержащей множество полей ввода.
    Ответ написан
    Комментировать
  • Как сделать прозрачное окошко в блоке с заданным bg-color?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега CSS
    Руководитель frontend направления, предприниматель
    Что-то типа диафильма?

    1. «Ленту» вкладывай в «окошко», не снаружи.
    2. Позиционируй без позицонирования (чтобы высота зависела от «ширины ленты»).
    3. Обертке размеры по ширине + overflow:hidden;
    4. Двигать можешь за счет transateX(-100% + [ширина окна]) → transateX(0);
    Ответ написан
  • Как вообще работает селектор *?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега CSS
    Руководитель frontend направления, предприниматель
    Это селектор, который выбирает КАЖДЫЙ ДОЧЕРНИЙ ЭЛЕМЕНТ. Каждый. Прямо совсем каждый. Дочерний.

    Т.е. можно писать p *{ и тогда все, что ты вложишь в тег P будет описываться этим свойством с учетом специфичности.

    Чтобы залить страницу фоном, вешай стили на body, а еще лучше на div, который будет описывать все тело страницы.

    ЗЫ: указывать body в codepen не имеет смысла, так как во вьюхе ты получаешь документ, который уже содержит базовую разметку.
    Ответ написан
    2 комментария
  • Активная ссылка в select option?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега HTML
    Руководитель frontend направления, предприниматель
    Это очень идиотский подход, так как список ссылок не оформляется внутри селекта.

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

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега CSS
    Руководитель frontend направления, предприниматель
    1. Берешь редактор, загоняешь в него картинку.
    2. На картинке рисуешь область.
    3. Вместе с картинкой экспортируешь, как SVG (чтобы совпадала область с кратинкой).
    4. Чистишь SVG, переделываешь, если надо (ссылку на картинку задаешь ресурсом сайта, а не импортированной, например).
    5. На polygon вешаешь события, которые тебе нужны.
    6. Встраиваешь в HTML-тело документа.

    1–3 пункты нужны по сути только для того, чтобы совпали координаты. Это можно сделать и наживую прямо в коде.
    Ответ написан
    Комментировать
  • Как сверстать карту с кривыми краями?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега CSS
    Руководитель frontend направления, предприниматель
    1. Дизайнер, конечно, не очень умный. Бесспорно. Такие решения согласуются на тему адекватности и профессионализма верстальщика + ресурсозатрат на уровне человекочасов и клиента (браузера).
    2. Это легко делается на SVG, оно по идее прямо в макете есть, с помощью самого SVG или CSS ты можешь применить маску.
    3. Можно поизвращаться в бордер-радусами.
    Ответ написан
    Комментировать
  • Как прижать кнопки вниз?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега CSS
    Руководитель frontend направления, предприниматель
    Флекс → колонка карточке продукта.
    Кнопке margin-top: auto. Во флексах это работает как индивидуальное «отталкивание»
    элемента.

    ЗЫ: делать из списка карточки это выстрел себе в ноги.
    Ответ написан
    7 комментариев