• Как повлиять на соседний селектор?

    dimovich85
    @dimovich85 Куратор тега CSS
    https://u-academy.net/
    Никак, следующий элемент можно достать с помощью + или ~, а вот предыдущий никак, только js)
    $('.item').on('mouseover', function(){
    $(this).prev('logo').css({
    color: red;
    //.... и так далее.
    };)
    }
    Ответ написан
    Комментировать
  • Как двигать скролы области за двигающимся дивом?

    dimovich85
    @dimovich85 Куратор тега JavaScript
    https://u-academy.net/
    Я похожее делал где-то такми образом:
    1. Подписывался на событие скролла родителя. В функцию обработчик спускал объект события, event.
    2. Выбирал объект, который за ним должен двигаться и применял к нему метод offset() из jq. Передавал в настройки top: e.target.scrollTop(), left: e.target.scrollLeft.
    3. Далее к e.terget.scroll... я добавлял, отнимал всякие мелочи, чтоб точно синхронно шло (имею ввиду всякие там паддинги, бордеры, из-за которых могут несостыковки быть.
    Думаю из моей идеи что-то сварганите)
    Ответ написан
    2 комментария
  • Почему Vue.js не работает после сборки Webpack?

    dimovich85
    @dimovich85
    https://u-academy.net/
    Htaccess поправить наверное надо, rewrite rule * index.html..
    Ответ написан
    Комментировать
  • Почему не срабатывает соседний селектор?

    dimovich85
    @dimovich85 Куратор тега CSS
    https://u-academy.net/
    Ответ уже дан, просто объясню, селектор + действует только на следующий элемент после данного, самый ближайший, а тильда ~ выбирает любой следующий элемент, но не предыдущий.
    Ответ написан
    1 комментарий
  • Как убрать вертикальный скролл внутри div?

    dimovich85
    @dimovich85 Куратор тега CSS
    https://u-academy.net/
    https://jsfiddle.net/dimovich85/5dczum12/
    Вверху способ как просто от скролла избавится, а внизу, как убрать полосу прокрутки, но скролл оставить: https://jsfiddle.net/dimovich85/g474qm2d/

    div::-webkit-scrollbar{
    	width: 0;
    }

    Вариант три: https://nicescroll.areaaperta.com/
    Плагин для стилизации скроллбара, там его так застилизовать, чтоб вообще пропал)
    Ответ написан
    Комментировать
  • Как центрировать по высоте элементы в шапке?

    dimovich85
    @dimovich85 Куратор тега CSS
    https://u-academy.net/
    display: flex;
    flex-direction: column;
    jastify-content: center;
    далее только маржины между элементами задать равномерно, иначе будет перекос, или все эти элементы загнать в еще контейнер и отцентровать только этот контейнер просто задав родителю display: flex, а контейнеру margin: auto.
    Ответ написан
  • Почему padding-bottom: 100% делает из блока квадрат?

    dimovich85
    @dimovich85 Куратор тега CSS
    https://u-academy.net/
    Паддинг если задавать в процентах, он берется от ширины родителя, вот и выходит, что высота равна ширине, и как бы квадрат, но после паддинга можно ж и контент вставить, который его растянет вниз, и квадрата не будет.
    Ответ написан
  • Как задать значение тегам, которые стоят перед определенным тегом?

    dimovich85
    @dimovich85 Куратор тега CSS
    https://u-academy.net/
    Насколько я помню, то css не дает такой возможности, как ни странно, зато js поможет)
    https://stackoverflow.com/questions/1817792/is-the...
    Ссылка выше подтверждает.
    На jQ можно так: $(selector).prev(). Причем метод .prev(selector) тоже принимает селектор, так что можно и на два три элемента назад из ряда добраться.
    Ответ написан
  • Поддерживаете ли вы IE8 в своих проектах?

    dimovich85
    @dimovich85 Куратор тега JavaScript
    https://u-academy.net/
    Нет, только за +кеш)
    Ответ написан
    Комментировать
  • Как скрыть элемент если value равно определенному значению?

    dimovich85
    @dimovich85 Куратор тега JavaScript
    https://u-academy.net/
    $('input[value ="customer/customer"]').on('change', function(){$(this).parrent().hide();}

    или так:
    var check = document.querySelector('input[value ="customer/customer"]');
      check.addEventListener('change', function(){
        this.parentElement.style.display = 'none';
      });
    Ответ написан
  • Как сделать перемещение блока при скроллинге?

    dimovich85
    @dimovich85 Куратор тега CSS
    https://u-academy.net/
    $(window).on('scroll',  (e)  => {
       $('.block_i_want_to_move').offset({
             top: e.target.scrollTop,
             left: e.target.scrollLeft
        });
    });

    Подробнее вот тут можно прочитать: http://jquery.page2page.ru/index.php5/Позиция_элемента

    Там есть еще нюансы, связанные со знаком, куда двигать блок, то есть задавать можно -scrollTop, тогда в другую сторону будет двигаться блок; суть в том, что просто на отслеживание скролла вешаете функцию, которая нужный объект двигает, можно брать н не offset, а animate, можно css менять, можно translate использовать, класс задавать, я с телефона не смог посмотреть на сайте фифа как выглядит эффект, видимо на мобильных они это отключили. По заголовку вопроса ответил вроде как раз. Зачем плагины?
    Ответ написан
    Комментировать
  • Для чего нужен еще один конструктор?

    dimovich85
    @dimovich85 Куратор тега JavaScript
    https://u-academy.net/
    А потом унаследуется от первых двух и получит что-то типа библиотеки или списка к прочтению. Чем уникальнее и проще каждый класс, тем легче потом повторно код использовать. Я так думаю.
    Ответ написан
  • Как создать простой горизонатльный скроллинг контента в блоке?

    dimovich85
    @dimovich85 Куратор тега CSS
    https://u-academy.net/
    https://www.sitepoint.com/10-jquery-horizontal-scr...
    Посмотрите, кажется есть:)
    Ответ написан
    Комментировать
  • Важно ли использовать сетку для верстки?

    dimovich85
    @dimovich85 Куратор тега CSS
    https://u-academy.net/
    Можно обойтись, но с сеткой быстрее и проще, ведь в сетке вся прелесть, что она уже имеет все медиа запросы, плюс в сетке учтены межколоночный интервал и паддинги по краям. Сами посудите, если в каждом проекте надо писать ширину, межколоночник, паддинги по бокам, бордер-бокс, а потом тучу медиа запросов, не рациональнее это все сохранить себе в библиотеку, чтоб потом много раз использовать? Вот, и по сути такая библиотека и есть сетка) Советую вот этот канал, там очень много про это: https://youtu.be/mVxkR50XL_E
    И да сетка нужна там, где нужна сетка, везде ее пихать нет смысла, например пункты меню ставить по сетке не имеет смысла.
    Ответ написан
    Комментировать
  • Почему JavaScript оборачивается CDATA и не выполняется?

    dimovich85
    @dimovich85 Куратор тега JavaScript
    https://u-academy.net/
    Сразу скажу, ответа не нашел, но вот инфа про CDATA: https://stackoverflow.com/questions/66837/when-is-...
    Может этот код подключить все-таки просто отдельным файлом? Если надо распечатывать через php можно распечатывать просто тег script с аттр src=...
    Ответ написан
    Комментировать
  • Как получить доступ к переменной?

    dimovich85
    @dimovich85 Куратор тега JavaScript
    https://u-academy.net/
    function Ba(){
    	this.test =0;
    	 this.fn = function(asd){
    		this.test = 1;
    		asd();
    	}
    }
    ba = new Ba();
    ba.fn(function(){
    	document.querySelector('.res').innerHTML = ba.test;
    });
    Ответ написан
  • Резиновый background?

    dimovich85
    @dimovich85 Куратор тега CSS
    https://u-academy.net/
    О! Я над таким мучался, долго... Придумал такую структуру:
    1. Блоку с текстом задал ширину по сетке, как в макете. Задал максимальный маржин слева, чтоб блок был всегда справа. Слева остается пустота.
    2. Блоку с текстом задал position relative.
    3. Создал псевдоэлемент ::before{
    content: '';
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    right: -100%;
    background: transparent url(img/bg.png) no-repeat top;
    background-size: cover;
    }
    Псевдоэлемент растянут по высоте на высоту родителя, вынесен влево полностью на 100% от родителя, то есть из родителя на всю катушку, далее просто задал картинку фоном, и там только позиционировать ее надо будет, а может и не надо, еще поиграться свойствами background-size, и все. Иногда бывали такие моменты, что на пару пикселей края не совпадали, это из-за бордеров может быть или маржины/паддинги какие-то, инспектором смотрите и потом двигаете псевдоблок но не через top/left... а margin-top +/-, margin-left+/- на величину этого самого бордера или маржина.
    Ответ написан
    Комментировать
  • Нормальный скрипт для новичка в JS?

    dimovich85
    @dimovich85 Куратор тега JavaScript
    https://u-academy.net/
    let tabsBtn = document.querySelectorAll('.services__tabs-item');
    let tabsContent = document.querySelectorAll('.services__item');
    
    for (let i = 0; i < tabsBtn.length; i++) {
        tabsBtn[i].addEventListener('click', function(evt) {
            evt.preventDefault();
            for (let j = 0; j < tabsContent.length; j++) {
                 tabsBtn[j].classList.remove('services__item--active');
                 tabsContent[j].classList.remove('services__tabs-item--active');
             }
            let index = tabsBtn.indexOf(this);
            this.classList.add('services__tabs-item--active');
            tabsContent[index].classList.add('services__item--active');
        }); 
    }


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

    dimovich85
    @dimovich85 Куратор тега JavaScript
    https://u-academy.net/
    https://jsfiddle.net/8tccxeyd/
    Вот, коряво, на скорую руку, но суть такая.
    Ответ написан
    Комментировать
  • Cоздать фигуру на CSS?

    dimovich85
    @dimovich85 Куратор тега CSS
    https://u-academy.net/
    Почему бы не нарисовать это в svg? потом перевести все это в base64, вот онлайн конвертер: b64.io/, и вставить в css фоном в куда надо, хоть в псевдоэлемент? Может гуру подскажут, как нарисовать все это, но мне кажется, что без картинки тут не обойтись..
    Ответ написан