• Почему не работает Swiper с тегом picture в слайдах?

    @castetus Автор вопроса
    В общем, иссследование вопроса показало следующее:
    При наличии на странице других скриптов Swiper почему-то не успевал полностью инициализироваться. То есть контейнер он подхватывал, а сами слайды - нет. Пока вопрос решен при помощи асинхронной инициализации:
    document.addEventListener('DOMContentLoaded', function(){
      setTimeout(() => {
        const howtoSlider = new Swiper('.howto', {
        loop: true,
        navigation: {
          nextEl: '.slider-button-next',
          prevEl: '.slider-button-prev',
        },
      })
      }, 1000);
    })

    Странно еще, что эффект проявлялся только при picture в слайдах, при img все было нормально.
    Ответ написан
    Комментировать
  • Как начать работать без "фонового шума"?

    @Stalinko Куратор тега Фриланс
    PHP'шник и фрилансер до мозга костей
    Mark, я вот начал снимать офис, чтобы избавиться от фонового шума дома (ребёнок, собака). Сейчас из-за карантина пришлось вернуться домой, но выделил себе отдельную комнату, куда никто старается не ходить.
    А вы, похоже, создаёте себе фоновый шум сами. Зачем? Это уже вопрос из разряда - как бороться с вредной привычкой, а не как организовать рабочий процесс. И обращаться нужно к другим специалистам)

    По поводу шума в целом у меня правило такое - во время работы допускается только белый шум. Белый шум - это то, на чём ваш мозг не будет сосредотачиваться. Т.е. это либо музыка без слов, либо музыка на неродном вам языке.
    Невозможно работать и слушать уроки/подкасты, да даже песни на русском и то отвлекают. Это всё равно что делать 2 дела одновременно. Крайне утомительное и бесполезное занятие.
    Ответ написан
    6 комментариев
  • Как отработать клик вне блока?

    sharpfellow
    @sharpfellow
    Front
    VanillaJs
    function onClickClose(elem) { // вызвать в момент показа окна, где elem - окно
        function outsideClickListener(event) {
            if (!elem.contains(event.target) && isVisible(elem)) {  // проверяем, что клик не по элементу и элемент виден
                 elem.style.display = 'none'; //скрыть
                 document.removeEventListener('click', outsideClickListener);
            }
        }
        document.addEventListener('click', outsideClickListener)
    }
    function isVisible(elem) { //открыто ли условное окно
       return !!elem && !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length );
    }
    Ответ написан
    Комментировать
  • Как убрать эффект появления синего фона при нажатии на ссылку или кнопку?

    SmthTo
    @SmthTo Куратор тега CSS
    Все перепёлки мира будут оплакивать мою смерть.
    * {
      -webkit-tap-highlight-color: transparent;
    }

    Можете вместо * использовать более точечный селектор.

    Ответ написан
    3 комментария
  • Error: Cannot find module 'webp-converter/cwebp' при запуске gulp?

    @Volodymyp
    У кого проблемы с плагином WEBPCSS нужно установить converter командой -
    npm install webp-converter@2.2.3 --save-dev
    Мне помогло
    Ответ написан
    10 комментариев
  • Как запретить перетаскивание img с зажатой левой кнопкой мыши?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега CSS
    Руководитель frontend направления, предприниматель
    1. Фоновые картинки не перетаскиваются.
    2. Если поверх изображения в его полный размер кинуть пустой див с позиционированием z-index-а выше, то тоже нельзя будет захапать (как в инсте).
    Ответ написан
    Комментировать
  • Как заменить картинку в компоненте Figma?

    mixail_fet
    @mixail_fet
    Дизайнер веб-интерфейсов
    Два способа:

    1. Жмете два раза по картинке, вылезает вот такое окно, нажимаете на кнопку по середине и выбираете файл с картинкой
    Скриншот
    5d97b980752bc796824756.jpeg


    2. Для того, чтобы поменять картинку у нескольких товаров, жмете на значок с фигурами, в панели инструментов и выбираете Place Image, после этого, выбираете несколько изображений и вставляете их в нужные компоненты.
    Скриншот
    5d97b9d543f52351391161.jpeg
    Ответ написан
    Комментировать
  • Зачем нужен sourcemap?

    @lemme
    Frontend
    Вот представь, собрал ты 10 файлов в 1 бандл, потом минифицировал, а как дебажить эту лапшу?

    На помощь приходит sourcemaps, который будет показывать реальную структуру файлов и.т.д
    Ответ написан
    2 комментария
  • Какое регулярное выражение подойдет для проверки номера телефона?

    Зеленый свет для:
    +79261234567
    89261234567
    79261234567
    +7 926 123 45 67
    8(926)123-45-67
    123-45-67
    9261234567
    79261234567
    (495)1234567
    (495) 123 45 67
    89261234567
    8-926-123-45-67
    8 927 1234 234
    8 927 12 12 888
    8 927 12 555 12
    8 927 123 8 123

    ^((8|\+7)[\- ]?)?(\(?\d{3}\)?[\- ]?)?[\d\- ]{7,10}$
    Ответ написан
    5 комментариев
  • Какое регулярное выражение подойдет для проверки номера телефона?

    @kudry
    Тоже столкнулся с проблемой валидизации телефонных номеров.
    Телефоны берутся с участников вебинаров, на которые записываются люди из очень разных стран.
    Соответственно, со всеми предыдущими схемами возникают проблемы:
    1) а что если телефон с Украины (не +7-, а +38-)? А из Казахстана? А США (1-)? А Уганда ( +233-)? (из Уганды, правда, пока слушателей не было, но все впереди).
    2)В разных местностях приняты самые невообразимые способы разбиения телефона на группы цифр:
    8(8888)8-88-88-88 например. или 888(88)88888-888. Да и какие угодно могут возникнуть в будущем.
    Поэтому вариант с "дефолтным разбиением типа "8(888)888-88-88 ну совершенно не катит.

    Соответственно, я придумал следующий валидатор:
    1) В начале могут быть пробелы, после них может быть "+" (а может и не быть)
    2) Дальше должна идти группа цифр в количестве от 10 до 14 (мне нужны номера в международном формате; но если кому-то нужны более короткие - можно исправить диапазон длин).
    3) Поскольку я не знаю, как люди группируют цифры - до и после каждой цифры может быть один из 8 знаков ("-", " ", "_", "(", ")", ":", "=", "+"). Это значит, что между двумя цифрами могут быть любые два из этих знаков.

    В итоге получилось очень коротко и понятно )) :
    /^(\s*)?(\+)?([- _():=+]?\d[- _():=+]?){10,14}(\s*)?$/

    Съедает следующие телефоны:
    +7(903)888-88-88
    8(999)99-999-99
    +380(67)777-7-777
    001-541-754-3010
    +1-541-754-3010
    19-49-89-636-48018
    +233 205599853
    Ответ написан
    1 комментарий
  • В чем отличие верстки под CMS (Wordpress/Joomla) от обычной верстки?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    верстка бывает и сложной.

    самый простой вариант ответить на ваш вопрос - возьмите фришный шаблон бложика, сначала сверстайте его, а потом попробуйте натянуть на WordPress. Сразу покажутся слабые места вашей верстки, можно будет скорретировать. Со временем вы будете делать достаточно гибкую структуру разметки и стилей, и разница сведется к минимуму.
    Ответ написан
    3 комментария
  • В чем отличие верстки под CMS (Wordpress/Joomla) от обычной верстки?

    viktorvsk
    @viktorvsk
    Когда кто-то пишет "верстка под ХХХ", то он просто хочет сбить цену.
    Есть прототип\концепт (над ним могут работать копирайтер, специалист по контекстной стратегии, информационные архтектор\дизайнер и т.д и т.п.)
    Есть дизайн, над ним работает дизайнер, художник, графический дизайнер
    Есть верстка, над ней работает верстальщик, который в простом случае верстает с картинки то, что видит, в сложном - он умеет не только jquery плагины подключать (хотя, иногда и не умеет и это, по сути, нормально), но и делать более сложные client-side штуки
    Есть программирование: в простом случае это установить цмс, скачать шаблоны\плагины, настроить. В сложном - взять цмс\магазин и скорректировать необходимый функционал\написать нужные плагины. Ну, или просто взять фреймворк и разработать проект.

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

    Каждый должен выполнять свою функцию. А если какие-то функции складываются, в этом, конечно, ничего такого нет, но по крайней мере каждая сторона должна понимать, кто какие функции выполняет и почему.

    Вывод: не ведитесь просто так на "верстка под ХХХ", делайте хорошую верстку, а после уже отдельно договаривайтесь про натягивание. К сожалению, натягивание часто - это непредсказуемый процесс, т.к. проект может быть написан очень по-разному (как, например, подразумеваю, и тема на вордпрессе\джумле может быть сделала хорошо, понятно, по стандартам, а может быть - и через одно место)
    Ответ написан
    Комментировать
  • Нужно ли поддерживать Internet Explorer 8 и ниже при верстке?

    evnuh
    @evnuh
    Поиск Гугл помог мне, впусти и ты его в свой дом
    Вместо тысячи слов
    bba8a57f13934e3ba5a01c8790148b54.PNG
    Ответ написан
    1 комментарий
  • Как сделать двигающийся border-bottom при наведении на пункты меню?

    Kater-auf-Dach
    @Kater-auf-Dach
    Никого не трогаю, починяю примус, верстаю...
    Можете посмотреть еще библиотечку Hover - в разделе Border Transitions есть нечто похожее, но надо допиливать
    Ответ написан
    Комментировать
  • В каком разрешении рисовать макет на Retina?

    Aleksei_Segodin
    @Aleksei_Segodin
    арт директор / дизайнер
    Короткий ответ:
    не рисуйте в Фотошопе — рисуйте в Adobe XD. И все вопросы про dpi отпадут сами по себе.

    Более развёрнутый ответ:
    как правильно заметил GreatRash, dpi не имеет значения. Главное — кол-во пикселей. Да и то, с такими динамичными интерфейсами и адаптивными сайтами которые востребованы сегодня даже пиксели "сдают позиции" и делят место с %.

    Если отвечать на вопрос, то верстать нужно в том разрешении (в пикселях), которое показывает браузер. Например, если с обычными компьютерами все ясно: ширина экрана 1280px, значит и рисовать нужно в 1280. То с телефонами уже все не так очевидно. Например, физический размер экрана iPhone 6: 750x1334px. Но браузер на телефоне показывает сайт так как будто бы там вдвое меньше пикселей: 375x667px. То есть, если вы в макете нарисуете блок шириной 187px, то он займёт половину экрана на iPhone 6.
    Есть отличный сайт, который показывает размеры экранов самых популярных мобильных устройств:
    • их фактические размеры (первые две колонки)
    • и размеры, которые "понимает" браузер (3 и 4 колонки — это то, что вам надо).


    Почему Adobe XD? Потому что, зуб даю, через пару лет Adobe скажет:
    — Ребята, мы убираем из Фотошопа все фишки, которые раньше помогали вам делать дизайн сайтов. Верстайте их теперь в XD. А мы оставим фотошоп для фотографов и иллюстраторов.

    Дело в том, что Adobe XD — это их новая разработка для прототипирования (дизайна) сайтов. И разработка этой программы идёт полным ходом. Пока-что доступна только под Мак (к концу года будет Windows версия). В программе есть очень "вкусные" фишки, которые ускоряют работу в десятки раз. Посмотрите хотя бы эту GIF-ку ниже. А ещё сама программа очень быстро работает.

    xd-grid-animation-375x500.gif

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

    Философия:
    Что такое дизайн сайта? И зачем думать про разрешение? И зачем вообще мы их рисуем?
    После того как сайт сделан и проект закрыт, все PSD макеты дизайнера отправляются в архив и лежат там мертвым грузом десятки лет пока вы их не удалите. Рисунки никому не нужны — нужен сам сайт. А рисуем мы их для того, чтобы легче представить себе и показать верстальщику как сайт должен смотреться. То есть, если бы мы могли телепатически обьяснить верстальщику что и как должно выглядеть, то никто бы не занимался этой "ерундой" в Фотошопе. И это основная задача дизайнера: придумать как сайт должен выглядеть, анимироваться и взаимодействовать с юзером и передать это дальше в производство.

    И тут ваша идеальная работа, как дизайнера, должна выглядеть так:
    1. Вы рисуете страницу так как она должна выглядеть и выносите в отдельный документ (или слой) все размеры всех блоков, отступов, хедеров, футеров и пр. У вас должно получиться что-то вроде "чертежа" сайта с вашими комментариями;
    2. Затем, в отдельное место выносите дизайны всех кнопок, полей для ввода текста, стили заголовков, аккордеонов, вкладок и всего остального что есть на вашем сайте;
    3. Отдельно подготавливаете контент: текст и картинки. При этом желательно, чтобы картинки были сразу продублированы в нескольких размерах (в случае с адаптивными сайтами).
    4. Все иконки — тоже отдельно. Векторные, в формате SVG, плюс PNG — для подстраховки при вёрстке.

    Затем собираете это все в один портфель и несёте верстальщику. Он скажет вам большое спасибо и назовёт лучшим дизайнером в мире.

    Для примера, касательно пункта 1, посмотрите как я обычно оформляю ТЗ для верстальщика. Это только две страницы из 20-ти.

    01b4d706294b4363a976980638344a8c.png9a0bf90210c4469682e82cc1413c9843.png

    А эта работа, которую вы проделали — это не "дополнительный" труд. Это то как обычно выглядит хороший дизайн-процесс. Особенно, в больших студиях. Таким образом вы избавитесь от кучи мелких ошибок со стороны разработчиков и от необходимости разжёвывать все мелочи отвечая на их "глупые" вопросы.
    Ответ написан
    9 комментариев
  • В каком случаи использовать --save и --save-dev в NPM?

    k12th
    @k12th
    console.log(`You're pulling my leg, right?`);
    Компиляторы-транспиляторы-трансляторы (типа Coffee, LESS, Jade), тест-раннеры, стайл-чекеры и линтеры (mocha, chai, karma, (js|es)lint, jscs), плагины для таск-раннеров (grunt-contrib-watch, gulp-jade) — все это обычно ставится как --save-dev, потому что нужно только тем, кто контрибьютит в этот проект, работает с его кодом.

    Библиотеки и фреймворки (expressjs, jquery, backbone), на основе которых работает ваш код, без которых ваш код не запустится у его потребителя — ставятся как --save.
    Ответ написан
    3 комментария
  • Когда изучать npm, grunt, bower, git и т.д?

    @flor_master
    Могу верстать, могу не верстать.
    На самом деле все очень просто.
    NPM - это пакетный менеджер который идет вместе с node.js, С помошью него можно устанавливать все что вы перечислили выше и другие модули, программы.

    Gulp, Grunt - это консольные утилиты. Они взаимозаменяемы. Они делают рутинную работу за тебя: компилируют Less Sass, склеивают скрипты, минифицируют скрипты, стили, делают спрайты, оптимизируют картинки и даже поднимают свой простенький вебсервер и LiveReload.

    Gulp или Grunt - Дело вкуса. Мне понравился больше Gulp. Он быстрее.

    Git - Система контроля версий твоего кода. Она позволяет организовать совместную работу нескольких разработчиков над ним проектом.

    Bower - просто утилита, которая быстро тебе скачивает необходимые библиотеки и из хависимости. Что бы ты не лазил по сайтам разработчиков. Например тебе надо установить jquery - ты просто в консоли пишешь Bower install jquery и тебе скачивается Jquery.

    Я считаю что Git в современной работе просто необходим как воздух.
    Gulp или Grunt и Bower сильно облегчили мне жизнь.

    Думаю что для устроиства на работу ключевым знанием будет Git. а потом уже все остальное.

    Gulp или Grunt и Bower - очень легкие программы для первичного использования. Их Можно попробовать и решить нужны ли они тебе или нет - за очень короткий промежуток времени.
    Ответ написан
    1 комментарий