Задать вопрос
  • Как поправить синтаксис кода gulp3 под gulp 4?

    andreydobrin
    @andreydobrin
    Сложно , но это пока
    gulp.task('watch', function(){
    	browserSync.init(config);
    	gulp.watch(path.watch.html, gulp.series('html:build'));
    	gulp.watch(path.watch.scss, gulp.series('scss:build'));
    	gulp.watch(path.watch.css, gulp.series('css:build'));
    	gulp.watch(path.watch.js, gulp.series('js:build'));
    	gulp.watch(path.watch.images, gulp.series('images:build'));
      gulp.watch(path.watch.fonts, gulp.series('fonts:build'));
    })

    Если вы не смотрели выпуск, в ссылке на ответ выше, то объясню на счет parallel и series. То есть в первом случае Вашиtask-и в потоке выполняются вместе. А в другом случае, сперва выполнится первый task, потом второй, третий и до конца.
    В build можно сделать так:

    gulp.task('build', 
    	gulp.series(
    		'clean:build',
    		gulp.parallel(
    			'html:build',
    			'css:build',
    			'js:build',
    			'images:build',
    			'fonts:build'
    )));


    Здесь сперва чистится папка dist, а потом собирается продакшн.
    Попробуйте использовать и отпишитесь и отметьте, если поняли суть)
    Ответ написан
    Комментировать
  • Как установить толщину подчеркивания ссылки через CSS?

    @marrs
    1 -
    a {
      display:inline-block;
      text-decoration:none;
      border-bottom: 4px solid blue;
      }

    2 -
    a {
      display:inline-block;
      text-decoration:none;
    }
      a:after {
        display:block;
        content:'';
        width:100%;
        height:4px;
        background:blue;
        margin-top:-4px;
      }
    Ответ написан
    5 комментариев
  • Как остановить видео youtube в JS?

    naghtigall
    @naghtigall
    Дизайнер и разработчик сайтов
    Можно навесить вот такое собыите
    var videoSrc = $("#Player1").attr("src");
    $("#Player1").attr("src","");
    $("#Player1").attr("src",videoSrc);
    Ответ написан
    Комментировать
  • Ошибка на сервере "Отключите использование HOSTS". Как это сделать?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    все проще

    выходишь из опенсервера, не гасишь, а именно выходишь

    правой кнопкой по иконке

    "запуск от Администратора" - запускаешь
    Ответ написан
    7 комментариев
  • Простым языком о замыканиях?

    bingo347
    @bingo347 Куратор тега JavaScript
    Crazy on performance...
    1. Для чего замыкание существуют?
    Для инкапсуляции данных.
    В ООП есть модификаторы доступа (private, protected), которые закрывают доступ к данным извне класса, но позволяют обращаться к ним из методов.
    В ФП для этой задачи используют замыкания, закрывая данные внутри функции. Из вне данные недоступны, но вложенные функции имеют к ним доступ.

    2. В каких условиях они создаются?
    Когда вложенная функция обращается к переменным внешней функции.

    Хоть и просили без примеров, но на примере показать проще:
    // makeCounter - внешняя функция
    function makeCounter(initialValue) {
      var value = +initialValue || 0;
      // counter - внутренняя функция
      // она использует переменную value из внешней функции
      // что-бы это было возможным, для counter создается замыкание,
      // в котором хранится переменная value
      // переменная initialValue функции counter не нужна, поэтому ее можно "забыть"
      return function counter() {
        return value++;
      };
    }
    
    // у нас 3 экземпляра функции counter
    var counter1 = makeCounter();
    var counter2 = makeCounter();
    var counter3 = makeCounter(100);
    // и для каждой есть своя переменная value
    console.log(counter1()); // 0
    console.log(counter1()); // 1
    console.log(counter2()); // 0
    console.log(counter1()); // 2
    console.log(counter3()); // 100
    
    // а вот получить как-то напрямую переменную value мы не можем
    // инкапсуляция нам не дает поломать данные
    Ответ написан
    Комментировать
  • Div, который выглядит по-разному в каждом браузере?

    @itsjustmypage
    Outline это контур элемента с внешней его стороны, то есть сразу за border. В отличие от border он никак не влияет на элементы, их ширину и расположение. Ключевое слово inset в свойстве outline: inset 100px green; устанавливает этот контур в виде псевдотрехмерной рамки за счёт осветления правой и нижней границ и затемнения левой и верхней относительно указанного цвета. Ширина 100px, цвет зелёный.

    Баг создаёт свойство outline-offset: -125px;, которое задаёт смещение контура. При положительном значении контур будет расширяться во все стороны. А при отрицательном будет сжиматься внутрь элемента.

    Спецификация CSS Basic User Interface Module Level 3 в статусе рекомендации говорит о том, что контур элемента со свойством outline-offset при отрицательном значении не должен становиться меньше, чем двукратная вычисляемая ширина контура. То есть если в примере у нас размеры элемента 100x100 пикселей и контур задан у нас шириной 100px, то при outline-offset: -125px; он должен сжаться внутрь элемента на 125px со всех сторон, а спецификация визуально ограничивает сжатие до outline-offset: -50px; (по 50px внутрь с каждой стороны элемента). То есть контур должен просто сойтись вместе со всех сторон, образуя квадрат в нашем случае и насколько больше не ставь отрицательное значение, больше он сжиматься не должен. Но реализация в браузерах не учитывает это поведение и выдаёт непонятные фигуры, если отрицательное значение слишком большое.

    https://www.w3.org/TR/css-ui-3/#outline-offset
    5b447ea6c9061121780680.jpeg

    Поведение при отрицательном outline-offset должно быть как на гифке. Если дальше уменьшать значение, ничего меняться не должно. AMQ4hnM.gif
    Ответ написан
    1 комментарий
  • PHPStorm ошибка при коммите на windows машине, в чем дело?

    iNickolay
    @iNickolay
    Понимаю, что не актуально, но вдруг кому ещё пригодиться.

    Для решения данной проблемы необходимо просто снять атрибут "Скрытый" с файла COMMIT_EDITMSG.
    Ответ написан
    Комментировать
  • Есть ли плагин адаптации размеров картинок под размер элемента на vue или jquery?

    Может скажу мимо кассы. Но я порекомендовал бы сделать такое силами CSS: гриды или флексбоксы.
    Ответ написан
    3 комментария
  • Абстракция в JavaScript?

    @TimurBaiguzhaev
    Backend Golang Developer
    Помните, как родители заставляли вас играть на фортепиано или учить стихи?.. Так вот, Абстрактные классы также как и многие родители вовсе и знать не знают зачем ребенку-потомку это будет нужно, и как он это будет использовать, но уверены, что так НАДО! Т.е. такие классы содержат абстрактные методы, которые являют собой объявление метода без самой реализации, как фантик без конфетки, тем самым обязывая потомка, этот метод реализовать. Как и в жизни, где родители нередко перекладывают на детей свои нереализованные мечты…

    Вот в такой шутливо-серьезной форме, мы затронули тему абстрактных классов и семейных отношений, как способ понять… и то и другое?.. А если серьезно, то разумеется, в программировании не должно быть случайных методов, и любые методы и свойства являются частью продуманной иерархии классов, которая как генеалогическое дерево, может давать возможности расширять функционал от поколения к поколению. А абстрактные классы, и еще более абстрактные – интерфейсы ( interface — вообще не содержит реализаций ), помогают программисту не потерять, не забыть реализовать общие необходимые для всех потомков умения в жизни, без которых особь умрет, а с ней и приложение.


    Источник : habrahabr.ru

    Abstract classes in JavaScript
    Ответ написан
    Комментировать
  • Как открыть скетч файл на виндовс?

    MaxF
    @MaxF
    Андроид-разработчик
    Лучший вариант - попросить/заставить дизайнера выгружать все скетчи на https://zeplin.io/
    Это самый удобный сервис из подобных.
    Ответ написан
    Комментировать
  • Как открыть скетч файл на виндовс?

    @N_GA
    Теперь есть еще бесплатный Icons8 Lunacy - https://icons8.com/lunacy
    Специально для открытия .sketch файлов на Windows
    Ответ написан
    1 комментарий