• Добавлять класс при обновлении страницы?

    TerNik
    @TerNik
    if ($(document).scrollTop() > 50) {
    	$('.nav-bar').addClass('nav-bar_collapsed');
    }
    $(window).scroll(function() {
        if($(this).scrollTop() > 50)  /*height in pixels when the navbar becomes non opaque*/
        {
          $('.nav-bar').addClass('nav-bar_collapsed');
        } else {
          $('.nav-bar').removeClass('nav-bar_collapsed');
        }
      });
    Ответ написан
    Комментировать
  • Reset и Save должны быть кнопками или чекбоксами?

    sim3x
    @sim3x
    Кнопками
    Ответ написан
    Комментировать
  • Какие вопросы задавать заказчику?

    Главное вести себя уверенно)

    Задавай наводящие вопросы, типа:
    — Покажите примеры работ, которые Вам нравятся
    — Есть-ли предпочтения по цветовым схемам?

    Если тебе ответят: "сёравно, лишь бы было круто" - предупреди, что твоё "круто" может отличаться от его понятий о "крутом"
    Главное - пытаться выбить из него максимум информации и показывать интересные работы по его тематике

    Просто у меня был такой опыт:
    1. Задавал наводящие вопросы
    2. В ответ получил: "ты художник - вот и рисуй, лишь бы круто было"
    3. Нарисовал красивый дизайн (основные цвета тёмные, всё плоское. Макет, в целом, был реально классный)
    4. Показал макет - меня отправили к "доверенному лицу", к манагеру. Манагеру всё понравилось.
    5. Сверстал, прикрутил код, залил на сервер.
    6. Пришёл показать результат и забрать остаток кэша - мне сказали, что сайт слишком тёмный, прям как "похоронное бюро"
    7. Со скрипом зубов перерисовал в более яркие оттенки(согласовав всё с заказчиком), опять сверстал - в ответ услышал: "сайт прям как для детского сада".
    8. Кое-как месяц терпел правки, в итоге отдали остаток денег

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

    По этому, лучше договориться сразу
    Ответ написан
    4 комментария
  • Logo img или logo как фон?

    Ravell
    @Ravell
    Верстайло
    Мне кажется что img лучше - если смотреть со стороны SEO.

    Со стороны вёрстки, у каждого из вариантов есть небольшая особенность, коротая может стать решающей в своём конкретном случае.
    (например фоновую картинку пользователь не сможет "Сохранить как..." через правый клик мыши... и т.п.)

    Еще один довод в пользу img:
    В популярных CMS (wordpress, joomla. opencart) по умолчанию логотип выводится тегом img. Думаю разработчики CMS что-то в этом понимают.

    Лично я всегда использую img.
    Ответ написан
    2 комментария
  • Logo img или logo как фон?

    blood-moon
    @blood-moon
    Фрилансер
    Не думаю что это вообще хоть на что-то влияет . Но вот так явно проще
    <a href="#"><img src='logo.png'></a>
    Так что делаю именно так .
    Ответ написан
    Комментировать
  • Logo img или logo как фон?

    vicodin
    @vicodin
    Имею некоторый опыт
    первый вариант
    Ответ написан
    Комментировать
  • Вопрос о препроцессоре less + БЭМ?

    serjikz
    @serjikz
    web-developer
    Пред P.S. Для начала я очень надеюсь что вы используете normalize в своих проектах

    1. Вы можете использовать чистый css в less файлах, но я сомневаюсь, что вам будет не интересно работать с вложенностью, которую позволяет сделать less.
    Этот less
    .footer {
        color: #fff;
        a {
            font-size: 24px;
        }
    }

    развернется в .footer {color: #fff;} .footer a {font-size:24px} это просто пример, я думаю вы понимаете в чем плюс такого подхода, а если еще работать с & то вообще все хорошо и удобно как по мне. Также использование переменных и миксинов тоже очень и очень порой помогает.
    Итог - никто вас не наругает за то, что у вас чистый css в less файлах, но стремитесь less узнавать и упрощать свой код, как раз используя возможности less (надеемся что многое скоро будет в чистом CSS, но до этого надо дожить)

    2. Каждая страница уникальна - да, на каждой странице есть свои компоненты, этим страницы и уникальны. Из компонентов страница и строится. Нет компонентов - нет страницы. Если у вас один проект с множеством страниц - у вас в любом случае будет одинаковый (ну или примерно одинаковый) подвал, также, возможно, меню, шапка и тп. Все зависит от проекта и части каждой страницы будут формироваться из одних и тех же блоков, за стилизацию которых будут отвечать файлы .less те самые (ну конечно потом все собирается в один css и как бы он за все отвечает, но вы поняли меня, надеюсь). И из-за этого как раз я ваш вопрос не понял. На любой странице проекта будет компонент, который вы уже верстали и вы просто используете его снова, просто скопировать-вставить, а не верстаете снова с 0.

    Или вы пытаетесь сделать какой-то костяк общих компонентов, при этом постоянно работаете с лендингами абсолютно разного дизайна? Тогда ваш вопрос понятен и вам не стоит пытаться тягать в абсолютно разные проекты одни и те же файлы. Запаритесь так переписывать каждый раз все стили. Для каждого проекта свой костяк файлов, которые для него нужны. Конечно, какой-то один, может два, а может 3 файла у вас будут одинаковыми на всех проектах, где у вас общие стили, которые вы используете всегда (у меня к примеру миксины, кнопки ну и конечно тот же normalise)

    3. А вы пробовали адаптивить страницы вообще без бутстрапа, а просто руками? Попробуйте, тогда ваш вопрос решится сам собой, иначе вы пытаетесь подгрузить бутстрап, использовать при этом его не будете, зато загрузите свой .css файл итоговый абсолютно не нужным кодом, который только место будет занимать.

    Также почитайте, что такое миксины. Если вы просто будете писать @media (max-width: 767px) это не миксин, а просто медиа-выражение. Миксины - совсем другая вещь.
    Ответ написан
    2 комментария
  • Влияют ли на СЕО семантические теги HTML 5?

    webinar
    @webinar
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Поисковикам проще понять структуру документа. Наверняка есть влияние на seo, но незначительное и при правильном использовании.
    Ответ написан
    Комментировать
  • Как передавать проект на back end?

    webinar
    @webinar
    Учим yii: https://youtu.be/-WRMlGHLgRg
    почти каждый раз при передаче верстки на бэк-энд, программисты жалуются, что нету бутстрапа

    а какая им разница? Я понимаю другим верстальщикам не удобно, так как они не знают Вашего framework, но мне как backend разработчику все равно. Другой вопрос как сверстано? Если там верстка, которую хрен натянешь куда-либо без переписывания, а тут еще и незнакомый велосипед.
    Ответ написан
    Комментировать
  • Как передавать проект на back end?

    ну если так уж критично, подключите свои стили после бутстраповских
    Ответ написан
    Комментировать
  • Как передавать проект на back end?

    @eandr_67
    web-программист (*AMP, Go, JavaScript, вёрстка).
    Если в ТЗ прописан bootstrap, то в выполненной работе должен быть именно bootstrap - и никак иначе. Если же в ТЗ такого требования нет, то какие претензии?

    Использовать в вёрстке названия классов, совпадающие с названиями классов общеупотребительной библиотеки - это очень плохой тон: те самые грабли, на которые Вы с размаха наступили. Неужели один раз переименовать названия своих классов сложнее, чем из раза в раз исправлять последствия своего ошибочного решения?
    Ответ написан
    3 комментария
  • Как передавать проект на back end?

    @kttotto
    пофиг на чем писать
    Если Вы знали, что на бэкенде хотят бустрап, то при верстке Вы должны были это учесть, соответственно учесть как именовать свои классы. А так просто прихотью Вы создаете проблемы, которые могут привести к увеличению стоимости продукта. Радости работодатель от этого не испытает.
    Хороший исполнитель тот, который реализует все пожелания, тем более ему за это платят.
    Поэтому добавьте бустрап и переименуйте классы, чтобы не было конфликтов имен.
    Ответ написан
    Комментировать
  • Актуальность префиксов БЭМ l- b- h- g- js-?

    @ilyarsoftware
    Из истории развития БЭМ https://ru.bem.info/methodology/history/
    2005 год... Классам блоков мы добавили префиксы (b-, c-, g-), чтобы отличать их от внутренних классов...

    Настоящие
    Исторически они появились в переходный период для того, чтобы отличать новый код, написаный по БЭМ, от старого. Со временем мы от них отказались.
    https://ru.bem.info/forum/158/ и https://ru.bem.info/forum/806/

    Соглашение по именованию/Имя блока:
    Иногда к именам блоков могут добавляться различные префиксы.


    Если префиксы решают вашу проблему, значит использовать их надо.

    Дополнительно процитирую заметку "Почему CSS-модули не могут заменить БЭМ":
    Часто слышу, как разработчики говорят «БЭМ не нужен, ведь есть CSS-модули». Это не так.

    Корень этого заблуждения кроется в том, что люди воспринимают БЭМ как CSS-методологию. На самом деле БЭМ это набор универсальных принципов, которые можно применять независимо от используемых технологий, будь то CSS, Sass, HTML, JavaScript или React. БЭМ решает множество задач, в число которых входят именование CSS-классов, подход к разделению интерфейса на независимые части и изоляция стилей для этих независимых частей.

    CSS-модули это инструмент, который решает только проблему изоляции стилей. Все остальные проблемы остаются нерешёнными: вам всё ещё нужны какие-то правила для разделения интерфейса на независимые части и всё ещё нужно придумывать названия классов. Поэтому CSS-модули можно и нужно применять вместе с БЭМом.

    Эволюция выглядит так:
    /* Классический БЭМ с длинными именами классов для обеспечения изоляции */
    
    .shop-cart-button {}
    .shop-cart-button_size_small {}
    .shop-cart-button_size_large {}
    
    
    /* CSS-модули с неограниченной свободой творчества в именах классов */
    
    .button {}
    .small {}
    .large {}
    /* или */
    .button {}
    .is-small {}
    .is-large {}
    /* или */
    .button {}
    .size-small {}
    .size-large {}
    
    
    /* БЭМ и CSS-модули */
    
    .button {}
    .button_size_small {}
    .button_size_large {}

    Сразу отвечу на вопрос «а чем плох пример с классами .button, .small и .large?». Он плох тем, что классы .small и .large сами по себе не несут информации о том, к чему они относятся. Нельзя понять, стилизуют ли они отдельный элемент или описывают состояние существующего элемента. Также такие названия классов рано или поздно снова приведут вас к проблеме уникальности имён. Например, вы пишете стили для модального окна. Вам нужно стилизовать полупрозрачный оверлей поверх страницы и само модальное окно. Оба этих элемента могут быть в двух состояниях: виден или скрыт. Кажется, что класс .visible отлично подходит, но проблема в том, что для оверлея и для окна этот класс должен содержать разные стили. Можно придумать костыль в виде селекторов .overlay.visible и .window.visible, но это именно костыль, потому что вы увеличиваете специфичность. С БЭМом всё просто и без ненужного роста специфичности: .overlay_visible и .window_visible.
    Ответ написан
    Комментировать
  • Актуальность префиксов БЭМ l- b- h- g- js-?

    Префиксы актуальны
    https://ru.bem.info/methodology/naming-convention/...
    Иногда к именам блоков могут добавляться различные префиксы.
    Ответ написан
    Комментировать
  • Можно ли на сайте к инпутам добавить счетчик как на телефонах?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    В iOS достаточно добавить параметр type blog.teamtreehouse.com/using-html5-input-types-to-...
    Ответ написан
    Комментировать
  • Как реализовать такой блок?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Демка, от которой вы можете оттолкнуться. Она была сделана для другого вопроса, но суть одна и та же.
    Ответ написан
    1 комментарий
  • Не работает фильтр на js?

    @petelinmn
    Программист
    Надо так
    ul = document.getElementsByClassName('play-team__list')[0];

    а не
    ul = document.getElementsByClassName('play-team__list');


    getElementsByClassName возвращает массив
    а на w3schools возвращался один элемент
    ul = document.getElementById("myUL");
    Ответ написан
    8 комментариев
  • Не работает фильтр на js?

    Stalker_RED
    @Stalker_RED
    Метод getElementsByClassName возвращает HTMLCollection, а у него нет метода getElementsByTagName.

    Можно переделать так: https://jsfiddle.net/4L7z6cq4/
    Еще лучше, вешать обработчик при помощи addEventListener, а не инлайн onkeyup.
    Ответ написан
    1 комментарий