Задать вопрос
  • Как сделать на сайте цитаты, как в Telegram?

    взять тег <blockquote> и стилизовать.
    Ответ написан
    Комментировать
  • Чем frontend разработчик занят на реальных проектах?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    И заметила, что основная часть задач - инфраструктурная.
    Такой работы всегда много, но есть нюансы.
    Настройка тестов
    Да, это в любой разработке будет, не только во фронте
    CI/CD
    Сомнительно, но окэй, знать это очень желательно, но в крупных проектах этим занимается девопс, как минимум настраивает скрипты. В малых компаниях это раскидывается на разрабов, есть такая практика.
    OLAP CUBE, оптимизация запросов к БД.
    А это вообще чисто бэкендерские заморочки, конечно никто бить за понимание таких штук не будет, но в целом фронту это не особо важно, у него должно быть расписано апи/эндпоинты и чего туда пихать и что получать. Уж оптимизацией запросов чистый фронтендер точно не обязан заниматься.

    Вообще описанное больше похоже на позицию фуллстек. "В быту" фронт не особо занимается именно интерфейсами, чаще всего это уже сделал дизайнер, задача фронтера - сверстать и оживить, ну реакт, вуе, реквесты-отрисовка и вот это все...
    Ответ написан
    Комментировать
  • Как закрыть модальное окно c переменными кликом по оверлею?

    artzolin
    @artzolin Куратор тега WordPress
    php, WordPress разработка сайтов artzolin.ru
    Чтобы не разбирать простыню кода без дебага, могу просто скопировать ответ от ChatGPT

    Добавь отдельный обработчик клика по оверлею, и в нём закрой все активные модалки + сам оверлей.
    Вот пример, как можно это реализовать:

    // Клик по оверлею — закрываем все модалки
    if (overlay) {
    	overlay.addEventListener('click', function () {
    		for (let i = 0; i < modalparent.length; i++) {
    			modalparent[i].classList.remove('active');
    		}
    		html.classList.remove('sidebar-mobile-open');
    		overlay.classList.remove('active');
    	});
    }


    И вот это можно вообще убрать:

    window.onclick = function(event) {
    	if (event.target === modalparent[event.target.getAttribute('data-index')]) {
    		modalparent[event.target.getAttribute('data-index')].classList.remove('active');
    	}
    };


    Оно криво отрабатывает и не нужно, если модалка не должна закрываться при клике на её контент. Если хочешь, чтобы по клику в пустую область модалки она закрывалась, это тоже можно аккуратно сделать, но не так.

    Если хочешь, чтобы модалка закрывалась по клику вне её содержимого, то добавь в modalparent[i] внутреннюю обёртку (например, modal-content) и сделай так:

    for (let i = 0; i < modalparent.length; i++) {
    	modalparent[i].addEventListener('click', function(e) {
    		if (!e.target.closest('.modal-content')) {
    			modalparent[i].classList.remove('active');
    			html.classList.remove('sidebar-mobile-open');
    			overlay.classList.remove('active');
    		}
    	});
    }
    Ответ написан
    Комментировать
  • Как сделать "прилегание" элементов к друг другу?

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
    Медведь? Измеряется длина пальцев медведя в пикселях и ему устанавливается смещение относительно целевого элемента на данное число пикселей. Либо в минус от ближайшей границы либо в плюс от дальней - тут как удобнее и зависит от других особенностей вёрстки. Ну или ещё какой вариант можно придумать. Плюс в данном случае изображение медведя с прозрачностью и на один пиксель с полупрозрачностью заходит на целевую картинку.
    Ответ написан
    2 комментария