Шпаргалка по базовым, но важным приемам: выбор элементов, управление классами, атрибутами и содержимым. Подходит для начальной и регулярной работы с интерфейсами, включая динамическое обновление DOM и настройку визуального состояния элементов.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥27🤝16❤10👍4
Привет! В этом гайде соберём аккордеон для часто задаваемых вопросов — лёгкий и доступный.
Ключевые моменты:
• HTML: семантическая разметка и aria-атрибуты для доступности.
• CSS: плавное открытие/закрытие блоков без прыжков.
• JavaScript: простой toggle и синхронизация с aria-expanded.
Полезный UI-паттерн, который улучшает читаемость и делает интерфейс чище.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥29❤10🤝10👍5👎1
Создаём tooltip с копированием в буфер!
Наводим — появляется текст. Кликаем — копируем и показываем «Copied!».
Создаём tooltip-элемент и добавляем в DOM. Находим нужный элемент и создаём подсказку внутри него.
Появление текста и копирование разделены для ясности.
Убираем текст при уходе мыши, очищаем подсказку.
🔥 Работает на любом элементе с data-copy, не требует стилей или библиотек.
📣 Code Ready | #практика
Наводим — появляется текст. Кликаем — копируем и показываем «Copied!».
Создаём tooltip-элемент и добавляем в DOM. Находим нужный элемент и создаём подсказку внутри него.
const el = document.querySelector(".copy-tooltip");
const tooltip = document.createElement("div");
el.appendChild(tooltip);
Появление текста и копирование разделены для ясности.
el.addEventListener("mouseenter", () => {
tooltip.textContent = "Click to copy";
});
el.addEventListener("click", () => {
tooltip.textContent = "Copied!";
navigator.clipboard.writeText(el.dataset.copy);
});
Убираем текст при уходе мыши, очищаем подсказку.
el.addEventListener("mouseleave", () => {
tooltip.textContent = "";
});
🔥 Работает на любом элементе с data-copy, не требует стилей или библиотек.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤20👍13🔥4🤝1
This media is not supported in your browser
VIEW IN TELEGRAM
Свойство
scrollbar-gutter
решает проблему с «прыгающей» шириной контента при появлении или скрытии скроллбара.Есть 3 возможных значения:
• auto — дефолтное значение.
• stable — отступ для скроллбара появляется если значение overflow равно hidden, scroll или auto, вне зависимости от того, вызывает контент переполнение или нет.
• stable both-edges — то же самое что и stable, но отступы будут создаваться с двух противоположных сторон.
Контент остаётся на месте, независимо от того, есть скролл или нет. Особенно полезно на десктопах.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍23🔥7❤4🤝2
В этой статье:
• Настройка Laravel и создание REST API для продуктов;
• Создание компонентов Vue.js для отображения и редактирования продуктов;
• Настройка маршрутизации с Vue Router для SPA;
• Интеграция фронтенда и бэкенда в одно приложение с динамическим интерфейсом;
🔊 Подробное руководство на Habr!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥8❤7
Шпаргалка по практичным приёмам работы с массивами: фильтрация, сортировка, генерация диапазонов, вложенные структуры и логические проверки. Подойдёт для динамической обработки данных, управления состоянием и генерации UI-списков.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥28👍10🤝9❤7
This media is not supported in your browser
VIEW IN TELEGRAM
Excalidraw — плагин, с которым можно создать чистое полотно, рисовать фигуры, стрелки, писать текст и визуализировать логику приложения без сторонних инструментов.
Идеально, если нужно накидать структуру БД, связи между модулями или продумать архитектуру на лету — прямо в процессе работы.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤19👍10🔥6