Задать вопрос
  • Как сделать список под rtl?

    Stalker_RED
    @Stalker_RED
    body {
      direction: rtl;
    }

    Ответ написан
    Комментировать
  • Как сделать VK виджет адаптивным?

    webirus
    @webirus
    Тыжверстальщик! Наверстай мне упущенное...
    Беру код примера и объясняю.
    <div id="vk_widget">
        <div id="vk_groups"></div>
    </div>
    <script type="text/javascript" src="//vk.com/js/api/openapi.js?116"></script>
    <script>
        function VK_Widget_Init(){
            document.getElementById('vk_groups').innerHTML = "";
            var vk_width = document.getElementById('vk_widget').clientWidth;
            VK.Widgets.Group("vk_groups", {mode: 0, width: vk_width, height: "241", color1: "2B2B2B", color2: "FFFFFF", color3: "2B2B2B"}, 26292363);
        };
        window.addEventListener('load', VK_Widget_Init, false);
        window.addEventListener('resize', VK_Widget_Init, false);
    </script>

    Ошибка тут: width: vk_width
    Сделайте width: auto
    А для блоков укажите размеры 100%
    #vk_widget, #vk_groups {
        width: 100%;
    }

    Иногда скрипт не обрабатывает auto, можно попробовать в кавычках 'auto'.
    Ответ написан
    3 комментария
  • Как сделать VK виджет адаптивным?

    Rimush
    @Rimush
    Мне помогло так:
    <div id="vk_widget"></div>
    <script type="text/javascript" src="//vk.com/js/api/openapi.js?116"></script>
    <script>
        function VK_Widget_Init(){
            document.getElementById('vk_widget').innerHTML = '<div id="vk_groups"></div>';
            VK.Widgets.Group("vk_groups", {mode: 0, width: "auto", height: "241", color1: "2B2B2B", color2: "FFFFFF", color3: "2B2B2B"}, 26292363);
        };
        window.addEventListener('load', VK_Widget_Init, false);
        window.addEventListener('resize', VK_Widget_Init, false);
    </script>
    Ответ написан
    1 комментарий
  • Настройка Visual Studio Code?

    tomnolane
    @tomnolane
    профессиональный разработчик
    самые основные:
    Auto Close Tag - авто закрытие тегов
    Auto Rename Tag - переименование парных тегов
    Beautify - разжатие кода (из minify в стандартный вид)
    highlight-mathing-tag - подсвечивание парных тегов (нужно настроить в конфиге, чтобы поярче было)
    html snippets - сниппеты как в сублайме
    insert <br> tag - вставка тега новой строки через шифт+enter
    PHP Debug - деббагер для php (нужно настраивать)
    Debugger for Chrome - JS дебаггер
    vscode-icons - иконки для VSC
    minify - сжатие кода
    css auto prefix - автопрефиксы
    Insert Numbers - полезное расширения для вставки чисел определенного формата во множество мест с инкрементом
    ================
    ещё некоторые, которые я добавил и пользуюсь:
    apache Conf (для подсветки .htaccess)
    AutoFileName - дополнение пути (например для "requere" в node.js)
    Bookmarks - делать закладки в коде
    Bracket Pair Colorizer - подсвечивать парные скобки (квадратные, фигурные, прямоугольные, круглые) очень удобно
    gitignore - добавляет .gitignore файл под проект (node.js, docker, yii2, laravel и т.д.)
    GitLens — Git supercharged - показывает гит-коммиты в коде (и автора коммита, удобно в командной разработке)
    HTML Class Suggestions
    Live Server - открывает браузер, где в режиме "онлайн" видишь изменения в html
    Markdown Preview Enhanced - тоже самое, что и Live Server, но только для страниц с markdown разметкой
    Material Icon Theme - для красоты VSC)
    Monokai Dark Soda - моя любимая тема разработки
    MySQL Syntax - для подсветки синтаксиса sql
    PHP Intellisense -
    Quick gitignore - добавляет файл/директорию в gitgnore
    Regex Previewer - помогает в регуляркой
    SQL Server (mssql) - для работы с sql server
    SVG Viewer - просматривать SVG картинки
    Todo Tree - делать заметки, удобно
    Remote FS - для удаленного подключения по FTP (удобно, если несколько серверов), пример конфига:
    { 
        "remotefs.remote": {"site": {
            "scheme": "ftp",
            "host": "1************01",
            "username": "ad**********ain",
            "password": "Lv************xF",
            "rootPath": "/"
          },
          "site2": {
            "scheme": "ftp",
            "host": "17**********1",
            "username": "a*****************m",
            "password": "************O",
            "rootPath": "/"
          },
          "moy-yandex": {
            "scheme": "ftp",
            "host": "a***********u",
            "username": "a***************mone",
            "password": "1***************W",
            "rootPath": "/"
          }
      }


    UPD
    Есть ещё хорошее приложение: Gremlins. Он подсвечивает невидимые символы в коде. Но его нужно немного "допилить", чтобы показывал невидимый символ юникод u+feff (образуется часто, когда кодировка страницы UTF-8 with BOM)
    собственной как допилить я сам же описываю в своем вопросе: тут

    что касается сннипетов для php: бывает такое, что они не срабатывают и тут две причины: пользователь достаточно быстро жмет TAB (VSC не успевает ещё понять, что пользователь закончил ввод) и когда достаточно долго работаешь в VSC без перезагрузки последнего.

    ИМХО: рано или поздно эта проблема решиться. VSC стремительно развивается и такая проблема будет решена (до этого чтобы быстрее было - лучше написать сюда об этом)
    Согласен с Artem , с тем, что Brackets имеет некоторые вещи лучше и оптимизированнее, чем VSC, и я для Front-end чаще работаю в Brackets (в большей части из-за возможности видеть online изменения тут же в браузере). Но главный минус Brackets от VSC - при большой кол-во плагинов он очень-очень тупит, также мне не нравится работа Brackets-ftp.
    Послесловие:
    VSC ещё учится и становится лучше. Рано или поздно он обгонит и Sublime, Atom и другие IDE - это вопрос времени, потому что: 1) он open source 2) финансирует и ведет разработку Microsoft 3) бесплатен!!! и последнее камень в огород всем крупным IDE
    Ответ написан
    2 комментария
  • Почему не работает querySelectorAll(...).classList.add(...)?

    Vlad_IT
    @Vlad_IT Куратор тега JavaScript
    Front-end разработчик
    querySelectorAll возвращает не элемент, а коллекцию элементов NodeList. Если нужно изменить один элемент, то используйте querySelector. Если много, проходите эти элементы в цикле и добавляйте класс.
    Ответ написан
    5 комментариев
  • Перемешивание листа в jquery?

    xel
    @xel
    front end developer
    Наверное правильнее всего будет оформить как функцию jquery.
    Перемешивать любые коллекции можно.

    (function($){
    $.fn.shuffle = function() {
    return this.each(function(){
    var items=$(this).children().map(function(){return $(this).contents()}).get();
    items.sort(function(){ return 0.5 - Math.random() });
    $(this).children().map(function(){$(this).empty().append(items.pop())});
    return $(this);
    });
    }
    })(jQuery);


    Использовать $('ul').shuffle()
    Ответ написан
    Комментировать
  • Как делать перенос строки в textarea?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега HTML
    Если текст указывается прямо в html, то переводы должны вставляться в виде специальных символов, а не буквально текстом. Если значение заполняется через js, то там уже так: https://jsfiddle.net/d5fqv0ma/2/
    Ответ написан
    2 комментария
  • Как переписать код без использования jQuery?

    @sidni
    Php Developer
    window.addEventListener("load", function(){
      let element = document.querySelector(".loader-screen");
      element.style.opacity = "0";
    });
    Ответ написан
    Комментировать
  • Почему хэйтят jQuery?

    @kttotto
    пофиг на чем писать
    jQuery будет жить еще долго. И вовсе не потому, что есть упоротые, которые используют только его, а потому, что он способен быстро решить ряд задач и даже в тех случаях, когда рядом фронт-фреймворк. Полностью от него отказываются такие же упоротые. И его использование вовсе не зависит от размера проекта, а зависит от тех задач, которые надо решить.
    Ответ написан
    Комментировать
  • Есть ли сервисы онлайн генерации формы html, чтобы я мог забрать её к себе на сайт в виде строчек html?

    svistiboshka
    @svistiboshka
    живые веб интерфейсы
    чем больше таких постов тем больше я понимаю, что я ценен как сотрудник. и понимаю почему сейчас хреновая подготовка
    Ответ написан
    Комментировать
  • Как получить id элемента используя addEventListener и getElementsByClassName?

    lastuniverse
    @lastuniverse
    Всегда вокруг да около IT тем
    // получаем массив элементов с именем класса 'slider-nav__dot'
    var dots = document.getElementsByClassName('slider-nav__dot');
    
    // перебираем в цикле все элементы из массива
    for (var i = 0; i < dots.length; i++) {
      // ВНИМАНИЕ!!!!
      // создаем анонимную, само вызывающуюся функцию 
      // в качестве параметра ей передается i
      (function (index) {
        // ВНИМАНИЕ!!!!
        // внутри этой функции переданный ей i уже index. 
        // И если i на всех итерациях это одна и та же переменная с разными значениями
        // то переменная index является самостоятельной переменной, 
        // со своим уникальным значением в каждой итерации цикла 
    
        // создаем функцию-слушатель события "click"  она существует (ее время жизни) 
        // до тех пор пока не будет удалена из слушателей.
        // Внутри нее используется переменная  index объявленная вовне
        // создавая тем самым ЗАМЫКАНИЕ. То есть для каждой итерации цикла
        // переменная index не будет удалена после завершения итерации
        // а будет продолжать жить как замыкание пока жива функция-слушатель ее использующая
        dots[index].addEventListener("click", function () {
          console.log(index);
        })
      })(i);
    
    
    }
    Ответ написан
    Комментировать
  • Изменяется яркость монитора?

    @Sergowa
    У меня точно такая же проблема! Такой же монитор. Долго я искал решение.
    Нужно отключить SUPER ENERGY SAVING в настройках монитора.
    Но эта функция находится не в меню в мониторе, а в настройках монитора, которые вызывается нажатием клавиши FUNC. на мониторе.
    Ответ написан
    2 комментария
  • Изменяется яркость монитора?

    @LastDragon
    Проверьте не включена ли случайно «экономия электроэнергии» (SUPER ENERGY SAVING), у меня нименно она вызывает подобный «эффект» (модель правда другая).
    Ответ написан
    3 комментария
  • 1 мегабайт js-минимизированного кода от плагина - это нормально для одного плагина?

    IvanTheCrazy
    @IvanTheCrazy
    Это wp. И этим все сказано. Посмотрите например темы и плагины на codecanyon. Они типа проверены командой envato, стоят денег, но 1мб по сравнению с ними будет детским лепетом - там часто несколько раз по несколько мб подключают. Или в теме пару раз подключают тот же jquery, но из разных cdn.
    Ответ написан
    4 комментария
  • Как расположить элементы по кругу?

    Vlad_IT
    @Vlad_IT Куратор тега CSS
    Front-end разработчик
    Делайте по такому принципу.
    Ответ написан
    12 комментариев
  • Как проверить наличие элемента в многомерном массиве?

    mannaro
    @mannaro Куратор тега JavaScript
    Умею профессионально гуглить
    orderlist.some(arr => arr.some(arr => arr.includes("22693")))


    Ну или с рекурсией для любого уровня вложенности:
    function search(arr, value) {
      if(!(arr instanceof Array)) return value == arr;
      return arr.some(item => search(item, value)); 
    }
    Ответ написан
    1 комментарий
  • Как сделать вот такую галерею?

    svistiboshka
    @svistiboshka
    живые веб интерфейсы
    вот делал https://www.agima.ru/projects/tanuki/ посмотрите снизу примерно ваш вариант
    обычный slick js + просто мокап с дыркой над слайдером
    Ответ написан
    6 комментариев
  • Где искать адекватных верстальщиков?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Ух. Ну как-бы с такой постановкой задачи и не стоит рассчитывать на качественных фрилансеров.

    1. Ваша формулировка "Есть два шаблона с TemplateMonster на какой сам сядешь, на какой клиента посадишь нужно добавить в первый функционал из второго", - по сути, если делать нормально это "нарисуйте и сверстайте новый дизайн по мотивам двух предыдущих".
    Как бы это работа для 2х разных людей: дизайнера и верстальщика.
    По факту они не сочетаются в одном человеке практически никогда.

    2. Без обид, но в задаче на fl очень сумбурное изложение - много всякой мелкой конкретики, каких-то специфических требований к валидации и комментированию - но при этом нет в тексте собственно ТЗ на функционал интернет магазина.
    "Сделайте как в том шаблоне" - это не ТЗ. "Сделайте как в том шаблоне" - это отправная вводная для не маленькой работы продуктового аналитика, но таких я на фрилансе не встречал ни за какие деньги.

    Грамотному исполнителю такая постановка вопроса говорит о том, что у Вас есть какое-то своё видение и либо Вас нужно будет адски брифовать, либо от Вас будет миллион правок.

    3. Бюджет.
    У меня есть адекватные верстальщики которые быстро и качественно верстают. Стоимость верстки с нуля одной страницы у них начинается с цифры большей, чем Ваш проект целиком (ни разу не хочу Вас обидеть).
    Да, у меня завышенные требования и к качеству, и к скорости, - но в любом случае исследование чужого кода с внесением правок задача заведомо более сложная чем сверстать с нуля.

    ИТОГО
    Если хотите хорошего вменяемого результата, разбейте задачу на две:
    1. Нарисовать дизайн по мотивам первого шаблона.
    Подробно опишите конкретный список страниц, конкретный функционал, конкретные изменения.
    2. Сверстать новый дизайн.
    Ответ написан
    5 комментариев
  • Верстка с нуля: какие основные этапы работы?

    Vlad_IT
    @Vlad_IT Куратор тега Вёрстка
    Front-end разработчик
    Использую vscode+webpack+pug+scss+бэм. Из физических инструментов, основной моник: lg ultrawide 29um69g, рядом прикручен моник от ноутбука повешенный вертикально, подключенный через универсальный скаллер.

    0) Запускаю Spotify :-)

    1) Произвожу установку всех необходимых модулей для сборки. В моем случае у меня набор конфигураций для webpack (отдельные файлы для pug, scss, static и.т.д., выбираю что нужно).

    2) Запускаю avocode, загружаю в него макет. Определяю в нем переменные (в то же время записываю их, чтобы сразу кинуть в scss файл) для цветов, размеров шрифтов и.т.д. чтобы при получении кусочков кода из него, он сразу расставлял переменные.

    3) Запускаю VS Code, открываю нужную папку.

    4) Пишу размету на Pug. Пишу с БЭМ, если встречаю повторяющийся блок, то открываю файл _mixins.pug, в который пишу миксины для повторяющихся блоков, например товаров, пунктов меню, каких-то блоков и.т.д. Pug умеет делать циклы, это ускоряет сильно.

    5) Когда HTML готов, начинаю делать каркас. Если дизайн сделан по сетке, определяю контейнеры, колонки, строки в свои классы (не пишу в html тучи классов аля col-md-6, а пишу в SCSS инклуды в нужные мне блоки, типа @include make-col(2) и.т.д.).

    6) Экспортирую картинки из Avocode. Очень делается просто, указываю папку и просто кликаю экспорт и ввожу название файла и расширения. Преимущественно для иконок использую svg, если нет svg, то ищу эту иконку в интернете (дизайнеры редко рисуют иконки сами, но зато любят вставлять их не в векторе). Если иконка простая, могу сам ее в inkscape обвести, ну и если нет, то экспортирую png в размере (благо авокод это позволяет, если конечно дизайнер не вставил в исходном маленьком размере). Когда есть контакт с дизайнером, трясу его, ибо растр это плохо для иконок.

    7) Пишу стили блоков из страницы. На этом этапе можно на втором монике параллельно смотреть футураму или
    Арчера :-) Но чаще на широком монике слева браузер, справа VS Code, а на втором монике Avocode (может меняться местами с браузером). Мысленно нарезаю страницу на блоки. Для каждого блока (БЭМ) создаю отдельный scss файл (кто-то даже для элемента создает, но мне лень), из него сразу выписываю все селекторы. Иногда могу сначала выписать все селекторы со страницы (но так лучше не делать, т.к. во время работы может потребоваться изменить что-то в разметке), но чаще для одного блока выполняю этот пункт и за ним сразу выполняю пункт 8, потом для нового блока опять 7 и 8 и.т.д.

    8) Пишу css код вместе с Avocode, у него беру нужные мне параметры (а он уже подставил в них переменные), и вставляю в мой код. И параллельно сверяю со скрином макета используя вот это расширение https://chrome.google.com/webstore/detail/perfectp...

    9) Пишу адаптив. Я не могу привыкнуть к методологии mobile-first, поэтому пишу всегда сначала полную версию сайта. Я понимаю, что это чревато всякими проблемами и это типа не модно, но мне норм.

    10) Медиа-запросы пишу прямо в блоках, для каждого блока/элемента/модификатора может быть отдельный медиа-запрос. Но для начала определяю breakpoint'ы для разных экранов (чтобы их не было сотни разных), если использую Bootstrap, то беру его breakpoint'ы.

    11) Добавляю анимашки. Даже если заказчик не просил отдельно (и если не указал отдельно, что нельзя), он все равно будет доволен, а с animate.css+onscreen.js это вообще работа 10 минут. Сложные анимации обговариваю отдельно, чтобы не сделать ненужную работу.

    11) Все снова сверяю, пишу скрипты где надо. Для слайдеров в 99% случаев подходит slick (с доработками конечно, но там хорошее API), для других случаев могу написать свой.

    12) Сдаю заказчику и жду ответа сидя на тостере/пикабу.

    Это чисто мой опыт, опыт фрилансера, не знаю, как делают другие и не могу на 100% утверждать что это 100% правильный способ. Я так и не смог заставить свой конфиг webpack правильно вставлять спрайты svg.
    Надеюсь чем-то поможет мой ответ.
    Ответ написан
    7 комментариев