К концу этой статьи вы превратитесь из простого пользователя JavaScript в того, кто глубоко его понимает и кого не удивляют его уникальные возможности. Это открытие расширит ваши знания и навыки, а также позволит использовать такие "фишки" JS, которых нет в других популярных языках.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Создайте квадратный блок фиксированного размера, внутри которого текст должен быть идеально выровнен по центру, как по вертикали, так и по горизонтали.
Ожидаемое поведение:
• Блок имеет фиксированные размеры: 200px на 200px.• Текст находится в центре блока.Решение задачи
<div class="centered-block">
Центрированный текст
</div>
.centered-block {
width: 200px;
height: 200px;
background-color:#f0f0f0 ;
display: flex;
justify-content: center;
align-items: center;
text-align: center;
border: 1px solid#ccc ;
}
Please open Telegram to view this post
VIEW IN TELEGRAM
В этой статье собраны семь практических рекомендаций, помогающих создавать чистый и поддерживаемый код React.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Статья раскрывает ключевые отличия между стрелочными и обычными функциями в JavaScript, объясняя их влияние на выполнение кода. Рассматриваются ситуации, в которых предпочтителен каждый тип функций.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Создайте кнопку, при нажатии на которую появляется анимация "волн", расходящихся из точки клика.
Ожидаемое поведение:
• При нажатии на кнопку из точки клика расходится круг, который исчезает через мгновение.• Анимация должна быть плавной и не мешать повторным кликам.Решение задачи
<button class="ripple-button">Нажми меня</button>
.ripple-button {
position: relative;
overflow: hidden;
padding: 10px 20px;
font-size: 16px;
color: white;
background-color:#007BFF ;
border: none;
border-radius: 4px;
cursor: pointer;
}
.ripple-button .ripple {
position: absolute;
border-radius: 50%;
transform: scale(0);
animation: ripple-animation 0.6s linear;
background-color: rgba(255, 255, 255, 0.6);
}@keyframes ripple-animation {
to {
transform: scale(4);
opacity: 0;
}
}
document.querySelector('.ripple-button').addEventListener('click', function (event) {
const ripple = document.createElement('span');
const rect = this.getBoundingClientRect();
ripple.style.width = ripple.style.height = `${Math.max(rect.width, rect.height)}px`;
ripple.style.left = `${event.clientX - rect.left - ripple.offsetWidth / 2}px`;
ripple.style.top = `${event.clientY - rect.top - ripple.offsetHeight / 2}px`;
ripple.className = 'ripple';
this.appendChild(ripple);
ripple.addEventListener('animationend', () => ripple.remove());
});
Please open Telegram to view this post
VIEW IN TELEGRAM
Laravel/Vue.js PHP разработчик (fullstack)
Junior React Engineer
HTML верстальщик (Junior)
HTML верстальщик / Junior Frontend разработчик
Программист PHP (Junior)
Please open Telegram to view this post
VIEW IN TELEGRAM
Поле для ввода подписи с интересной анимацией. Сделана на SVG, CSS и JavaScript.
Открыть код...
Please open Telegram to view this post
VIEW IN TELEGRAM
Debounce — это техника оптимизации, которая позволяет контролировать, как часто функция будет вызываться при повторяющихся событиях. Это полезно для обработки событий, таких как ввод текста или изменение размера окна, чтобы уменьшить нагрузку на производительность.
function debounce(func, delay) {
let timeout;
return function(...args) {
clearTimeout(timeout);
timeout = setTimeout(() => func.apply(this, args), delay);
};
}
// Использование debounce
const handleResize = debounce(() => {
console.log('Окно изменилось!');
}, 300);
window.addEventListener('resize', handleResize);🗣️ В этом примере обработчик событий на родительском элементе обрабатывает клики по дочерним элементам, включая добавленные динамически. Это упрощает код и повышает производительность.
Please open Telegram to view this post
VIEW IN TELEGRAM
Frontend Developer (Nuxt)
• Vue.js, Nuxt.js, JavaScript, SCSS, Адаптивная верстка, Twitter Bootstrap• до 150 000 ₽ | Средний (Middle)Angular разработчик
• JavaScript, Angular, Адаптивная верстка• от 3 500 до 5 000 € | Средний (Middle)Frontend-разработчик Vue/React
• React.js, Vue.js, TypeScript, HTML, CSS, JavaScript (ES6), API, JWT, Git• Уровень дохода не указан | Средний (Middle)WordPress Developer
• PHP, JavaScript, Git, WordPress, Адаптивная верстка, MySQL, Redis, Английский язык• от 160 000 ₽ | Средний (Middle)Fullstack разработчик (Laravel + Vue.js)
• Laravel, PHP, JavaScript, Vue.js, React, Веб-разработка, jQuery, Symfony, Адаптивная верстка• от 1 600 до 2 240 $ | Средний (Middle)Please open Telegram to view this post
VIEW IN TELEGRAM
Запутался в CSS-фреймворках? Мы собрали ТОП-10 самых крутых инструментов, которые реально экономят время на фронтенде. От тяжеловеса Bootstrap до минималистичного Milligram – разобрали плюсы каждого и объяснили, когда что использовать.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Создайте карточку, которая содержит изображение сверху и текст ниже. Карточка должна быть адаптивной: на больших экранах занимать 25% ширины контейнера, а на мобильных устройствах — всю ширину.
Ожидаемое поведение:
• Изображение всегда занимает всю ширину карточки.• Текст расположен под изображением.• Карточка адаптируется к размеру экрана.Решение задачи
<div class="card">
<img src="https://via.placeholder.com/300x200 " alt="Image" class="card-image">
<div class="card-text">
<h3>Заголовок</h3>
<p>Описание карточки. Это адаптивная карточка с текстом и изображением.</p>
</div>
</div>
/* Контейнер карточки */
.card {
display: flex;
flex-direction: column;
width: 25%; /* Для больших экранов */
border: 1px solid#ccc ;
border-radius: 8px;
overflow: hidden;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
transition: transform 0.3s;
}
.card:hover {
transform: scale(1.05);
}
/* Изображение в карточке */
.card-image {
width: 100%;
height: auto;
display: block;
}
/* Текст карточки */
.card-text {
padding: 16px;
text-align: center;
background-color:#f9f9f9 ;
}
/* Адаптивность для мобильных устройств */@media (max-width: 768px) {
.card {
width: 100%; /* Занимает всю ширину на маленьких экранах */
}
}
Please open Telegram to view this post
VIEW IN TELEGRAM
• style.setProperty vs setAttribute
• Как создать архитектуру фронтенд-приложения, если ее нет от слова «совсем»
• Правильные ли у вас микрофронты?
• Рецензия на книгу “Изучаем паттерны проектирования JavaScript, 2-е издание”
• Модульные CSS-архитектуры в Next.js: BEM, SMACSS, OOCSS и их применение
Please open Telegram to view this post
VIEW IN TELEGRAM
Анимированная форма для ввода с появлением при нажатии. Сделана на SCSS и TypeScript.
Открыть код...
Please open Telegram to view this post
VIEW IN TELEGRAM
Frontend-разработчик
• React.js, TypeScript, JavaScript, CSS, Sass, Webpack, Git, Docker, REST• Уровень дохода не указан | от 3 летFrontend Developer (VueJS)
• Vue.js, TypeScript, JavaScript, HTML5, CSS3, SASS, SCSS, LESS, Stylus, Babel, Webpack, Npm, Yarn, Jest, Mocha, REST API• Уровень дохода не указан | от 5 летMiddle/Senior frontend dev
• Vue.js, Nuxt.js, TypeScript, JavaScript, CSS, SASS, Tailwind, GraphQL, REST, WebSocket, Git• от 200 000 до 280 000 ₽ | от 3 летSenior Frontend Engineer
• Next.js, TypeScript, JavaScript, React.js, D3.js, Chart.js, Redux, Zustand, Jest, React Testing Library, REST API• до 5 000 $ | от 6 летFrontend разработчик Angular
• Angular, JavaScript, HTML, CSS, REST API• Уровень дохода не указан | от 3 летPlease open Telegram to view this post
VIEW IN TELEGRAM
• Мои Red-Flags при устройстве в IT-компании: Как не стать гребцом. Часть 2
• Циничные заметки о карьере в IT от «гейткипера»
• Язык как проект: как продакт-менеджеру учить английский
• Всероссийский рейтинг IT-брендов работодателей 2024
• Моя петиция EB-1A на грин-карту талантов, одобренная с первой попытки
Please open Telegram to view this post
VIEW IN TELEGRAM
Статья раскрывает современные CSS-функции для создания адаптивного темного режима, заменяющие традиционные медиа-запросы. Рассматриваются подходы, упрощающие настройку цветовых схем под предпочтения пользователя.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
clamp() в CSS и как его использовать?clamp() — это функция в CSS, которая задаёт значение с ограничениями: минимальное, предпочтительное и максимальное. Она позволяет адаптивно управлять размерами элементов или текстом, сохраняя их в заданных пределах.<div class="text">
Адаптивный размер текста
</div>
<style>
.text {
font-size: clamp(1rem, 2.5vw, 2rem); /* Минимум 1rem, максимум 2rem, предпочтение — 2.5% ширины окна */
text-align: center;
}
</style>
🗣️ В этом примере текстовый блок изменяет размер шрифта в зависимости от ширины окна, оставаясь в пределах от 1rem до 2rem. Функция clamp() упрощает создание адаптивного дизайна без сложных медиа-запросов.
Please open Telegram to view this post
VIEW IN TELEGRAM
Senior/Lead Frontend-разработчик
• TypeScript, React, Next.js, TailwindCSS, React Query, Redux Toolkit, eCharts, React Flow• Уровень дохода не указан | от 6 летFrontend Teamlead (React JS)
• TypeScript, JavaScript, React, Git• Уровень дохода не указан | от 3 летFrontEnd Разработчик в стартап Bolsta (за опцион)
• React, Vue.js, HTML, CSS, JavaScript• Уровень дохода не указан | опыт не указанTeam Lead Frontend (Управление перспективных проектов)
• React, TypeScript, HTML, CSS, SCSS, JavaScript, React Router Dom, axios, Fluent UI, final-form, i18next, Jotai, Mitt, React Query, Tanstack Table, Vite• Уровень дохода не указан | от 4 летSenior Frontend Developer (React)
• JavaScript, TypeScript, React, Redux, React Hook Form, Vite, SCSS, CSS Modules• Уровень дохода не указан | от 5 летPlease open Telegram to view this post
VIEW IN TELEGRAM
Если вы погружены в мир судоку, то наверняка ищете варианты ускоренного решения задач по программированию. Предлагаем ознакомиться с одним из них. Использование в нем хэш-карт и рекурсий значительно ускоряет решение головоломки.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Увидел баг — разозлился, потратил кучу времени, но всё равно ничего не понял? Это нормально. Баги не для того, чтобы раздражать тебя, они для того, чтобы ты учился.
Please open Telegram to view this post
VIEW IN TELEGRAM
React Native Developer Middle
• React Native, JavaScript, TypeScript, REST API, Git• от 1000 до 1500 $ | опыт не указанFullstack Developer
• React, Vue.js, Webpack, TypeScript, Node.js, MongoDB• от 3800 до 6500 $ | от 5 летReact.js Developer
• React.js, React Native, TypeScript, Redux, Sass, CSS, HTML, REST, JSON, Node.js• от 5000 $ | от 5 летFullstack разработчик (JavaScript, PHP, SQL), веб программист
• PHP, JavaScript, HTML, CSS, jQuery, Node.js, React, SQL• от 1800 $ | опыт не указанPlease open Telegram to view this post
VIEW IN TELEGRAM