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

    olegbarabanov
    @olegbarabanov
    Программист, фрилансер (ИП)
    На похожий вопрос я уже отвечал на stackoverflow, поэтому чтобы не дублировать просто дам ссылку на свой ответ c пояснением и примером кода.

    В том примере, шрифт будет уменьшаться только в том случае, если он не влезает в блок, а в ином случае остается как есть по умолчанию. Если вам необходимо, чтобы шрифт также и увеличивался (т.е. совсем полностью подстраивался), то возможно этот чуть доработанный пример на codepen вам более подойдет.

    Если вкратце, то текст в блоке оборачивается дополнительным контейнером с overflow: hidden под размер блока и враппером, который просто оборачивает текст. Взяв огромный размер шрифта (так, чтобы враппер переполнял контейнер) и затем уменьшая его, мы уменьшаем размеры враппера и как только этот враппер перестает переполнять контейнер - убираем все лишнее(и контейнер и враппер) и оставляем подобранный размер. Данный пример похож на тот, что упоминал Semantic.Moscow, с расчетом размера шрифта за счет overflow: scroll и снижения размера шрифта до тех пор, пока скролл не пропадет.

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

    olegbarabanov
    @olegbarabanov
    Программист, фрилансер (ИП)
    1) Что касательно JS - рекомендую обратить внимание на
    Airbnb JavaScript style guide или на Google JavaScript Style Guide.
    Код должен быть в одном стиле. Т.е. либо везде используете ; либо нигде.

    2) Также от себя лично добавлю, старайтесь обозначать переменные по умолчанию как const. Если вам не хватает const потому что вам надо переназначать переменную - только тогда делайте let.

    Немного модифицируем ваш пример
    let a = 0 
    let b = 1 
    const b2 = '/4'
    const slider = document.querySelector('.slider')
    const buttonNext = document.querySelector('.buttonNext')
    const buttonBack = document.querySelector('.buttonBack')
    const counter = document.querySelector('#counter')

    Благодаря const мы сразу видим, что переменные не будут переназначаться (т.е. readonly). Правильное использование const и let - важный элемент самодокументирования кода.

    3) Что касается CSS - присмотритесь к Google HTML/CSS Style Guide
    Например, в вашем случае порядок свойств в CSS классах не придерживается какого-либо порядка, поэтому читать такое неудобно. Сделайте по алфавиту (за исключением вендорных свойств). Этот пункт как-раз описан тут.
    Естественно это не надо ручками делать - поэтому вам придется познакомиться с различными системами автоматического форматирования кода.

    4) Именование в CSS классах должно быть единого стиля. У вас в коде есть и .buttonBack и .container-button - lowerCamelCase и CamelCase стиль в CSS использовать нежелательно.

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

    olegbarabanov
    @olegbarabanov
    Программист, фрилансер (ИП)
    Свойства border-image и linear-gradient. Пример на codepen
    Ответ написан
    Комментировать
  • Почему сайт вылетает с safari на iphone?

    olegbarabanov
    @olegbarabanov
    Программист, фрилансер (ИП)
    Во-первых, я заметил, что у вас не только на iphone такая проблема (во всяком случае на ipad грустно). Отрисовка даже на других устройствах явно хромает. И самую сильную проблему тут генерируют тяжелые фильтры с большими значениями. Например:
    ...
        -webkit-filter: blur(420px);
        filter: blur(420px);
    ...

    Во-вторых, заметил что у вас используется:
    @media screen and (max-width:720px) {
    ...
    }

    Хотя даже в bootstrap у вас используется ≥768px , т.е. некоторая часть мобильных девайсов фактически отображает полную версию для десктопа (и со всеми фильтрами).
    Ответ написан
    Комментировать
  • Некорректно работает swiper, последний блок не влезает полностью, в чем проблема?

    olegbarabanov
    @olegbarabanov
    Программист, фрилансер (ИП)
    Раз уж указываете padding, то к .swiper-slide добавьте: box-sizing: border-box;
    https://codepen.io/olegbarabanov/pen/zYzpVNa
    Ответ написан
    1 комментарий
  • Что за элемент такой (на картинке)?

    olegbarabanov
    @olegbarabanov
    Программист, фрилансер (ИП)
    Т.е. в вашем случае "элемент" это текущий выделенный элемент в структуре.
    В этом "элементе" указаны стили, указанные в атрибуте style элемента, который выделен у вас слева.
    Ответ написан
    Комментировать
  • Можно ли создать «шумный» фон только с помощью CSS3 (без изображений)?

    olegbarabanov
    @olegbarabanov
    Программист, фрилансер (ИП)
    canvas + небольшой скрипт, который делает шумы или что-то подобие соли тогда уж.
    Если я конечно правильно понял вас.
    Ответ написан