ch
Feedback

不要被骗子欺骗!Telemetrio 会找到并标记这些频道 👉 如果想查看标记,请订阅

WebDev+ | Веб-разработка

WebDev+ | Веб-разработка

前往频道在 Telegram

Присоединяйтесь к нашему каналу и погрузитесь в мир веб-разработки Связь: @devmangx

显示更多
8 215
订阅者
+424 小时
+347 天
+26430 天
帖子存档
Используй CSS @property, чтобы открыть доступ к таким вещам, как:
Анимированные конические градиенты Вращающиеся рамки и лоадеры Hover-переходы для точек градиента
Обычная переменная --angle не работает для анимации точек градиента, потому что CSS не понимает, как интерполировать такое значение. @property решает это через типы вроде <angle>, <color> и другие.
@property --angle {
  syntax: '<angle>';
  inherits: false;
  initial-value: 0deg;
}

.card {
  --angle: 0deg;

  background: linear-gradient(
    var(--angle),
    #38bdf8,
    #0ea5e9,
    #2563eb,
    #1e40af
  );

  transition: --angle 0.8s ease;
}

.card:hover {
  --angle: 45deg;
}
За счёт initial-value не нужно каждый раз вручную задавать стартовое значение. @WebDev_Plus

Жди завершения всех промисов, даже упавших Promise.allSettled() дожидается завершения каждого промиса — успешного или с ошибк
Жди завершения всех промисов, даже упавших Promise.allSettled() дожидается завершения каждого промиса — успешного или с ошибкой. ⋅ Возвращает { status: 'fulfilled', value } или { status: 'rejected', reason } ⋅ Отлично подходит для пакетных операций Подробнее 👇 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/allSettled @WebDev_Plus

Совет на ближайшие годы — изучайте ВАЙБ-КОДИНГ ИИ уже пишет код, чинит баги, генерирует тесты, документацию и помогает запуск
Совет на ближайшие годы — изучайте ВАЙБ-КОДИНГ ИИ уже пишет код, чинит баги, генерирует тесты, документацию и помогает запускать продукты быстрее, чем это делали классические команды разработки. И это уже не "будущее когда-нибудь", а реальность, которая меняет рынок уже сегодня И те, кто научится вайбкодить сейчас, будут увереннее конкурировать на рынке и зарабатывать больше тех, кто по-прежнему делает всё вручную. Стартовать с нуля поможет канал Вайб-кодинг. Там ребята круглосуточно мониторят более 320 российских и зарубежных источников и публикуют только главное: релизы, инструменты, гайды, курсы и практические кейсы. Подписывайтесь, нас уже 30 тысяч: @vibecoding_tg

HTML совет 💡 Можно использовать атрибут translate, чтобы указать, должен ли контент элемента переводиться встроенными средст
HTML совет 💡 Можно использовать атрибут translate, чтобы указать, должен ли контент элемента переводиться встроенными средствами браузера. @WebDev_Plus

Создание нового логотипа не должно занимать много времени. Я хотел инструмент быстрый, простой и бесплатный. Поэтому собрал Logo Lattice. Полностью бесплатный. Работает прямо в браузере. Полный контроль и владение созданными результатами. @WebDev_Plus

Атрибут tabindex в HTML управляет тем, может ли элемент получать фокус с клавиатуры и в каком порядке происходит навигация по
Атрибут tabindex в HTML управляет тем, может ли элемент получать фокус с клавиатуры и в каком порядке происходит навигация по элементам через клавишу Tab. Используется в основном для доступности и управления клавиатурной навигацией. Основные моменты: ▪️ tabindex="0" — добавляет элемент в естественный порядок фокуса ▪️ tabindex="-1" — фокус возможен только программно через JS, но не через Tab ▪️ положительные значения (1, 2 и т.д.) — задают кастомный порядок обхода ▪️ работает как для интерактивных, так и для неинтерактивных элементов @WebDev_Plus

React Doctor v2 уже здесь Ваш агент пишет плохой React-код — этот инструмент это отлавливает. Работает с Next.js, Vite и React Native. Можно привести приложение в порядок за несколько минут. npx react-doctor@latest https://github.com/millionco/react-doctor @WebDev_Plus

Infinity в JavaScript используется нечасто. Но array.flat(Infinity) неожиданно полезен при работе с глубоко вложенными массив
Infinity в JavaScript используется нечасто. Но array.flat(Infinity) неожиданно полезен при работе с глубоко вложенными массивами #JavaScript

Используй view-transitions и clip-path, чтобы анимировать переключение темы вместо простого переключения с transition
document.documentElement.animate(
  { clipPath: ["inset(0 0 100% 0)", "inset(0)"] },
  { pseudoElement: "::view-transition-new(root)", duration: 600 },
)
::view-transition-new(root) {
  animation: none;
  mix-blend-mode: normal;
}
Здесь clip-path задаёт раскрытие анимации сверху вниз. @WebDev_Plus

Ускорение рендеринга с помощью свойства CSS content-visibility: auto Это CSS-свойство откладывает отрисовку контента вне види
Ускорение рендеринга с помощью свойства CSS content-visibility: auto Это CSS-свойство откладывает отрисовку контента вне видимой области до момента, когда он действительно понадобится, что даёт значительный прирост производительности на длинных страницах. Используется совместно с contain-intrinsic-size. Обеспечивает практически нулевую стоимость реализации ленивой отрисовки. https://developer.mozilla.org/en-US/docs/Web/CSS/content-visibility @WebDev_Plus

Улучшенная цепочка ошибок наконец появилась в JavaScript Error.cause позволяет прикрепить исходную ошибку при повторном выбра
Улучшенная цепочка ошибок наконец появилась в JavaScript Error.cause позволяет прикрепить исходную ошибку при повторном выбрасывании исключения, сохраняя полный контекст без потери стека вызовов. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/cause @WebDev_Plus

Node.js v26.0.0 вышел 💚 «Temporal API» включён по умолчанию, https://nodejs.org/en/blog/release/v26.0.0 @WebDev_Plus

Реагирование на изменение размеров элемента, а не только окна «Наблюдатель изменения размеров» срабатывает при изменении габа
Реагирование на изменение размеров элемента, а не только окна «Наблюдатель изменения размеров» срабатывает при изменении габаритов любого элемента, подходит для адаптивных компонентов. ⋅ отслеживает padding box, content box или border box ⋅ работает при динамических изменениях DOM https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver @WebDev_Plus

JavaScript-совет: Используй new Notification() для отправки нативных уведомлений в браузере (без отдельного приложения). @Web
JavaScript-совет: Используй new Notification() для отправки нативных уведомлений в браузере (без отдельного приложения). @WebDev_Plus

Container scroll-state queries позволяют применять стили к элементам в зависимости от состояния скролла контейнера — зафиксирован, привязан к точке, прокручиваемый
.section-header {
  ...
  container-type: scroll-state;
  container-name: sticky-hd;
}

@container sticky-hd scroll-state(stuck: top) {
  ...
}
Поддерживаемые состояния: - stuck — элемент в состоянии position: sticky и «прилип» к краю - snapped — элемент зафиксирован через scroll snap - scrollable — контейнер имеет область прокрутки Это даёт возможность убирать обработчики скролла на стороне JavaScript и переносить логику в CSS, без лишних подписок на события и перерасчётов. @WebDev_Plus

Это потрясающее расширение для VS Code, которое за секунды превращает вашу структуру папок в правильно отформатированное текстовое представление Идеально подходит для создания чистой и структурированной документации без лишних усилий #ресурсы @WebDev_Plus

Переключаем режим редактирования для всего документа Когда мы изменяем HTML, обычно нужно дождаться обновления страницы, чтобы увидеть изменения. Вы можете сэкономить время, используя designMode, который позволяет мгновенно изменять страницу Чтобы переключить режим разработки, введите следующий код:
document.designMode="on"
#советы @WebDev_Plus

кто-то выложил в открытый доступ набор компонентов для карт в стиле shadcn для React. проект называется mapcn. поддерживает т
кто-то выложил в открытый доступ набор компонентов для карт в стиле shadcn для React. проект называется mapcn. поддерживает темы, полностью композиционный, построен на MapLibre GL, поэтому даёт полный функционал картографии без оплаты Mapbox. 100% открытый исходный код. @WebDev_Plus

TypeScript официально отказывается от JavaScript. Грядущая версия (7.0) полностью переписана на Go, и скорость компиляции выр
TypeScript официально отказывается от JavaScript. Грядущая версия (7.0) полностью переписана на Go, и скорость компиляции выросла в 10 раз. Годами основной компилятор (tsc) был написан на самом TypeScript и выполнялся в среде Node.js. С точки зрения стратегии это было отличным решением для привлечения разработчиков, но с инженерной стороны — серьёзная проблема для крупных проектов. JavaScript по своей природе однопоточный и сильно ограничен в задачах с интенсивной нагрузкой на процессор. В больших проектах, когда кодовая база превышает миллион строк, время сборки становится критичным. Разработчик меняет одну строку в интерфейсе и ждёт завершения проверки типов. Переход на Go (нативный порт) полностью устраняет эту проблему. Ключевой момент — многопоточность. Компилятор теперь использует все ядра процессора через горутины. Большой код разбивается на части и анализируется параллельно. Накладные расходы V8 больше не участвуют в процессе. Эффект не только в удобстве разработки. В корпоративной среде это означает более быстрые пайплайны CI/CD на серверах и заметное снижение затрат на облачные сборки. @WebDev_Plus

Ты, скорее всего, уже гуглил что-то вроде этого: «как сделать div, чтобы он сжимался под контент» «ширина элемента по содержимому» «автоширина, но не на всю ширину» В CSS есть специальная штука, которая решает это — fit-content. Что делает: Заставляет элемент сжиматься под содержимое, но не становиться шире своего контейнера. Элемент остаётся с display: block (занимает свою строку), но ширина подстраивается под контент вместо растягивания на всю ширину. Карточка сжимается по ширине текста и идеально центрируется.
.alert-card {
  /* 1. Сжать блок строго по содержимому */
  width: fit-content;

  /* 2. Центровка без вмешательства в родительский контейнер */
  margin-inline: auto;

  /* 3. Не допускать выхода за границы экрана на мобильных */
  max-width: 90vw;

  padding: 2rem;
  background: var(--bg-surface);
  border-radius: 12px;
}
Где это использовать: - Центрированные кнопки, которые не должны растягиваться на всю ширину - Карточки, которые подстраиваются под свой контент - Модальные окна, которые увеличиваются вместе с текстом - Теги и бейджи - Элементы навигации @WebDev_Plus