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

    Ankhena
    @Ankhena Куратор тега CSS
    Нежно люблю верстку
    Подчеркивание делается либо одним псевдоэлементом или вообще без них
    https://jsfiddle.net/fzhec4bo/

    просто код
    .nav1 a {
      position: relative;
      display: inline-block;
      margin: 20px;
      text-decoration: none;
    }
    
    .nav1 a::before {
      content: "";
      position: absolute;
      top: 100%;
      display: block;
      width: 100%;
      height: 3px;
      background: linear-gradient(to right, violet calc(50% - 1px), transparent calc(50% - 1px), transparent calc(50% + 1px), violet calc(50% + 1px));
    }
    
    .nav2 a {
      display: inline-block;
      margin: 20px;
      padding-bottom: 3px;
      text-decoration: none;
      background: linear-gradient(to right, violet calc(50% - 1px), transparent calc(50% - 1px), transparent calc(50% + 1px), violet calc(50% + 1px)) no-repeat bottom center / 100% 3px;
    }


    <nav class="nav1">
      <a href="">text</a>
      <a href="">texttext</a>
    </nav>
    <nav class="nav2">
      <a href="">text</a>
      <a href="">texttext</a>
    </nav>

    Ответ написан
    1 комментарий
  • Почему z-index крошит мое лицо?

    Ankhena
    @Ankhena Куратор тега CSS
    Нежно люблю верстку
    Потому что лежит внутри .lang__main у которого задана прозрачность, соответственно и .lang имеет прозрачность.

    Используйте цвета в rgba вместо opacity.
    Ответ написан
  • Правая колонка переноситься в низ?

    Ankhena
    @Ankhena Куратор тега CSS
    Нежно люблю верстку
    Muslim Mamaev,
    Дело в том, что суммарная ширина у вас выходит: 20% + 76% + 15px + 10px = 96% + 25px.
    А потом вы уменьшаете экран и 25точек оказываются больше, чем оставшиеся свободные 4%.

    Флоатами сейчас никто такую раскладку блоков не верстает.

    На флексах примерно так: https://jsfiddle.net/vwojq8c3/

    это заодно решит и ваш следующий вопрос "как сделать блоки одинаковой высоты" ;)

    Альтернативы:
    - Использовать способ расчета ширины box-sizing: border-box, тогда паддинги будут включены внутрь width. Тогда width можно писать 20% и 80%
    - Вместо padding использовать margin в %.(у вас 4% на это остается)
    - Для ширины основного блока использовать calc(80% - 25px) Если еще границы, то их толщину тоже надо учесть.
    Ответ написан
    Комментировать
  • Авто-перенос элементов списка в новую колонку?

    Ankhena
    @Ankhena Куратор тега CSS
    Нежно люблю верстку
    Непосредственно на флексах.
    direction:columns;
    flex-wrap: wrap;
    максимальная высота;
    Ответ написан
    Комментировать
  • Как наложить блок поверх блока с overflow: auto?

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

    Ankhena
    @Ankhena Куратор тега CSS
    Нежно люблю верстку
    Cosmonaut ., одинаковые шрифты подключаются с одним именем, различающуюся жирность и стиль пишут в font-weight и font-style.

    Для современных браузеров нужны форматы woff2 и woff.
    @font-face {
        font-family: "OpenSans";
        src: url("fonts/opensans.woff2") format("woff2")
                url("fonts/opensans.woff") format("woff") ;
        font-weight: normal;
        font-style: normal;
    }
    
    @font-face {
        font-family: "OpenSans";
        src: url("fonts/opensansbold.woff2") format("woff2"),
                url("fonts/opensansbold.woff") format("woff");
        font-weight: 700;
        font-style: normal;
    }
    Ответ написан
    1 комментарий
  • Как правильно сверстать такой блок?

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

    Это список, у него квадратики в ::before. Перед списком заголовок, у него тоже ::before, только синий.

    https://jsfiddle.net/j0auve6m/
    Отступы, размеры, цвета дорисуйте самостоятельно.
    Ответ написан
    Комментировать
  • Высота блока при адаптиве?

    Ankhena
    @Ankhena Куратор тега CSS
    Нежно люблю верстку
    И вообще надо ли задавать фиксированную высоту блокам?

    Зависит от макета и задумки дизайнера.
    В большинстве случаев желательно обходится без указания высоты или задавая минимальную/максимальную.

    Но как решить данную проблему?

    Если header должен быть именно 100vh, то и размер шрифта пересчитать в единицы измерения связанные с вьюпортом. (Только обязательно проверяйте на больших и маленьких размерах окна, обычно там нужно менять размеры через media, чтобы не получить гигантов и мини-карликов)
    Ответ написан
    Комментировать
  • Как сверстать макет, ширина которого больше, чем ширина экрана моего монитора?

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

    Так что на 1600 (да и на 1200 тоже) у вас не должно быть никакой горизонтальной полосы прокрутки.
    Ответ написан
    3 комментария
  • Как сделать так, что бы цвет нижнего подчёркивания input при клике менялся c середины?

    Ankhena
    @Ankhena Куратор тега CSS
    Нежно люблю верстку
    Открываете инструменты разработчика (ctrl + shift + i или F12) тыкаете в нужный элемент и смотрите что у него там в стилях в свободном состоянии и при фокусе.

    А там: фон градиентом и у него меняется размер при фокусе
    https://jsfiddle.net/vew59xcs/
    Ответ написан
    Комментировать
  • Можно ли установить размер изображения при добавлении через превдоэлемент?

    Ankhena
    @Ankhena Куратор тега CSS
    Нежно люблю верстку
    Вы можете вставить в content прямо код svg. Только предварительно нужно прогнать его через конвертер, например https://websemantics.uk/tools/svg-to-background-im...

    И задавать размер как обычному svg через width и height.
    Ответ написан
  • Как сделать скролиговый toggle button?

    Ankhena
    @Ankhena Куратор тега CSS
    Нежно люблю верстку
    Примерно так (кликать на цифры, потом измените как захотите):
    код
    <div class="wrapper">
    
      <div class="item"><input type="radio" name="range" id="r1"><label for="r1">200</label></div>
      <div class="item"><input type="radio" name="range" id="r2" checked><label for="r2">500</label></div>
      <div class="item"><input type="radio" name="range" id="r3"><label for="r3">600</label></div>
      <div class="item"><input type="radio" name="range" id="r4"><label for="r4">800</label></div>
    
    </div>


    .wrapper {
      display: flex;
      width: 300px;
      margin: 30px;
      background: linear-gradient(to right, orange, red) no-repeat center 20px/ 100% 3px;
    }
    
    .item {
      position: relative;
      padding-top: 30px;
      width: 25%;
    }
    
    input {
      position: absolute;
      width: 1px;
      height: 1px;
      margin: -1px;
      padding: 0;
      overflow: hidden;
      border: 0;
      clip: rect(0 0 0 0)
    }
    
    label {
      display: block;
      padding-top: 10px;
      text-align: center;
    }
    
    input:checked+label::before {
      content: "";
      position: absolute;
      top: 8px;
      width: 24px;
      height: 24px;
      border-radius: 50%;
      background: #67B84C;
      box-shadow: 0 0 0 3px #fff;
    }

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

    Ankhena
    @Ankhena Куратор тега CSS
    Нежно люблю верстку
    Оригинал вашего градиента выглядит так:
    background: linear-gradient(to top, #ffea00,#ffd000 85%, #ffd900);


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

    Ankhena
    @Ankhena Куратор тега CSS
    Нежно люблю верстку
    Не оттуда пляшете.

    Давайте я вам как девочка девочке всё объясню. На примере джинсов.
    Есть такая штука мода. Сейчас в обтяжку, раньше клеш или широченные. Но при этом всегда остаются люди предпочитающие классику или консерваторы, которые предпочитают даже слегка устаревшую классику.

    Так вот, с сайтами аналогичная история.
    10 лет назад считалось, что шрифт 14px это гигантомания и использовали 10 или 12. Между строчками крошечные отступы. Особо нерадивые даже между абзацами пытались не делать пустых строк.

    Есть мода и восприятие пользователем современных сайтов. То, как хочется видеть именно сейчас. Изменяются даже пропорции и зависимости.
    96 это точно такое же красивое число как 100. Это 16*6. А 16 это стандартный размер шрифта основных браузеров.

    Кроме этого есть аспекты адаптивности.
    И правильно не ширина кнопки равна 100 или 96px, а ширина кнопки это ширина текста плюс отступы. И хорошо бы, чтобы эти отступы были пропорциональны размеру шрифта, а не кратны 5px. Вы поставите отступ четко 20px, а пользователь поставит в настройках браузера шрифт 150%. И получится куцая кнопка с некрасивыми маленькими отступами.
    При этом не все элементы должны быть кратны размеру шрифта, какие-то имеют другие зависимости.

    Другой вариант, пропорции относительно размеров экрана или блока. Например, кнопка должна занимать всю ширину блока или половину. Если текст не помещается, то переносится.

    Поэтому, хороший дизайнер либо сопровождает работу верстальщика, либо пишет сопроводительное письмо с указанием зависимостей, либо и то и другое.

    И да, дизайнер может четко сказать, что справа отступ 19px, а слева 17, потому что визуально (например, из-за особенностей шрифта) получается ровно. Если это проблема для верстальщика, то не надо работать с таким верстальщиком.
    Верно и в обратную сторону, если дизайнер нагородил какую-то невменяемую конструкцию из-за которой прибавляется лишняя 1000 строчек кода, то имеет смысл обсудить целесообразность ее использования с самим дизайнером и заказчиком.

    Про вклад заказчиков в дизайн, я думаю, вы и сами знаете. У них особенное чувство прекрасного, хорошо, если просто консерватор из первого абзаца.
    Ответ написан
    6 комментариев
  • Как сделать такой блок для записи?

    Ankhena
    @Ankhena Куратор тега CSS
    Нежно люблю верстку
    https://jsfiddle.net/tb08jxyL/
    префиксы для плейсхолдера только остальные тоже допишите
    Ответ написан
    Комментировать
  • Как пофиксить выпадающее меню?

    Ankhena
    @Ankhena Куратор тега CSS
    Нежно люблю верстку
    Писать зависимости от this
    Заменить $('.sub-menu').toggle(); на $(this).children('.sub-menu').toggle();
    https://jsfiddle.net/ta136ogu/
    Ответ написан
    2 комментария
  • Как зафиксировать стрелку у details?

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

    дальше стилизуйте как хотите
    Ответ написан
  • Как поменять местами блоки при сужении страницы?

    Ankhena
    @Ankhena Куратор тега CSS
    Нежно люблю верстку
    Это делается флексами, за порядок элементов отвечает свойство order.
    вот так https://jsfiddle.net/38zvd5Ls/

    p.s. еще можно гридами, тогда и вначале без флоатов будет хорошо.

    p.p.s. фу-фу так делать:
    * {
      margin: 0px;
      padding: 0px;
    }
    Ответ написан
    2 комментария
  • Если на странице нет заголовка h1 ,надо ли его добавлять и скрывать для поисковиков?

    Ankhena
    @Ankhena Куратор тега CSS
    Нежно люблю верстку
    Специально для таких штук придумали класс visually-hidden. Доступное скрытие. Т.е. заголовок будет доступен для читалок и поисковики не будут против. Все счастливы.
    Вариантов такого скрытия несколько, например, https://snook.ca/archives/html_and_css/hiding-cont...

    И еще коротенькое видео HTML Шорты - Как прятать
    Ответ написан
    Комментировать
  • Как сделать кнопку с порваным верхним бордером?

    Ankhena
    @Ankhena Куратор тега CSS
    Нежно люблю верстку
    Если непрозрачная, то белыми псевдоэлемнтами.
    Если прозрачная, то верхняя граница это не граница, а фоновый градиент в 1 точку высотой.
    Ответ написан