Изучение React без прочной базы JavaScript похоже на строительство дома без фундамента. В этой статье разберем 8 ключевых концепций, которые помогут тебе уверенно чувствовать себя в React-разработке и писать качественный код.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
z-index управляет тем, как элементы накладываются друг на друга в трёхмерном пространстве веб-страницы. Элементы с большим значением z-index будут отображаться поверх тех, у которых значение меньше.
z-index: 1:.element1 {
position: relative;
z-index: 1;
}
.element2 {
position: relative;
z-index: 2;
}🗣 Важно помнить, что свойство z-index работает только с элементами, у которых установлено позиционирование (position: relative, absolute, fixed или sticky).
Please open Telegram to view this post
VIEW IN TELEGRAM
Руководитель группы разработки
• Git, Docker, PHP, Laravel, React, CI/CD, Управление разработкой, Управление людьми, Ведение переговоров• Уровень дохода не указан | Требуемый опыт не указанFullstack TeamLead
• PHP, Laravel, Python, CI/CD, Управление разработкой• до 400 000 ₽ | от 6 лет опытаРуководитель web-разработки
• Git, Docker, PHP, Laravel, React, CI/CD, Управление разработкой, Управление людьми, Ведение переговоров• Уровень дохода не указан | Требуемый опыт не указанPlease open Telegram to view this post
VIEW IN TELEGRAM
Часто приходится анализировать множество URL-адресов. Частично для их проверки, а также для нормализации или извлечения определённых частей из URL. API URL в браузерах позволяет это делать, но его эргономика не идеальна.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Ты решил проблему через копипасту кода с форума или GitHub? Быстро, но опасно.
Please open Telegram to view this post
VIEW IN TELEGRAM
Senior Frontend Developer (Team Lead)
PHP Developer
PixiJS Frontend Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
Рассмотрим распространенные ошибки которые допускают разработчики при работе с tailwind и пути их решения.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Создайте карточку, которая содержит изображение и текст, выровненный по нижнему краю карточки. Карточка должна иметь фиксированную высоту, и текст всегда должен находиться у нижней границы.
Ожидаемое поведение:
• Изображение занимает верхнюю часть карточки.• Текст закреплён внизу карточки, даже если изображение маленькое.Решение задачи
<div class="card">
<img src="https://via.placeholder.com/150 " alt="Placeholder Image" class="card-img">
<div class="card-text">Текст внизу карточки</div>
</div>
.card {
width: 200px;
height: 300px;
display: flex;
flex-direction: column;
justify-content: space-between;
border: 1px solid#ccc ;
border-radius: 8px;
overflow: hidden;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}
.card-img {
width: 100%;
height: auto;
max-height: 70%; /* Ограничиваем высоту изображения */
}
.card-text {
padding: 10px;
background-color:#f9f9f9 ;
text-align: center;
}
Please open Telegram to view this post
VIEW IN TELEGRAM
• Знакомьтесь: input, output и model. Новые функции в Angular
• Мой путь в мире веб-рендеринга: от статических страниц к гибридным архитектурам
• Новый этап эволюции Vue — Vapor
• Как сделать один плагин сразу для всех сборщиков фронтенда?
• Личный опыт: добавление микроразметки на сайт
Please open Telegram to view this post
VIEW IN TELEGRAM
Создайте переключатель, позволяющий пользователю менять тему страницы между светлой и тёмной. При переключении должна происходить плавная анимация перехода. Реализуйте переключение тем с помощью CSS-переменных и JavaScript.
Решение задачи
<div class="theme-toggle">
<label class="switch">
<input type="checkbox" id="theme-switcher">
<span class="slider"></span>
</label>
<p>Нажмите, чтобы переключить тему</p>
</div>
/* Переменные для тем */
:root {
--bg-color-light:#ffffff ;
--bg-color-dark: #333333;
--text-color-light: #000000;
--text-color-dark:#ffffff ;
--transition-duration: 0.3s;
}
/* Общие стили */
body {
background-color: var(--bg-color-light);
color: var(--text-color-light);
transition: background-color var(--transition-duration), color var(--transition-duration);
}
/* Тёмная тема */
body.dark-theme {
background-color: var(--bg-color-dark);
color: var(--text-color-dark);
}
/* Стили для переключателя */
.theme-toggle {
display: flex;
align-items: center;
gap: 10px;
margin-top: 20px;
}
.switch {
position: relative;
display: inline-block;
width: 50px;
height: 24px;
}
.switch input {
opacity: 0;
width: 0;
height: 0;
}
.slider {
position: absolute;
cursor: pointer;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color:#ccc ;
border-radius: 24px;
transition: background-color var(--transition-duration);
}
.slider:before {
position: absolute;
content: "";
height: 18px;
width: 18px;
left: 4px;
bottom: 3px;
background-color: white;
border-radius: 50%;
transition: transform var(--transition-duration);
}
input:checked + .slider {
background-color:#2196F3 ;
}
input:checked + .slider:before {
transform: translateX(26px);
}
document.getElementById('theme-switcher').addEventListener('change', (event) => {
document.body.classList.toggle('dark-theme', event.target.checked);
});
Please open Telegram to view this post
VIEW IN TELEGRAM
JavaScript Software Engineer
Fullstack программист-разработчик WEB-приложений (NodeJS, React, PostgreSQL)
JavaScript-разработчик в ФинТех проект
Please open Telegram to view this post
VIEW IN TELEGRAM
em и rem в CSS?В CSS
em и rem — это относительные единицы измерения, используемые для задания размеров шрифтов, отступов, полей и других стилей. em основывается на размере шрифта родителя, тогда как rem ориентирован на размер шрифта корневого элемента (html), что делает его предсказуемым и удобным для масштабирования.html {
font-size: 16px; /* Базовый размер шрифта */
}
.container {
font-size: 2em; /* 32px, основывается на размере родителя */
margin: 1rem; /* 16px, независимо от родителя */
}🗣️ Использование rem помогает сохранить консистентность размеров при вложенных элементах, а em подходит для адаптивного дизайна, когда размеры зависят от родителей.
Please open Telegram to view this post
VIEW IN TELEGRAM
Frontend Developer (Видеоплеер)
• JavaScript, TypeScript, HTML, CSS, React, Webpack, Rollup, HLS, MPEG-DASH• Уровень дохода не указан | Требуемый опыт: от 1 годаFrontend developer (Vue.js)
• Vue.js, Nuxt.js, JavaScript, CSS, HTML, Webpack, Vite, Git• от 200 000 до 300 000 ₽ | Требуемый опыт: от 3 летFrontend разработчик middle/middle+
• JavaScript, TypeScript, React, Node.js, REST API, Webpack, Gulp, CSS-препроцессоры, Git• Уровень дохода не указан | Требуемый опыт: от 3 летPlease open Telegram to view this post
VIEW IN TELEGRAM
Первая часть статьи даёт правила для Handlebars в Superset. Далее — готовый код HTML + CSS, который можно сразу использовать, и разбор CSS-элементов с объяснениями.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Напишите разметку и стили для отображения карточек товаров в сетке. Сетка должна адаптироваться к размеру экрана: на больших экранах отображать карточки в три колонки, на планшетах — в две, а на мобильных устройствах — в одну колонку. Карточки должны иметь тень, отступы и закруглённые углы, чтобы выглядеть как отдельные блоки.
Решение задачи
<div class="product-grid">
<div class="product-card">Товар 1</div>
<div class="product-card">Товар 2</div>
<div class="product-card">Товар 3</div>
<div class="product-card">Товар 4</div>
<div class="product-card">Товар 5</div>
<div class="product-card">Товар 6</div>
</div>
/* Основной контейнер */
.product-grid {
display: grid;
gap: 20px;
padding: 20px;
}
/* Стили карточек */
.product-card {
background-color:#f9f9f9 ;
padding: 20px;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
text-align: center;
}
/* Три колонки на больших экранах */@media (min-width: 1024px) {
.product-grid {
grid-template-columns: repeat(3, 1fr);
}
}
/* Две колонки на планшетах */@media (min-width: 768px) and (max-width: 1023px) {
.product-grid {
grid-template-columns: repeat(2, 1fr);
}
}
/* Одна колонка на мобильных */@media (max-width: 767px) {
.product-grid {
grid-template-columns: 1fr;
}
}
Please open Telegram to view this post
VIEW IN TELEGRAM
Статья рассказывает об архитектуре Inverted Triangle CSS, которая помогает масштабировать и поддерживать крупные CSS проекты. Обсуждаются причины выбора, пошаговая реализация и сравнение с другими подходами.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Настраиваемая панель инструментов. Сделана на SVG, CSS и JavaScript.
Открыть код...
Please open Telegram to view this post
VIEW IN TELEGRAM
Middle+/Senior Frontend developer (СберНПФ)
• Angular, TypeScript, JavaScript, Node.js, PostgreSQL, Apache Kafka, REST• Уровень дохода не указан | от 3 лет опытаFrontend-разработчик Angular (middle+/senior)
• Angular, JavaScript, HTTP, REST API, Agile, CI/CD, NGINX, Unit-тестирование• Уровень дохода не указан | от 3 лет опытаFullstack Typescript Developer [Senior]
• TypeScript, Node.js, React, SQL, Kubernetes, Docker• Уровень дохода не указан | от 4 лет опытаPlease open Telegram to view this post
VIEW IN TELEGRAM