Логово верстальщика – Telegram
Логово верстальщика
8.04K subscribers
996 photos
48 videos
4 files
1.71K links
Канал для верстальщиков с инфой о HTML и CSS, а так же JavaScript на уровне верстальщиков.

Канал на бирже - https://telega.in/c/webdevlair

По вопросам рекламы или разработки: @g_abashkin
Download Telegram
👩‍💻 Две мощные техники: CSS Reset и normalize.css

В современной веб-разработке CSS сброс и нормализация — две важные техники, позволяющие добиться согласованности стилей в разных браузерах.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Использование CSS анимации, основанной на прокрутке, для индикации прогресса прокрутки на основе секций

Индикатор прогресса прокрутки — довольно простая вещь, которую можно создать с помощью анимации, основанной на прокрутке в scroll()-стиле. Но мы создадим индикаторы для каждого раздела страницы, используя view()-стиль.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Новый оператор безопасного присваивания в JavaScript: ?=

В современной разработке на JavaScript для асинхронной работы и обработки ошибок часто применяются try-catch и async-await, что утяжеляет код. Новый оператор ?= упрощает обработку ошибок и улучшает читаемость. В статье рассматриваются его работа, особенности и преимущества.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 String ends with?

Завершите решение так, чтобы оно возвращало значение true, если переданный первый аргумент (строка) заканчивается 2-м аргументом (также строкой).

Пример кода:

solution('abc', 'bc') // returns true
solution('abc', 'd') // returns false


Решение задачи🔽

function solution(str, ending) {
return ending === '' || str.slice(-ending.length) === ending;
}

// Примеры использования
console.log(solution('abc', 'bc')); // возвращает true
console.log(solution('abc', 'd')); // возвращает false
console.log(solution('abc', '')); // возвращает true
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 7 полезных HTML-трюков для веб-разработчиков

Представляем семь HTML-приемов, которые помогут вам создавать более удобные и привлекательные сайты, улучшая взаимодействие с пользователями.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Hover Glyph Button

Кнопка с анимированным эффектом при наведении. Сделана на CSS, SVG и JavaScript.

Открыть код...
Please open Telegram to view this post
VIEW IN TELEGRAM
✔️ Практические советы по доступности, которые можно внедрить сегодня

Часто, спеша завершить проект, мы создаём элементы интерфейса, не думая о доступности. Однако небольшие изменения могут значительно улучшить опыт пользователей. Доступность — это не сложная задача, а способ сделать продукт удобным для всех, независимо от их навыков и устройств.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Создание анимации орбиты с помощью CSS переменных

Давайте анимируем CSS переменные! Это мощный способ применения CSS анимации, которая в противном случае была бы утомительной или непрактичной.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Check Done SVG Animated

Красиво анимированная галочка. Сделана на SVG и SCSS.

Открыть код
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Практические советы по доступности, которые можно применить сегодня

Иногда, спеша уложиться в сроки, мы не задумываемся о доступности. Но пара небольших изменений может значительно улучшить сайт для всех пользователей, независимо от их возможностей и устройств.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
1
👩‍💻 Создание навигации с «плавающим» фоном ссылок на чистом CSS

Если у вас есть аккаунт на Vercel, вы, наверное, замечали, как плавно фон ссылок в панели навигации перемещается, следуя за курсором мыши. Такого эффекта несложно добиться с помощью CSS и нескольких строчек JS. Однако, интереса ради, я решил попробовать добиться похожего эффекта на чистом CSS.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
⬇️ Бесконечная прокрутка логотипов на чистом HTML и CSS

Помните HTML-элемент marquee? Он устарел, поэтому вряд ли стоит его использовать, когда понадобится что-то вроде горизонтальной автопрокрутки. Вот тут-то и приходит на помощь CSS, потому что в нём есть все необходимые инструменты для реализации этой функции.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Анимация элемента dialog

Казалось бы, можно просто установить в CSS transition от 0 к 1 для opacity элемента dialog, но это не работает. Необходимо изучить @starting-style, а также ключевые слова overlay и allow-discrete.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Реализация глубокого копирования объекта

Напишите функцию deepClone, которая создает глубокую копию объекта. Глубокая копия означает, что вложенные объекты и массивы также должны быть скопированы, а не переданы по ссылке. Функция должна корректно работать с вложенными структурами данных и массивами.

Пример кода:

const obj = { 
name: "Alice",
info: { age: 25, hobbies: ["reading", "swimming"] }
};
const copy = deepClone(obj);

console.log(copy); // { name: "Alice", info: { age: 25, hobbies: ["reading", "swimming"] } }
copy.info.age = 30;
console.log(obj.info.age); // 25 (изменение не повлияло на оригинальный объект)


Решение задачи🔽

function deepClone(obj) {
if (obj === null || typeof obj !== 'object') {
return obj;
}

if (Array.isArray(obj)) {
return
obj.map(deepClone);
}

const clone = {};
for (let key in obj) {
if (obj.hasOwnProperty(key)) {
clone[key] = deepClone(obj[key]);
}
}
return clone;
}

// Примеры использования
const obj = {
name: "Alice",
info: { age: 25, hobbies: ["reading", "swimming"] }
};
const copy = deepClone(obj);

console.log(copy); // { name: "Alice", info: { age: 25, hobbies: ["reading", "swimming"] } }
copy.info.age = 30;
console.log(obj.info.age); // 25 (изменение не повлияло на оригинальный объект
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡️ Как развернуть Supabase в облаке Timeweb Cloud

В статье расскажем, как Supabase — бесплатный аналог Google Firebase — помогает разработчикам быстро создавать приложения и сайты. Узнаете, как работать с базой данных, аутентификацией, хранением файлов и реальным временем, без необходимости управлять сервером.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
🔍 Maskito: то, что вы давно искали

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Что, если использовать контейнерные единицы измерения для... всего

Однажды я спросил себя: а что, если использовать контейнерные единицы измерения для каждого элемента дизайна? Я задался этим вопросом, отчасти потому, что мне показалось, что ответ может быть таким: ну, тогда всё будет очень хорошо масштабироваться!

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Тест по CSS

Какой цвет будет у текста в элементе <p>, если у родителя <div> установлен цвет color: red;, а у самого элемента <p> указано свойство color: inherit;?

<div style="color: red;">
<p style="color: inherit;">Текст</p>
</div>
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Как прослушивать несколько событий в веб-компоненте

Сегодня поговорим о том, как использовать handleEvent() для обработки нескольких типов событий.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM