• 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 комментарий
  • Плавное появление страницы?

    sfi0zy
    @sfi0zy Куратор тега HTML
    Creative frontend developer
    Первая ссылка из гугла дала код из 2007, когда вышла jquery и все стали клепать снежинки и переходы между страницами:
    $(document).ready(function() {
        $("body").css("display", "none");
        $("body").fadeIn(2000);
    
        $("a").click(function(event) {
            event.preventDefault();
            linkLocation = this.href;
            $("body").fadeOut(1000, redirectPage);
        });
    
        function redirectPage() {
            window.location = linkLocation;
        }
    });

    Разумеется можно это сделать и на чистом js.
    Ответ написан
    Комментировать
  • Есть ли у кого альтернатива 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, например вот этот. Но стоит помнить, что в общем случае может быть проще нарисовать то, что нужно, в графическом редакторе и экспортировать, чем подбирать числа руками.
    Ответ написан
    Комментировать
  • Актуальны ли еще видео Sorax'a?

    sfi0zy
    @sfi0zy Куратор тега JavaScript
    Creative frontend developer
    Да, видео Sorax`a все еще актуальны. Единственное что стоит помнить, так это то, что в видео про JS он рассказывал все используя ES5, а сейчас в наш мир медленно но верно приходит ES6, т.е. все, что он говорил до сих пор актуально, но немного дополнилось новым стандартом (который можно разобрать как дополнение к предыдущему за пару дней).
    Ответ написан
    2 комментария
  • Что значат восклицательные знаки?

    sfi0zy
    @sfi0zy Куратор тега JavaScript
    Creative frontend developer
    Это преобразование к типу boolean, т.е. запись вида
    !! variable
    по смыслу соответствует вот этому:
    Boolean(variable)
    Ответ написан
    Комментировать
  • Как стилизовать radio button таким образом?

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

    sfi0zy
    @sfi0zy Куратор тега JavaScript
    Creative frontend developer
    [].forEach.call(document.getElementsByClassName('num'), function(element) {
        if (element.textContent.length > 6) {
            element.classList.add('someclass');
        }
    });
    Ответ написан
    Комментировать
  • Как прижать footer?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Ответ написан
    Комментировать