Ответы пользователя по тегу CSS
  • Что эффективнее использовать css || js?

    Вопрос достаточно абстрактный, но в большинстве случаев правильным ответом будет ""js - эффективнее.

    Что же такое эффективность:
    - дальнейшая поддержка
    - расширяемость
    - заменяемость

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

    Дальнейшая поддержка - структурировать js код проще чем каскадные таблицы. Здесь вам и ООП с состояния и многое другое.

    Расширяемость - у решения на CSS будут ограничения по вложенности, по работе на тач устройствах, по доступности (a11y).

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

    Для начала рассмотрите MaterialUI. Потом познакомьтесь с альтернативами. И если уж ничего не подойдет - пишите собственное меню на js.
    Ответ написан
  • Как получить fixed расположение елемента относительно окна?

    element.getBoundingClientRect()

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

    Нужно понимать что инструменты о которых вы говорите появились не просто так, а потому что в них была острая необходимость. Т.е. если у вас есть большой проект с объемным CSS и вам уже сложно уследить за единством оформления (в одном месте у кнопки бордер 1px в другом 2, и тому подобное), то вы невольно начинаете задумываться о том что неплохо было бы иметь в CSS настоящие переменные ($button_border_width).
    Таким образом если вы не чувствуете острой потребности в этих фишках - не стоит забивать ими голову - процесс обучения будет достаточно мучительным, потому что вы еще не будете понимать, куда все это можно впихнуть.
    Но! Безусловно стоит ознакомиться с основными фишками, которые могут добавить препроцессоры вашему коду. Вам не нужно знать как объявлять переменные и примеси, но нужно знать что это вообще возможно. Т.е. вам хватит парочки обзорных статей.

    Все вышесказанное относится так же и к сборщикам (gulp, grunt), с вопросом о которых, я думаю, вы пришли бы на Тостер через месяц.
    Ответ написан
    Комментировать
  • Зачем нужны таск менеджеры GULP и GRUNT?

    Мне кажется тут не хватает образного примера:

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

    Вот и сказочке конец, а кто слушал, тот и gulp.

    Простите - пятница.
    Ответ написан
    Комментировать
  • Как сделать контур у текста в CSS?

    .target-text {
      text-shadow: 0 0 1px #fff,0 0 1px #fff,0 0 1px #fff,0 0 1px #fff,0 0 1px #fff,0 0 1px #fff,0 0 1px #fff,0 0 1px #fff;
    }
    Ответ написан
    Комментировать
  • Как реализовать событие по календарю?

    Вот вам направление:

    var date = new Date('2014-12-2 15:00:00');
    var target = $('#target-block');
    
    if (Date.now() > date) target.hide();
    Ответ написан
    Комментировать