Ответы пользователя по тегу CSS
  • Как сверстать такой элемент?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    такую вещь

    такая вещь называется tabs. Вам стоит сходить на codepen и посмотреть примеры, там народ как только не изгаляется: и на чистом CSS, и на скриптах, и с поддержкой wai-aria, и без. В вашем случае этот элемент повернут набок вместо традиционного для него горизонтального положения.
    Ответ написан
    Комментировать
  • Scroll-behavior не работает в Хроме?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    scroll-behavior работает только в firefox.
    scrollintoview тоже работает только в firefox. Хром частично умеет, но smooth его печалит. Вообщем все, что вы пробуете находится в стадии "черновика", до поддержки браузерами еще очень далеко.
    Ответ написан
    2 комментария
  • Brackets scss или чистый css есть ли смысл?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Что рациональнее - текстовый редактор или препроцессор для языка? Вопрос по крайней мере странный: вы пытаетесь сравнить то, что по определению сравнить нельзя.

    Вероятно вам стоит переформулировать вопрос и понять, что текстовый редактор - это личный инструмент для каждого разработчика (я вот как-то с brackets на vim пересел), который позволяет писать тексты, а препроцессоры, системы сборки, контроля версий и.т.д., которые используются в проекте решают совершенно другие задачи и никак не зависят от того, в чем конкректный человек пишет код. И кто мешает вам использовать scss и писать в brackets?
    Ответ написан
  • Как оформить рамку?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    1 комментарий
  • Есть ли у кого альтернатива html, body height: 100% при прибитии футера к низу?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Есть вот такой вариант для прижатия футера. Одна беда - IE не умеет в флексбокс.
    Ответ написан
    Комментировать
  • Как сверстать такой блок с наклоном сверху и снизу?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Можно сделать с помощью псевдоэлементов вот таким образом. Пропорции треугольников не меняются при изменении размера экрана так как и ширина и высота их зависят от vw, положение их определяется через calc для того, чтобы в хроме (и возможно еще где-то) не было проблем с мерцающим зазором в 1px.
    Ответ написан
    Комментировать
  • У меня не первый раз first-child в Brackets просто не работает, может у кого-то тоже?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Вы просто не понимаете что такое :first-child. Вот вам пример для размышлений. А в вашем случае нужно использовать :first-of-type.
    Ответ написан
    Комментировать
  • Как поставить 2 цвета в placeholder?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Можно использовать label - с его стилизацией проблем не будет, а при фокусе на input его поднимать/уменьшать/убирать.
    Ответ написан
    Комментировать
  • Code review верстки новичка + вопросы?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Нужна конструктивная критика

    Ну давайте покритикуем... постараюсь все аргументировать.

    Начнем не с кода, а с юзабилити так сказать: есть люди, которые используют tab для перемещения по странице. Это факт. В вашем случае получается, что в верхнем меню перемещаться можно только по словам (но не по иконкам), а по остальной странице - вообще нельзя. Т.е. формально перемещение идет, но ничего не выделяется и совершенно не понятно где мы находимся. Имеет смысл добавить для focusable-елементов стили для :focus.

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

    Ну а теперь перейдем собственно к коду. Скриптов у вас немного, поэтому буду говорить про CSS. Вопрос: у вас css файл на 2606 строк - вы пишете все в нем? Если да - вам стоит посмотреть в сторону систем сборки (grunt / gulp) - имеет смысл отдельные компоненты делать в отдельных файлах, а затем это все склеивать. Так проще ориентироваться в происходящем (и те, кто будут работать с вашим кодом после вас скажут вам спасибо). Опять же префиксы для браузеров можно будет расставлять автоматически.

    Дальше:
    .work_pic1-part1:hover span,
    .work_pic1-part1:hover:before,
    .work_pic2-part1:hover span,
    .work_pic2-part1:hover:before,
    .work_pic3-part1:hover span,
    .work_pic3-part1:hover:before,
    .work_pic4-part1:hover span,
    .work_pic4-part1:hover:before,
    .work_pic1-part2:hover span,
    .work_pic1-part2:hover:before,
    .work_pic2-part2:hover span,
    .work_pic2-part2:hover:before,
    .work_pic3-part2:hover span,
    .work_pic3-part2:hover:before
    ...

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

    К концу файла глаза довольно сильно устают. Префиксы раздражают, как и множество одинаковых (и совершенно ни о чем не говорящих) чисел. Так что префиксы лучше расставлять автопрефиксером, а в будущем посмотреть на less / sass - препроцессоры упрощают работу и имеют разные плюшки вроде переменных (например длина анимаций просто напрашивается на вынесение в переменную), наследования стилей и.т.д.

    Еще по поводу размера css: есть такое понятие как critical css - стили для первого видимого экрана. Их можно выделить автоматически (см. системы сборки) и встроить прямо в html. А все остальные стили загружать уже потом. Это создаст у пользователя впечатление быстрой загрузки. У Виталия Фридмана есть занятная лекция на youtube, где он рассматривает этот и другие вопросы оптимизации загрузки на примере smashingmagazine.

    Комментарии. Их нет. В большинстве случаев они и правда не нужны, но после нарезки такого рода окончаний
    </div>				
                    </div>
                </div>
            </div>
        </footer>
    </div>

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

    Да и напоследок: названия классов очень разнородные - то дефисы, то подчеркивания, то длинные, то короткие, иногда в них видится система, но эта система переодически дает сбой. Не люблю я БЭМ, но, вероятно вам стоит почитать о нем более подробно (или про аналоги, решающие те же задачи - недавно тут на тостере был вопрос о том, что делать, если бэмоподобные классы перестали нравиться - пришли к выводу, что rscss тоже неплох).

    P.S.: планшета под рукой нет, поэтому про тормоза ничего сказать не могу - на слабом нетбуке все работает более-менее нормально.
    Ответ написан
  • Как собрать стайлгайд?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Пробовал использовать DSS (если быть точнее grunt-dss, поскольку все остальное собиралось с помощью grunt). Несмотря на то, что этот проект давно не обновляется, использовать его вполне можно. Вся идея состоит в том, чтобы в css (less/sass/...) писать комментарии вида
    // @name Button
    // @description Button component
    //
    // @state -small     - Smaller button
    // @state -large     - Larger button
    // @state -dangerous - Indicates danderous action
    // @state -ghost     - Button with transparent background
    //
    // @see button-group
    //
    // @markup
    //      <a class="button" href="">button</a>

    и из них генерируется стайлгайд. Инструмент очень простой и поэтому легко кастомизируется - можно дописывать свои парсеры для чего-то кастомного (например если нужна информация о js для компонента или что-то еще), шаблон для всего этого - обычный html со вставками вида {{property}}.
    Ответ написан
    1 комментарий
  • Какой стиль шрифта более похож на семейство Ubunto?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    9 различных шрифтов на странице? Это в любом случае будет тормозить при загрузке. Обычно используют 2-3 шрифта, не больше. Здесь скорее нужно не менять шрифты, а уменьшить их количество. Или, если по какой-то причине они правда нужны все сразу - уменьшить наборы символов в них (скорее всего они содержат языки и спецсимволы, которые вы никогда на своем сайте не будете использовать).
    Ответ написан
    Комментировать
  • Как выровнять текст относительно иконки?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    .data {
        line-height: 32px;
    }
    Ответ написан
    Комментировать
  • Как реализовать с помощью SVG?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Хорошее руководство по SVG есть на developer.mozilla.org, особенно полезно почитать про пути - сколько я видел такие волны делают через кривые Безье. А примеры как всегда есть на codepen, например вот этот. Но стоит помнить, что в общем случае может быть проще нарисовать то, что нужно, в графическом редакторе и экспортировать, чем подбирать числа руками.
    Ответ написан
    Комментировать
  • Как стилизовать radio button таким образом?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Просто стилизуйте не сам radio button, а label для него - пример на codepen.
    Ответ написан
    Комментировать
  • Как прижать footer?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Ответ написан
    Комментировать
  • Какие измерения дать шрифтам?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Есть очень неплохой вариант с использованием calc: он позволяет плавно менять размер шрифта в пределах от минимального до максимального размера вашей сетки (например от 320px до 1100px) - https://www.smashingmagazine.com/2016/05/fluid-typ...
    Ответ написан
    Комментировать
  • Как сделать так чтобы видео на сайте вело себя как background сделанный через background-size: cover?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Есть свойство object-fit. Собственно оно позволяет делать именно то, что вы описываете - codepen.
    Ответ написан
    1 комментарий
  • Textarea в firefox?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    почему так происходит?

    Потому что у вашего textarea margin в 1px сверху и снизу:
    c0100e21ca134563895a73bc10ffced6.png
    как это исправить?

    • Добавить margin: 0 для textarea
    • В будущем использовать normalize.css
    Ответ написан
  • Как сделать чтобы сумма отнималась при выборе checkbox?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    В демке есть специальный скрипт, который позволяет выбрать только 1 checkbox из двух

    Не придумывайте велосипед и используйте radio button.
    Ответ написан
  • Можно ли один и тот же текст расположить в два слоя поверх друг-друга?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Можно воспользоваться data-аттрибутами в html
    <div data-text="Lorem ipsum..."></div>

    И поиспользовать attr() для их использования
    div:before,
    div:after {
        content: attr(data-text);
    }


    Общая идея должна быть понятна, но codepen тоже приложу.
    Ответ написан
    1 комментарий