Вёрстка сайтов | HTML, CSS, JS
4.79K subscribers
650 photos
3 videos
4 files
1.1K links
👋 Привет, друг!

В этом канале я выкладываю структурированные, обучающие уроки и материалы по вёрстке сайтов и фронтенду.
Присоединяйся и начинай учиться!

Связь: @Tigran1963
Download Telegram
Какой псевдокласс используется для применения стилей к элементам, которые еще не прошли проверку формой?
Anonymous Quiz
17%
:checked
38%
:invalid
17%
:valid
28%
:default
👍4🔥2
Задача: Фильтрация и сортировка списка пользователей

Описание:
У вас есть массив объектов, представляющих пользователей. Каждый объект содержит следующие свойства: name (имя пользователя), age (возраст пользователя) и isActive (булево значение, указывающее, активен ли пользователь).

Ваша задача:
Отфильтровать массив, оставив только активных пользователей.
Отсортировать активных пользователей по возрасту в порядке возрастания.
Вернуть массив имён отсортированных активных пользователей.
Пример входных данных:
const users = [
{ name: 'Alice', age: 25, isActive: true },
{ name: 'Bob', age: 30, isActive: false },
{ name: 'Charlie', age: 20, isActive: true },
{ name: 'David', age: 35, isActive: true },
{ name: 'Eve', age: 28, isActive: false }
];

Пример выходных данных:
['Charlie', 'Alice', 'David']

Указания:
Используйте метод filter() для фильтрации активных пользователей.
Используйте метод sort() для сортировки пользователей по возрасту.
Используйте метод map() для извлечения имён пользователей.

#домашка
👏42
CSS анимации текста при скролле

Смотреть на codepen 👨‍💻

#пратика
2👍2
7 веб-интерфейсов JavaScript для создания футуристичных сайтов

Читать статью 👨‍💻

#полезности
👍4
Какой тег используется для элементов навигации?
Anonymous Quiz
90%
nav
1%
div
1%
header
8%
navigation
👍1
Где брать заказы фрилансеру

Читать 👨‍💻

#фриланс
👍2
С помощью какого css свойства можно запретить перенос текста?
Anonymous Quiz
73%
white-space: nowrap
3%
white-space: pre
19%
word-wrap: break-word
5%
word-wrap: normal
👍7👏1
Макет для тренировки (EASYearn)
Средняя сложность. Лендинг и личный кабинет

Перейти к макету 🧑‍💻

#практика | #макет
👍1👏1
JS Задача: Объедините два массива по ID

Описание:
Учитывая два массива arr1 и arr2, верните новый массив joinedArray. Все объекты в каждом из двух входных массивов будут содержать поле id, которое имеет целочисленное значение.
joinedArray - это массив, сформированный путем объединения arr1 и arr2 на основе их идентификационного ключа.
Длина joinedArray должна быть равна длине уникальных значений id. Возвращаемый массив должен быть отсортирован в порядке возрастания на основе идентификационного ключа.
Если данный идентификатор существует в одном массиве, но не в другом, то единственный объект с таким идентификатором должен быть включен в результирующий массив без изменений.
Если два объекта имеют общий идентификатор, их свойства должны быть объединены в один объект:
Если ключ существует только в одном объекте, эта единственная пара ключ-значение должна быть включена в объект.
Если ключ включен в оба объекта, значение в объекте из arr2 должно переопределять значение из arr1.

Пример:
Input: 
arr1 = [
{"id": 1, "x": 1},
{"id": 2, "x": 9}
],
arr2 = [
{"id": 3, "x": 5}
]
Output:
[
{"id": 1, "x": 1},
{"id": 2, "x": 9},
{"id": 3, "x": 5}
]


#домашка
Какой селектор позволяет вам обратиться к каждому элементу веб-страницы?
Anonymous Quiz
10%
all
82%
*
3%
div
5%
.class
👍5
Создаём красивую кнопку загрузки с анимацией на CSS

Эффектная кнопка загрузки сделает ваш интерфейс более современным и приятным для пользователя. Вот простой способ её реализации:
HTML:
<button class="loading-button">
<span class="loading-text">Загрузка...</span>
<span class="spinner"></span>
</button>

.loading-button {
position: relative;
padding: 10px 20px;
font-size: 16px;
color: #fff;
background: #007bff;
border: none;
border-radius: 5px;
cursor: pointer;
overflow: hidden;
}
.spinner {
position: absolute;
top: 50%;
right: 10px;
width: 15px;
height: 15px;
border: 2px solid transparent;
border-top-color: #fff;
border-radius: 50%;
animation: spin 1s linear infinite;
transform: translateY(-50%);
}
@keyframes spin {
0% { transform: rotate(0deg) translateY(-50%); }
100% { transform: rotate(360deg) translateY(-50%); }
}


Теперь у вашей кнопки есть анимация загрузки, которая мгновенно привлекает внимание.

#какэтосделать
👍9
Как создавать динамические стили с помощью SCSS-циклов

SCSS-циклы упрощают работу с однотипными стилями, например, при задании разных цветов для элементов.

SCSS:
$button-colors: (primary: #3498db, success: #2ecc71, danger: #e74c3c);
.button {
@each $name, $color in $button-colors {
&--#{$name} {
background-color: $color;
color: #fff;
padding: 10px 20px;
border: none;
border-radius: 4px;
cursor: pointer;
}
}
}


Генерируемый CSS:
.button--primary {
background-color: #3498db;
color: #fff;
}
.button--success {
background-color: #2ecc71;
color: #fff;
}
.button--danger {
background-color: #e74c3c;
color: #fff;
}


#какэтосделать
Как использовать псевдокласс :has() для навигации

С помощью :has() можно улучшить UX меню. Например, сделать так, чтобы активный раздел подсвечивался, даже если вы находитесь на дочерней странице.

HTML:
<nav>
<ul>
<li><a href="/">Главная</a></li>
<li>
<a href="/blog">Блог</a>
<ul>
<li><a href="/blog/post1">Пост 1</a></li>
<li><a href="/blog/post2">Пост 2</a></li>
</ul>
</li>
</ul>
</nav>


CSS:
nav li:has(a.active) > a {
font-weight: bold;
color: #007bff;
}


Если на любой из дочерних страниц будет класс active, родительский пункт меню автоматически подсветится. Это полезно для сложных сайтов.

#какэтосделать
👍6
К каким элементам можно применить css св-во zoom?
Anonymous Quiz
27%
К картинкам
4%
К тексту
14%
К видео
55%
Ко всем элементам
👍2