Ответы пользователя по тегу CSS
  • Есть альтернативы БЭМ?

    @memba
    В БЭМ вы можете быть уверены, что не перекроете какой-либо класс написанный ранее, чего нельзя сказать об обычном каскадном подходе.

    А так же можете перемещать свои элементы не залезая в CSS файл и не переписывая наследование.

    Разумеется все это накладывает ограничения и из-за длинных префиксов код становится громоздким. Зато проще работать в команде, проще поддерживать сотню CSS файлов.

    Если вам не нравятся длинные префиксы можно использовать старый подход к БЭМ. В простых проектах я делаю так:

    Все глобальные классы начинаются с префикса "b-".

    .b-topic { }
    .b-topic .title { }
    .b-topic .text { }
    .b-topic .text a { }


    Тем самым, мы не перекроем в каскаде какой-либо глобальный класс, который мы можем случайно наследовать.

    Например, если бы я использовал в коде ".title { }" для задания стиля основных заголовков, то ".b-topic .title { }" наследовал бы этот стиль. Что бы этого не произошло, для глобальных классов нужно ставить префикс... ".b-title { }".
    Ответ написан
    Комментировать
  • Есть блок с overflow:hidden в нем есть элемент который должен выходить за рамки блока, как реализовать?

    @memba
    Выкидываете overflow:hidden и вешаете на элемент clear-fix класс:

    .clear:after {
      content: '.';
      display: block;
      height: 0;
      clear: both;
      visibility: hidden;
    }
    Ответ написан
    3 комментария
  • Как jQuery ломает верстку?

    @memba
    Как вы вообще обнаружили что верстка внутри тега head "развалилась", если его содержимое вообще не отображается на веб-странице...
    Ответ написан
  • Как убрать выделение блока после двойного клика?

    @memba
    Я использую отмену события и предотвращение его дальнейшего распространения.
    Почитайте про event.preventDefault и event.stopPropagation.

    // UPD

    Видимо тут только мне кажется что:

    $('div').mousedown(function(event){
      event.stopPropagation();
      event.preventDefault(); 
      return false;
    });


    Выглядит лучше и правильнее...
    Погасите событие mousedown и элемент выделяться не будет. Выделение происходит не из-за "даблклика".
    Ответ написан
    Комментировать