CSS Grid Layout — это мощная система для создания сеточных макетов на веб-страницах. Она позволяет легко размещать элементы на странице в виде строк и столбцов с минимальным количеством кода. Grid обеспечивает точное позиционирование и гибкость, идеально подходя для сложных макетов.
<div class="grid-container">
<div class="item">1</div>
<div class="item">2</div>
<div class="item">3</div>
</div>
<style>
.grid-container {
display: grid;
grid-template-columns: repeat(3, 1fr); /* Три равных столбца */
gap: 10px; /* Расстояние между элементами */
}
.item {
background: lightblue;
padding: 20px;
text-align: center;
}
</style>
🗣️ В этом примере .grid-container создает сетку с тремя столбцами одинаковой ширины. Свойство gap добавляет отступы между элементами. Grid Layout упрощает создание адаптивных макетов.
Please open Telegram to view this post
VIEW IN TELEGRAM
Верстальщик HTML
Сreative Middle HTML-верстальщик (Frontend-разработчик)
Frontend разработчик middle
Middle Веб Дизайнер на Tilda
Дизайнер-верстальщик
Please open Telegram to view this post
VIEW IN TELEGRAM
Создайте кнопку, которая всегда располагается в правом нижнем углу экрана, поверх основного содержимого страницы. При наведении на кнопку её цвет должен изменяться.
Ожидаемое поведение:
• Кнопка всегда остаётся в правом нижнем углу экрана.• При наведении на кнопку её цвет меняется на более тёмный оттенок.• Кнопка не перекрывает содержимое страницы и выглядит гармонично.Решение задачи
<div class="content">
<p>Основное содержимое страницы...</p>
</div>
<button class="floating-button">Нажми меня</button>
/* Стили основного содержимого */
.content {
padding: 20px;
font-family: Arial, sans-serif;
line-height: 1.6;
}
/* Фиксированная кнопка */
.floating-button {
position: fixed;
bottom: 20px;
right: 20px;
padding: 15px 20px;
background-color:#007BFF ;
color: white;
border: none;
border-radius: 50px;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
cursor: pointer;
transition: background-color 0.3s, transform 0.2s;
}
/* Эффект наведения */
.floating-button:hover {
background-color:#0056b3 ;
transform: scale(1.1);
}
Please open Telegram to view this post
VIEW IN TELEGRAM
• Почему я не готовлюсь к алгоритмическому интервью
• 7 популярных библиотек Vue 3 UI-компонентов, которые заслуживают внимания
• Жаркий спор по теме Masonry в CSS
• Разница между ранним и поздним связыванием
• Расширения VSCode для комфортной работы с проектами
Please open Telegram to view this post
VIEW IN TELEGRAM
Панель плеера с подсказками при наведении. Сделана на SVG и CSS.
Открыть код...
Please open Telegram to view this post
VIEW IN TELEGRAM
HTML-верстальщик
Дизайнер-верстальщик
HTML-верстальщик/CSS Senior
Frontend-разработчик для сайта
Frontend-разработчик (Middle/Senior)
Please open Telegram to view this post
VIEW IN TELEGRAM
• Почему любая оценка IT-шников обречена на провал?
• Карьерный рост из senior: кто такой staff-инженер?
• «Так и знала, что вы — бывший двоечник!» Самые глупые ошибки моей компьютерной молодости
• Что лучше — оценка рекрутера или подбрасывание монетки?
• Мотивационные стили в обучении: почему вам (возможно) не нужны цели или общение с одногруппниками
Please open Telegram to view this post
VIEW IN TELEGRAM
Рассмотрим распространенные ошибки которые допускают разработчики при работе с tailwind и пути их решения.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 Когда код — это квест без подсказок
Погружаешься в проект, а там — ни документации, ни комментариев. Читаешь код, как древний манускрипт, пытаясь понять, что вообще происходит. Итог: потраченное время и нервы.
Сделай первый шаг к порядку: записывай всё, что сам понял, в понятной форме. Даже небольшие заметки спасут тебя (и команду) в будущем. Документация — это не для галочки, это ускоритель работы.
Погружаешься в проект, а там — ни документации, ни комментариев. Читаешь код, как древний манускрипт, пытаясь понять, что вообще происходит. Итог: потраченное время и нервы.
Сделай первый шаг к порядку: записывай всё, что сам понял, в понятной форме. Даже небольшие заметки спасут тебя (и команду) в будущем. Документация — это не для галочки, это ускоритель работы.
HTML-верстальщик (Team Lead)
Ведущий Web-дизайнер
Lead Frontend-разработчик
Please open Telegram to view this post
VIEW IN TELEGRAM
Ключевое слово
exit и его псевдоним die — языковые конструкции, выводящие сообщение и завершающие текущий сценарий. В CLI-приложениях exit/die можно использовать для завершения работы приложения с заданным кодом выхода.Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Псевдоэлементы в CSS — это инструменты, которые позволяют стилизовать определенные части элемента, такие как первая буква, первая строка, или добавлять контент до или после элемента. Они начинаются с
:: (например, ::before или ::after) и не требуют изменения HTML-разметки.<p class="text">Это пример текста.</p>
<style>
.text::before {
content: "👉 "; /* Добавляем символ перед текстом */
color: red;
}
.text::after {
content: " ✔️"; /* Добавляем символ после текста */
color: green;
}
</style>
🗣️ В этом примере с помощью псевдоэлементов ::before и ::after добавляются символы перед и после текста. Это удобный способ дополнить стиль без изменения HTML.
Please open Telegram to view this post
VIEW IN TELEGRAM
Senior Frontend Developer
Front-End разработчик
Fullstack Developer (.Net/JS)
Frontend разработчик (Angular, jQuery)
Please open Telegram to view this post
VIEW IN TELEGRAM
К концу этой статьи вы превратитесь из простого пользователя 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