Senior Frontend - javascript, html, css
23.7K subscribers
1.31K photos
2.25K videos
695 links
Senior Front - канал для frontend программистов, практические задачки, проверки знаний, интересные статьи

Админ, сотрудничество, реклама:@seniorFrontPromo, @maria_seniorfront
Канал в реестре РКН https://rknn.link/bsU
Download Telegram
Media is too big
VIEW IN TELEGRAM
CSS JS Animation Effects

В этом видео создается анимированный загрузчик. Точки генерируются в JS, а затем анимируются в CSS.

👉 @seniorFront
🔥2❤1
This media is not supported in your browser
VIEW IN TELEGRAM
Когда на ощупь фиксите баг, о котором ничего не знаете:

👉 @seniorFront
🔥8
This media is not supported in your browser
VIEW IN TELEGRAM
Creative menu navigation

Оригинальное навигационное меню, стилизованное в CSS.

👉 @seniorFront
👍8
This media is not supported in your browser
VIEW IN TELEGRAM
Infinite Orbit Animation

Стилизовано и анимировано на чистом CSS, без использования JS.

👉 @seniorFront
🔥11👍3
Media is too big
VIEW IN TELEGRAM
Animated Wavy Edge

В этом видео создается анимированная граница в виде волны. Для этого создаются псевдо-элементы блока с градиентом, анимированные в CSS.

👉 @seniorFront
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Radio Are So Moody

Подборка CSS анимаций для радио-кнопок.

👉 @seniorFront
👍10🔥5
Sort the odd

Вам будет дан массив чисел. Вы должны отсортировать нечетные числа по возрастанию, оставив четные на прежних местах.

Примеры:
[7, 1]  =>  [1, 7]
[5, 8, 6, 3, 4] => [3, 8, 6, 5, 4]
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0] => [1, 8, 3, 6, 5, 4, 7, 2, 9, 0]


👉 @seniorFront
👍3
UX для frontend на основе дизайн-принципов MUI

В этой статье я расскажу о UX (User Experience) на основе MUI (Material User Interface): исследую интересные практики и покажу, какие элементы UI можно использовать, чтобы улучшить UX.

Статья — выжимка из документации MUI по их принципам дизайна. Обратите внимание, что в статье нет акцента на особенностях UX, присущих MUI, но выделена полезная информация, которую можно использовать вне рамок MUI:

— поверхности;
— раскладка;
— сжатие;
— цвета;
— темная тема;
— показ ошибок.

👉 @seniorFront
❤5
Как браузер обрабатывает ссылки?

Браузер обрабатывает ссылки (теги <a>) следующим образом:

Основные этапы обработки ссылки браузером:

Рендеринг HTML:
Когда браузер загружает HTML-документ, он разбирает его и создает DOM (Document Object Model). В этом процессе браузер встречает тег <a> и определяет, что это ссылка.

Наведение и щелчок по ссылке:

Когда пользователь наводит курсор на ссылку, браузер может показать URL в строке состояния или всплывающем окне.

При щелчке по ссылке браузер проверяет атрибуты ссылки (href, target, и др.), чтобы определить, как обработать этот клик.

Проверка атрибута `href`:

Если href отсутствует или равно #, браузер не будет переходить на другую страницу.
Если href содержит URL, браузер начинает процесс навигации.

Обработка атрибута `target`:

Если target установлен в _self или не указан, браузер загружает новую страницу в текущем окне.
Если target установлен в _blank, браузер открывает новую страницу в новой вкладке или окне.
Если указано имя фрейма, браузер попытается загрузить новую страницу в указанный фрейм.

Выполнение возможных JavaScript обработчиков событий:
Браузер проверяет наличие событий, таких как onclick, onmousedown, onmouseup и т.д.
Если обработчик события вызвал event.preventDefault(), переход на новую страницу не произойдет.

Отправка HTTP-запроса:
Браузер отправляет HTTP-запрос к серверу, если ссылка ведет на другой ресурс.
Сервер обрабатывает запрос и отправляет ответ.

Обработка ответа от сервера:
Если ответ сервера содержит HTML, браузер начнет разбор нового HTML-документа.
Если ответ сервера является перенаправлением (статусы 3xx), браузер отправит новый запрос по указанному адресу.
Если ответ сервера является ошибкой (статусы 4xx или 5xx), браузер отобразит страницу ошибки.

Загрузка ресурсов:
После получения нового HTML-документа браузер загружает все связанные ресурсы (CSS, JS, изображения и т.д.).

Отображение новой страницы:
Браузер обновляет DOM и перерисовывает страницу, отображая новый контент пользователю.

Пример работы с ссылкой
HTML:
<a href="https://example.com" target="_blank" id="myLink">Перейти на example.com</a>


JavaScript:
document.getElementById('myLink').addEventListener('click', function(event) {
event.preventDefault();
console.log('Ссылка была нажата, но переход не произошел');
// Можно выполнить дополнительную логику здесь
});


Атрибуты ссылки и их значение
href: определяет URL, на который ведет ссылка.
target: определяет, где открыть связанный документ.
_self: в текущем окне/вкладке.
_blank: в новом окне/вкладке.
_parent: в родительском фрейме.
_top: во всем текущем окне.
rel: определяет отношения между текущим документом и связанным документом. Полезно для SEO и безопасности (например, rel="noopener noreferrer" для ссылок с target="_blank").

👉 @seniorFront
👍14
This media is not supported in your browser
VIEW IN TELEGRAM
Glitchy navigation

При нажатии анимируется SVG картинка при помощи библиотеки gsap.

👉 @seniorFront
👍2👎1🔥1
​Как тебя тянут назад, а ты этого не замечаешь. Менталитет краба

Хочу поговорить про менталитет краба — штуку коварную и часто незаметную, но сильно тянущую назад.

Суть менталитета краба: когда люди видят, что вы пробуете новое или добиваетесь успеха, вместо поддержки они критикуют, буллят, обесценивают. Их цель — остановить вас, чтобы вы не выбились вперёд. Почему? Зависть и страх.

Примеры менталитета краба:
— Вижу это у "опытных" в IT — они внушают новичкам, что "Рынок переполнен", "Без 5 лет страданий ничего не добьёшься". Одна из причин (осознанно или нет) — отпугнуть конкурентов и сохранить свой статус.

— Те, кто хотел бы уехать, но боится, осуждают тех, кто решился: "Ты там никому не нужен", "Вот уедешь, а потом пожалеешь!", "Ты предал нас".

— Ты строишь карьеру или делаешь бизнес: "Деньги — это не главное, когда жить собираешься?", "Ты как робот — только работа, цели, задачи. Расслабься!", "Ты слишком амбициозная, независимая, серьезная — мужчинам это не нравится" (женский вариант).

— Ты развиваешь свой блог или канал: "Да кому это вообще интересно?", "Блогеры — это несерьёзно, вот на заводе (в больнице и тп) настоящие профессии".

— Ты завершил сложный проект, который занял у тебя 2 месяца и делишься этим в соц сетях: "Ой, да я такое за час сделаю", "И что тут такого, чем можно было бы удивить?".

— Когда старшее поколение считает, что молодые должны повторить их сложный путь: "Мы в 90-е без выходных пахали за копейки, а вы хотите нормальные зарплаты, удалёнку, баланс работы и жизни, путешествия, свободу выбора? Много хотите!"

— "А ты уверен, что тебе это надо?", "Ты что думаешь, лучше других?", "Бизнес — это опасно", "Ты недостаточно молодой/старый [подставить нужное]". И так далее.

И тут вы скажете — просто не общаться с такими людьми и будете правы (в книгах по саморазвитию не зря говорят о важности окружения). Но есть несколько нюансов:

1. Это только самые очевидные примеры, но на деле всё сложнее.
— Если это говорит авторитетный человек — его слова воспринимаются совсем иначе. "Нельзя переезжать, пока не выучишь язык" — и ты уже сомневаешься (это ж гуру говорит, как ему не поверить).
— Чем умнее человек, тем он опаснее в этом плане. Он выдаст 500 фактов, расчётов, логичных доводов, почему вам нельзя что-то начинать делать и у вас не получится.

2. В постсоветских обществах выделяться — это риск. Здесь быть как все — норма, а любое отклонение воспринимается как угроза. Да, время уже прошло, но в большинстве людей это еще сидит.

3. Люди не всегда хотят навредить — часто это просто их сомнения и страхи, но результат один: тебя это тянет вниз.

Как быть? (мои правила)
Первый шаг — осознать проблему. Отслеживать эти манипуляции и свои установки в том числе (с помощью дневника или работы с психологом). Понять, что чужие слова — это их чувства и мысли, а не реальность. Ограничивать общение с теми, кто тянет вниз, и окружать себя теми, кто поддерживает.

Жить в других культурах (изучать другие культуры) — это учит смотреть шире и выходить за рамки. Начинаешь замечать влияние своего окружения и понимать, что многие вещи — не нормальны. В итоге развиваешь иммунитет к давлению общества и учишься брать лучшее из разных культур.

Идти своим путём — только я знаю, что для меня правильно. Слушать советы, но не позволять другим управлять жизнью. Зависнешь на чужом мнении — останешься в ведре.

👉 @seniorFront
👍13❤4
FrontendConf 2025, одна из топовых конференций уже начинает свою подготовку.

13 марта в 19:00 по мск пройдёт онлайн-встреча потенциальных докладчиков и участников программного комитета.

Вы еще можете успеть стать спикером FrontendConf 2025, на онлайн-встрече можно задать вопросы в прямом эфире, если вы, например, еще сомневаетесь ☎️

На самой же трансляции вы узнаете подробнее о подготовке программы и темах конференции.

Участвовать может любой, регистрация тут, увидимся уже скоро!

erid 2SDnjbuKsMev
❤1👍1🔥1
Математика, нужна ли ты программисту?

Недавно тут была опубликована пятничная статья о математике. Автор правильно сделал, что не поставил у неё тег «математика» потому что она не про математику. Хотелось бы исправить этот недостаток, написав статью без тега «программирование».

👉 @seniorFront
👍3👎2
This media is not supported in your browser
VIEW IN TELEGRAM
Click animation

Вся сцена создана и анимирована библиотекой Three.js.

👉 @seniorFront
🔥5
This media is not supported in your browser
VIEW IN TELEGRAM
Corner Cutout Div Shape

В этом видео создается блок необычной формы при помощи CSS mask.

👉 @seniorFront
👍4
This media is not supported in your browser
VIEW IN TELEGRAM
Идея фона для созвона

😎 — я даже камеру не включаю

👉 @seniorFront
👍25❤5🤔1
This media is not supported in your browser
VIEW IN TELEGRAM
A Range of Choices

Реализовано на canvas и чистом JS, а также при помощи стилизованного input type="range".

👉 @seniorFront
👍4❤2
This media is not supported in your browser
VIEW IN TELEGRAM
Magnifying glass cursor

Анимация реализована библиотекой gsap. Создано и стилизовано на HTML и CSS.

👉 @seniorFront
❤5