• На чем можно построить модульную сетку для веба?

    abyrkov
    @abyrkov
    JavaScripter
    Еще есть table для любителей извращений
    Ответ написан
    8 комментариев
  • Vue или Jquery?

    @deliro
    На Vue можно сделать всё, что можно сделать на jQ.
    На jQ можно сделать всё, что можно сделать на Vue, но сложнее.
    На чистом JS можно сделать всё, в том числе Vue и jQ (sic!)

    Я участвовал(ую) в проектах, где в качестве фронта один единственный Vue-бандл. Это сложные интерактивные приложения, где jQ просто иррационально использовать из-за огромного количества реактивных связей. А Vue справляется с этим "из коробки".

    Также, конечно, были проекты, где нужно было показать слайдеры, при определённых действиях обновить DOM, перехватить пару сабмитов форм, но в целом это просто HTML. Там Vue использовать иррационально и jQ подходит отлично.

    Есть даже проекты, в которых jQ и Vue отлично уживаются вместе. Почти везде jQ, а на некоторых сложных страницах, где много связей, аяксов и перерендера DOMа стоит Vue и экономит гигантское количество кода, разметки и моих нервов.

    Вот только чего не стоит делать — так это использовать jQ в качестве HTTP клиента для Vue. Я имею ввиду, что есть куда более легковесные и заточенные под это axios'ы и fetch'и.
    Ответ написан
    Комментировать
  • Почему this.$props в скрипте компонента всегда undefined?

    0xD34F
    @0xD34F Куратор тега Vue.js
    Неуместное использование стрелочных функций. В результате this внутри методов оказывается вовсе не экземпляром компонента. Соответственно, вы ни к каким свойствам компонента не имеете доступа.
    Ответ написан
    3 комментария
  • Что такое frontend окружение?

    Maksclub
    @Maksclub
    maksfedorov.ru
    Окружение — необходимые программы, операционная система для основной работы, дополнительные помощники (дополнители, сборщики, интерпретаторы и прочее) для работы фронтенда :)

    Сейчас в любой не понятной ситуации разворачиваю виртуалку с php, node, mysql, nginx, git, mongo, posgres на борту и вам советую

    Сейчас фронту нужно обязательно иметь Node.js и хорошую IDE (любую, на вашем месте взял бы Phpstorm или Pycharm. Так понял вы по Питону, но вот не знаю как в Pycharm с JS)

    Окружение: базовое
    • ОС с удобной консолью (MacOS, Linux), если вы на Windows — ставьте виртуалку с Linux, вам ооочень будет полезно работать только с ней, также для Windows нужен SSH-клиент, чтобы стучаться на свои проекты на виртуалке/удаленные
    • IDE чтобы можно было удобно работать, хорошая IDE возьмет кучу работы в виде сборки, тестирвоания и ускорения работы
    • Chrome Dev Tools (по кнопке F12 уже можно много чего. возможно нужны будут плагины для Vue/React)
    • GIT — мастхев, для того, чтобы вести проекты, участвовать в чужих и контролировать свою/чужую работу, для Windows вроде есть какие-то клиенты

    Окружение: софт
    • Настроенный веб-сервер (Nginx/Apache)
    • NodeJS (на ней работают все фронтенд решения)
    • NPM (идет с Node) для установки пакетов
    • SASS/LESS/PostCSS
    • Сборщики и автоматизаторы — кажется сейчас можно работать с одним Webpack
    Ответ написан
    Комментировать
  • Что такое frontend окружение?

    be_a_dancer
    @be_a_dancer
    Backend/Fullstack Developer
    Ух.
    Начну с простого. Когда-то для работы с "фронтендом" хватало одного небольшого файлика, который подключался к сайту и делал какую-то минимальную анимацию на сайте (тогда он использовался только для этого).
    Затем, появилась библиотека JQuery и стало легче работать с клиентской стороной сайта. Появились новые возможности, к библиотеки начали дополнительно подключать пару-тройку плагинов. Все еще легко.
    Потом появились другие библиотеки. Их стало много. И подключать каждый файлик отдельно стало неудобно. Захотелось автоматизировать процессы подключения новых файлов в проект, загрузку их из интернета. Появились бандлеры (для первого) и пакетные менеджеры (для второго). Также, появилась потребность, в момент разработки автоматически перезагружать окно браузера, чтобы проверить внесенные изменения, а также подготавливать проекты к релизу. Появились таск менеджеры. Плюс, необходимо было запускать тесты, чтобы проверить, что все работает правильно. И, наконец, нужна была система контроля версий, чтобы удобно выкатывать изменения, хранить состояния кода в разные моменты времени и так далее. А еще, появился новый синтаксис языка, который содержит новые удобные инструменты, но которые не поддерживаются старыми браузерами, для выполнения этой задачи нужны транспайлеры.

    Вот все вот эти инструменты и составляют, в основном, окружение фронтенда. Они помогают упростить рутинную работу, автоматизировать все процессы, которые происходят во все моменты работы над приложением, его публикацией, версионированием и так далее. Возможно, настройка этого окружения требует времени и определенных знаний, но то время, которое экономится - бесценно.
    На начальных этапах, уже есть готовые шаблоны. К примеру, когда работаешь над Vue.js проектом, ты вполне можешь использовать vue-cli шаблон webpack-simple, который включает все те пункты, которые я перечислил. Как-то так.
    Ответ написан
    3 комментария
  • Зачем нужен Vuex, если хранилище можно эмулировать с помощью data в рутовом экземпляре?

    Используйте глобальную дату, но помните одно, что её надо самому чистить из памяти. Ещё надо как-то придумать геттреы и сеттеры для неё. Вдруг понадобится из users достать определённых людей и это всё на разных страницах. Или например проверить авторизацию? На vuex сделать это проще, написав один геттер

    Когда у вас возникнет проблемы с хранением и переполнением, то вы сами придёте к vuex.

    Страница с контентом:
    5a50a0ddc4f3d262866214.png
    Vuex
    5a50a191eea98041020431.png
    Ответ написан
    Комментировать
  • Зачем нужен Vuex, если хранилище можно эмулировать с помощью data в рутовом экземпляре?

    lavezzi1
    @lavezzi1
    В Vuex с помощью mutations можно отслеживать все изменения и аккуратно изменять нужные массивы и объекты данных. В data нет, в data все mutable, что то изменилось и уже сложно дебажить и т.д. Прочитайте в доках к Vuex часть про "Где и когда нужен Vuex".
    Ответ написан
    Комментировать
  • Зачем нужен Vuex, если хранилище можно эмулировать с помощью data в рутовом экземпляре?

    kulakoff
    @kulakoff Куратор тега Vue.js
    Vue.js developing
    Vuex это же паттерн управления состоянием. Он дает понятные механизмы управления, по сути задает стандарт, единый подход, методологию. Это удобно, когда вы не один в проекте, когда проект развивается и растет. Без этого ваш подход через не которое время приведет к неизбежным костылям, более сложной управляемости, а еще через некоторое вы вообще перестанете понимать, что происходит)
    Ну и минусы вашего подхода:
    1. Жесткая связь с рутовым компонентом
    2. Нет разделения на синхронные и асинхронные операции
    3. Ну и вообще у вас только есть реактивность, а вуекс дает различные удобные механизмы типа модулей, наймспэйсов в них, для управления сложностью и возможностью к расширению.
    Ответ написан
    Комментировать
  • Как сделать резиновый блок нестандартной формы, используя clip-path?

    aliencash
    @aliencash
    Партизан
    Предлагаю использовать svg text.
    Ответ написан
    Комментировать
  • Много SVG иконок в проекте. Как быть?

    vicodin
    @vicodin
    Имею некоторый опыт
    Используйте svg <use>

    В двух словах - в одном свг вы заносите все свои свг иконки в виде "символов", и даёте каждой свой id, и потом просто через атрибут вставляете иконку через айди

    https://css-tricks.com/svg-symbol-good-choice-icons/ , я так и делал в подобной ситуации.

    вот ещё, но чуть другое:
    taye.me/blog/svg/a-guide-to-svg-use-elements (en)
    https://habrahabr.ru/post/230443/ (ru)
    Ответ написан
    5 комментариев
  • Почему не срабатывает соседний селектор?

    @Froggyweb
    Потому что перед ним два тега используй ~
    Ответ написан
    1 комментарий
  • Почему padding-bottom: 100% делает из блока квадрат?

    vicodin
    @vicodin
    Имею некоторый опыт
    ну вообще, не квадрат получается, а изначальная высота блока + квадрат, сторона квадрата равна ширине родителя, допустим body.

    без position: sticky то же самое
    Ответ написан
    Комментировать
  • Поддерживаете ли вы IE8 в своих проектах?

    ms-dred
    @ms-dred
    Вечно что то не то и что то не так...
    Нет, к чему учитывать интересы пол процентной аудитории глобала? Да и думаю пользователи динозавров уже давно привыкли к корявой верстке и к частично неработающему функционалу сайтов, пусть страдают, чем больше будут страдать, тем быстрее забудем о кроссбраузерности. Я свой выбор сделал, у других может быть отличная от моей точка зрения.
    Ответ написан
    2 комментария
  • Почему ширина body равна пустой строке?

    @lemme
    Frontend
    getComputedStyle(document.body).width
    Ответ написан
    Комментировать
  • Почему inputmask не работает?

    coderisimo
    @coderisimo Куратор тега JavaScript
    Если открыть страницу и попробовать сделать так : $('#field-id135987').length , вы получите 0
    Т.е первый раз вы пытаетесь повесить маску на элемент, КОТОРОГО НЕТ. Судя по всему инпут создается после нажатия на кнопку "Заказать звонок". Никто не гарантирует вам, что когда вы нажмете кнопку сначала создастся инпут, а уж потом к нему прицепится маска. Это объясняет повторное срабатывание. Надеюсь, ошибка ясна. Удачи
    Ответ написан
    4 комментария
  • Как сделать неподвижный бэкгрануд?

    amux
    @amux
    alp.ac
    Это можно сделать при помощи css, js тут не нужен.
    background-attachment: fixed;

    cssreference.io/backgrounds
    Ответ написан
    Комментировать
  • Как лучше парсить +300k товаров?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Требуется технология прямых рук, судя по всему.
    Ответ написан
    Комментировать
  • Важно ли использовать сетку для верстки?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    зачем нужна сетка для верстки

    Сетка нужна для удобства и консистентности верстки.

    будь то бутстрап или грид

    Бутстрап это большой фреймворк, сетка - лишь маленькая его часть. А грид - это и есть "сетка". С терминологией надо бы порядок навести.

    если я все равно в контейнере отступаю в пкс от краев, задаю ширину в стилях и помещаю все в контейнер, а для телефонов оптимизирую через медиа запросы

    Поздравляю, вы создаете и используете собственную сетку! :) Исходя из этого, решите для себя сами - достаточно ли вам вашей собственной сетки, удобно ли с ней работать. Если да - тогда сторонние готовые решения вам не нужны. Если нет - тогда используйте готовую сетку и не парьтесь.
    Ответ написан
    Комментировать
  • Показать контент при наведению мыши?

    motr
    @motr
    пропишите css:
    .кнопка {
      display: none;
    }
    .таблица:hover .кнопка {
      display: block;
    }

    естественно свои классы подставьте

    .btn {
      display: none;
    }
    .table:hover .btn {
      display: block;
    }
    Ответ написан
    2 комментария