Задать вопрос
Ответы пользователя по тегу HTML
  • Что делать если расположение текста находится не в том месте?

    Ankhena
    @Ankhena Куратор тега CSS
    Нежно люблю верстку
    Обычно создают класс-хелпер и называют его container, wrapper или типа того.
    Ему задают ширину и центрирование.
    В верхней части шапки он у вас есть, а в нижней потерян.

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

    p.s.
    Называть классы словами down, bottom, red и т.д. не лучшая идея. Темы меняются, а блоки перестраиваются на разных размерах вьюпорта. Лучше придумывать названия по смыслу.

    p.p.s
    Если не хватает возможностей инструментов разработчика в браузере, для работы с сетками удобно использовать обводки для блоков. Полупрозрачный outline и отрицательный outline-offset.
    Ответ написан
  • Что делать, если не меняется цвет навигационных ссылок?

    Ankhena
    @Ankhena Куратор тега CSS
    Нежно люблю верстку
    Да что ж такое.
    Я вам в прошлом вопросе написала тактику.
    Не меняются ссылки на цвет , который задал.

    Нет, не задали.
    Задали для nav, для ссылок - нет.
    Как решить проблему ?

    Задать.

    Также рекомендую начать пользоваться инструментами разработчика в браузере. Он отлично показывает что и почему применилось. У синей (или посещенной фиолетовой) будет написано user agent stylesheet, т.е. стили браузера по умолчанию.

    Ссылки не наследуют свойство color.
    Чтобы изменить цвет ссылки, нужно ей задать это свойство.
    Если нужно, чтобы она была такого же цвета, как родитель, то использовать значение inherit
    .nav a {
      color: inherit;
    }


    p.s. Для доступности меню верстают списком внутри тега nav.
    Ответ написан
    Комментировать
  • Как начать background-image с определенного места?

    Ankhena
    @Ankhena Куратор тега CSS
    Нежно люблю верстку
    Ответ написан
    Комментировать
  • Не выставляются карточки с помощью gap так как надо?

    Ankhena
    @Ankhena Куратор тега CSS
    Нежно люблю верстку
    Свойство gap работает не так как надо

    На обоих скриншотах одинаковый gap и по виду очень похож на указанные 30px.
    А больше он ничего не делает.

    Но предположим, что вы хотели спросить не про gap, а про почему не получилось два столбца.
    Теперь смотрим в код (было бы идеально, если бы к коду прикладывалась песочница, в которую можно потыкать, а эти простыни убирались в спойлеры).
    Вы пишете: хочу флекс, по строкам, если не влезло, то переноси и сделай отступы (этот ваш gap) 30px.
    Смотрим на элемент: ширина 555px.
    Смотрим на контейнер: ширина 1140 и отступы 2х15.

    Считаем:
    Свободное место в контейнере: 1140 - 30 = 1110.
    Сколько нужно места хотели бы занять два элемента в ряду: 555х2 + 30 = 1140
    => Не влезает.

    А раз не влезает, то переносим.

    Нормальное решение:
    Меняем флекс на грид и задаем две колонки с нужным отступом.
    grid-template-columns: 1fr 1fr;
    gap: 30px;


    Дополнительно можно почитать про minmax в гридах.
    Ответ написан
    1 комментарий
  • Как можно такое сделать?

    Ankhena
    @Ankhena Куратор тега CSS
    Нежно люблю верстку
    Так, на коленке, но с адаптивом.
    Плохо, что вы не потрудились сделать хотя бы начальную песочницу с нужными шрифтами и размерами.
    Возможно, при исходном шрифте удастся избежать части костылей с переносами.

    https://codepen.io/AnnaSummer/pen/yyBrwyz

    Альтернативный вариант с использованием mix-blend-mode, но нужно подбирать цвета и эффекты

    https://codepen.io/AnnaSummer/pen/LEPoRLZ
    Ответ написан
    9 комментариев
  • Как выбрать «опорные точки» перехода ширины экрана для стилей страниц сайта?

    Ankhena
    @Ankhena Куратор тега CSS
    Нежно люблю верстку
    1. Их может нарисовать дизайнер.
    2. Их можно взять из любого фреймворка или статистики.
    3. Можно (и хорошо бы) добавлять там, где ломается конкретный дизайн.

    чтобы упростить написание стилей?

    Так не выйдет, каждый дизайн разный (ну если работать с хорошими и разными дизайнерами, а не под копирку), также браузер может быть открыт на произвольную ширину, особенно на больших мониторах.
    И нет смысла, например, ждать увеличения до 768, когда уже на 600 можно показать следующую версию, если конкретный дизайн это позволяет.

    Но можно упростить и сократить за счет относительных единиц измерения, calc, функций clamp, min, max, а также родных свойств флексов и гридов.

    Также поможет использование препроцессорных переменных. Делаете как-то так (значения от балды на основе какого-то из проектов):
    $elg: 1526px;
    $lg: 1000px;  
    $md: 720px; 
    $sm: 540px; 
    $esm: 360px;

    Количество может меняться в зависимости от проекта.
    И используете в media.
    @mixin sm {
      @media (min-width: variables.$sm) {
        @content;
      }
    }
    
    @include sm {
      //some
    }

    При переходе в новый проект, смотрите макет и меняете переменные.
    Ответ написан
    Комментировать
  • Как растянуть элемент на всю высоту скролла body?

    Ankhena
    @Ankhena Куратор тега CSS
    Нежно люблю верстку
    Моя задача растянуть фон на всю ширину body даже при скролле

    указывал для фона и 100% и 100vh

    vh вообще не имеют отношения к ширине.

    Если всё таки речь про высоту, то 100vh очевидно не поможет, потому что это размер вьюпорта, а не контента body.
    А вот 100% поможет. И cover тоже поможет.
    Но для этого, body не должно быть ограничено вьюпортом или чем-то ещё.
    Обычно для body задают min-height: 100vh или развлекаются с процентами от html. Но это делают для эффекта липкого футера.

    Самое интересное, что по умолчанию body как раз таки растягивается по высоту контента. И соответственно, фон со 100% или cover поступит аналогично (если он не svg, у svg ещё нужно разрешить изменять пропорции).
    Так что ищите где перемудрили.
    Ответ написан
  • Как наложить друг на друга два элемента с ::before?

    Ankhena
    @Ankhena Куратор тега CSS
    Нежно люблю верстку
    Сначала нужно узнать, зачем для этого два элемента div и button. Достаточно одной кнопки. Если что, у неё есть два псевдо. В вашем случае не видно зачем второй псевдо.

    Но в современном мире эта задача легко решается вообще без псевдо с помощью background-origin
    https://sitist.ru/gradient-border.html
    Ответ написан
    4 комментария
  • Почему нет нормальной работы с svg в css?

    Ankhena
    @Ankhena Куратор тега CSS
    Нежно люблю верстку
    Есть.
    Практически все способы вставки svg в html не позволяют менять цвет при помощи css.

    При вставке в разметку вообще нет проблем менять цвет.
    fill: red;
    stroke: green;

    и т.д.
    Альтернативный вариант, а разметке задаем в заливку или обводку currentColor, в CSS меняем свойство color.

    Ещё один - использование кастомных свойств.

    При вставке прямо в CSS
    Маски и фильтры.

    mask: url(img.svg) no-repeat center / contain;
      background: red;
      
      &:hover {
        background: green;
      }


    Один из вариантов - инлайнить SVG прямо в CSS (в кастомные свойства, чтобы не мусорить в селекторах).
    Другой вариант - собираем стек из SVG и используем в url в маске.

    Собственно, стеки можно использовать где угодно, в отличие от устаревшего спрайта.
    https://telegra.ph/Stack--sprajt-zdorovogo-chelove...
    Ответ написан
    3 комментария
  • Как выровнять иконки?

    Ankhena
    @Ankhena Куратор тега CSS
    Нежно люблю верстку
    Очень интересный код.
    Ссылки на нужные разделы потеряны, а зато зачем-то картинки в разметке.

    <ul class="header__nav">
        <li class="nav__item">
          <a class="nav__link nav__link--favorites" href="">
            <span class="visually-hidden">Избранное</span>
          </a>
        </li>
        <li class="nav__item">
          <a class="nav__link nav__link--profile" href="">
            <span class="visually-hidden">Профиль</span>
          </a>
        </li>
        <li class="nav__item">
          <a class="nav__link nav__link--card" href="">
            <span class="visually-hidden">Корзина</span>
          </a>
        </li>
    </ul>


    .header__nav {
      display: flex;
      gap: 42px;
    }
    
     .nav__link {
      display: block;
      width: 44px;
      height: 44px;
      border-radius: 8px;
      background-color: rgb(246, 246, 246);
    }
    
    /* доступно скрываем текст */
    .visually-hidden {
      position: fixed;
      transform: scale(0);
    }

    И в модификаторы пишете фоны для модификаторов ссылок. Или для их псевдоэлементов, как удобнее.

    Если с псевдо, то либо делаем их инлайн-блочными и vertical-align: top; и дописываем сcылкам
    align-content: center;
    text-align: center;


    либо ссылки делаем флексами и стандартно
    display: flex;
      align-items: center;
      justify-content: center;



    https://jsfiddle.net/wav1q8kr/
    Ответ написан
  • Как найти js код который обрабатывает событие?

    Ankhena
    @Ankhena Куратор тега JavaScript
    Нежно люблю верстку
    Открыть вкладку Event Listeners и посмотреть.

    Обратите внимание на галочку Ancestors - она покажет или скроет родительские события.

    6655e404c893c179855975.jpeg
    Ответ написан
    Комментировать
  • Как правильно перестроить элементы?

    Ankhena
    @Ankhena Куратор тега CSS
    Нежно люблю верстку
    есть ли вариант чтобы верстка перестраивалась на больном расширении согласно макета чтобы не пршлось скрывать или показывать объекты?

    Да, конечно и даже не один.
    Вы совершенно верно в вопросе указали теги флекс и грид. Вот с их помощью.

    Флекс
    Десктоп: Оборачиваем контентyю часть в div. Родителю задаем флекс. Два элемента встают в ряд.
    Мобилки: для контентного div задаем display: contents, после этого он станет как будто прозрачным или как будто его нет.
    Ну и дальше с помощью order расставляем элементы в нужном порядке.

    Грид
    Несколько вариантов.
    Первый с такой же оберткой как для флекса.
    Второй - все элементы россыпью и просто меняем сетку.
    Ответ написан
    1 комментарий
  • Как лучше обратиться к кнопке через id или через class?

    Ankhena
    @Ankhena Куратор тега JavaScript
    Нежно люблю верстку
    id - уникален, т.е. по id можно обратиться только к конкретному элементу.
    class - можно обратиться ко всем элементам с таким классом. Но обычно на классы завязана стилизация, они могут быть переименованы, удалены и т.д.
    data-атрибуты - мне нравится этот вариант. Можно поставить нужным элементам сколько угодно раз, можно задать разные data-атрибуты, можно ими свободно манипулировать. Отделены от стилизации. Хотя, конечно, можно стилизовать и по ним, но меньше вероятность, что будут удалены из разметки верстальщиком.
    Ответ написан
    Комментировать
  • Как правильно обращаться к элементам при добавление класса?

    Ankhena
    @Ankhena Куратор тега CSS
    Нежно люблю верстку
    1. Совсем банальный: вешайте класс на родительский блок.

    2. Через :has
    .catalog__info:has(.catalog-filter.active)  .catalog__wrapper {
        margin-bottom: 50px;
    }
    
    .catalog__info:has(.catalog-filter.active)  .catalog__btn {
        display: none;
    }


    3. Самый интересный: с помощью кастомных свойств.
    .catalog-filter {
      --open-btn-display: block;
      --margin: 0;
    }
    
    .catalog-filter.active {
      --open-btn-display: none;
      --margin: 50px;
    }
    
    .catalog__wrapper {
      margin-bottom: var(--margin);
    }
    
    .catalog__btn {
      display: var(--open-btn-display);
    }


    p.s. Зачем вам две кнопки, если они в одном месте в разметке, я не придумала. Меняете текст и стили и всё. Тогда уж логичнее закрывающую засунуть внутрь всего открываемого блока, тогда и не нужно с ней отдельных манипуляций.
    Ответ написан
    Комментировать
  • Как указать высоту для main?

    Ankhena
    @Ankhena Куратор тега CSS
    Нежно люблю верстку
    Хорошо, конечно, что вы уверены, что высота точно 60. Что вас не волнует никакое переполнение шапки ни по какой из причин (увеличенный шрифт у пользователя, отвалился дизайнерский шрифт, использование переводчиков и другие банальные причины)
    Если так, то да, calc и вперед.

    Разумнее, задать родителю высоту 100vh и грид. В котором первой строке задан min-content, а для main 1fr, т.е. все оставшееся пространство.
    grid-template-rows: min-content 1fr
    Аналогично можно сделать и флексом и flex-grow для main.

    Так получится универсальное решение, не зависящее от высоты шапки.
    Ответ написан
    Комментировать
  • Зачем комментарии на сайте оборачивать в тег article?

    Ankhena
    @Ankhena Куратор тега HTML
    Нежно люблю верстку
    Могу ответить и на вопрос где это написано. Вот тут, прямо в спеке.
    А также попробую перевести, что там написано.

    Там идет речь о том, что комментарии можно оборачивать в article, когда они являются дочерними элементами "большого" article. Т.е. той самой независимой конструкцией является внешний article, сама статья.
    И тогда всё логично, сама статья, вместе с комментариями к ней (если нужно) может быть использована где угодно, в том числе и на других сайтах без потери контекста.
    Ответ написан
    Комментировать
  • Как средствами CSS/HTML создать сегмент круга, который можно будет залить внутренней тенью?

    Ankhena
    @Ankhena Куратор тега CSS
    Нежно люблю верстку
    Не ясно зачем и чем это лучше clip-path и svg, но пусть будет.
    Дальше доводите до ума, чтоб ничего не торчало

    https://codepen.io/AnnaSummer/pen/GReWpPy
    Ответ написан
    Комментировать
  • Можно ли svg спрайт вставлять в псевдоэлементы?

    Ankhena
    @Ankhena Куратор тега CSS
    Нежно люблю верстку
    Нужно сделать так называемый стек из svg, а не символьный спрайт.
    И его можно вставлять куда угодно, как обычно в use или в img или в CSS (псевдо, фоны, маски...).
    https://telegra.ph/Stack--sprajt-zdorovogo-chelove...

    Если вы имеете в виду вставку непосредственно в свойство content псевдоэлемента, то да, тоже можно, но прямо скажем неудобно потом с этим работать. Но это верно и для всего остального, отличного от текста.
    Ответ написан
    Комментировать
  • Как передвинуть отдельную букву, но не сдвинуть другие?

    Ankhena
    @Ankhena Куратор тега CSS
    Нежно люблю верстку
    Используйте относительное позиционирование. Оно сдвинет элемент относительно текущего положения, не повлияв на окружение.
    https://developer.mozilla.org/ru/docs/Learn/CSS/CS...
    Ответ написан
    Комментировать