Web Мастерская»Блог

Сообщество Web Мастеров. Тут собрано всё, чтобы написать свой первый сайт, запустить его в Интернет и поддерживать его в течении всей его работы.

CSS: Как сделать переливающийся бордюр

CSS
Чтобы сделать так, чтобы бордюр (граница) элемента плавно менял цвета, можно использовать CSS-анимацию и свойства градиента. Вот несколько способов реализации этого эффекта:

Использование анимации и градиента


Если хотите, чтобы граница плавно менялась между двумя цветами, можно использовать линейный градиент и анимацию:
<!DOCTYPE html>
<html lang="ru">
<head>
    <meta charset="UTF-8">
    <title>Меняющийся бордюр</title>
    <style>
        .border-animated {
            width: 200px;
            height: 200px;
            margin: 50px auto;
            box-shadow: inset 0 0 0 3px transparent; /* внутренняя рамка */
            animation: border-change 5s infinite alternate;
        }

        @keyframes border-change {
            0% {
                box-shadow: inset 0 0 0 3px rgba(255, 0, 0, 1); /* красный */
            }
            100% {
                box-shadow: inset 0 0 0 3px rgba(0, 0, 255, 1); /* синий */
            }
        }
   
...

JS: Отличие переменных с $ вначале и без него?

В JavaScript наличие символа $ в начале имени переменной не имеет никакого особого значения для языка. Сам JavaScript рассматривает переменные с префиксом $ так же, как и любые другие переменные.

Почему программисты используют $?


Префикс $ чаще всего используется для соблюдения соглашения о стиле кодирования и улучшения читаемости кода. Вот несколько распространённых причин, почему разработчики добавляют $ к именам переменных:
  1. DOM-объекты: Традиционно переменные, содержащие ссылки на элементы DOM (Document Object Model), называют с префиксом $, чтобы подчеркнуть, что они ссылаются на DOM-объекты.

    Пример:
    const $header = document.querySelector('header');
    const $button = document.getElementById('submit-btn');
  2. Обозначения jQuery-оберток: В jQuery традиционно переменные, содержащие обернутые элементы jQuery, обозначаются с префиксом $, чтобы напомнить, что переменная содержит jQuery-коллекцию.

    Пример:
    const $btn = $('#submit-btn');
  3. Чистая конвенция: Иногда префикс $ используется просто как
...

Gulp

Gulp — это мощный и гибкий инструмент автоматизации задач (task runner) для фронтенд-разработки, написанный на JavaScript и работающий на платформе Node.js. Gulp позволяет автоматизировать рутинные задачи, такие как сборка проектов, минификация и оптимизация кода, оптимизация изображений, конкатенация файлов, компиляция препроцессоров CSS (Sass, Less) и многое другое.

Основные преимущества Gulp


  • Простота и удобство: задачи в Gulp описаны простыми JavaScript-функциями, что делает их легкими для понимания и модификации.
  • Гибкость: возможность комбинировать плагины и настраивать конвейеры обработки файлов.
  • Экосистема плагинов: огромная экосистема плагинов, позволяющая решать любые задачи фронтенд-разработки.
  • Производительность: асинхронное выполнение задач, параллельное выполнение заданий и кэширование предыдущих процессов.

Как работает Gulp


  1. Установка: установить Gulp и зависимые пакеты через npm (Node Package Manager).
  2. Конфигурация: создать файл gulpfile.js, в котором будут описаны задачи и
...

Gulp: Плагин "gulp-imagemin"

gulp-imagemin — это мощный плагин для Gulp, предназначенный для автоматической оптимизации изображений, уменьшая их размер без ощутимой потери качества. Он поддерживает множество форматов изображений, таких как JPEG, PNG, GIF и SVG, и позволяет значительно сократить размер файлов, улучшая производительность веб-сайта.

Основные возможности gulp-imagemin


  • Автоматическое сжатие изображений: уменьшается размер файлов за счет удаления ненужных метаданных и оптимизации внутренних данных.
  • Поддержка популярных форматов: оптимизирует изображения в форматах JPEG, PNG, GIF и SVG.
  • Простота интеграции: легко интегрируется в конвейер сборки Gulp.
  • Масштабируемость: может оптимизировать сотни изображений за один прогон.

Установка gulp-imagemin


Для начала нужно установить Gulp и сам плагин:
npm install --save-dev gulp gulp-imagemin

Пример использования


Пример простого Gulp-таска для оптимизации изображений:
const gulp = require('gulp');
const imagemin = require('gulp-imagemin');

// Задача для оптимизации
...

Работа с изображениями на сайте

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



Форматы изображений


Выбор правильного формата изображения напрямую влияет на скорость загрузки страницы и качество отображения.

Основные форматы:
  • GIF: Формат, поддерживающий анимацию и прозрачность. Несмотря на невысокое качество и большие размеры файлов, GIF по-прежнему популярен для создания анимированных баннеров и мемов.
  • JPG / JPEG: хорошо сжимает фотографии, сохраняя приемлемое качество. Подходит для фотографий и сложных изображений.
  • PNG: сохраняет прозрачность и поддерживает прозрачный фон. Лучше всего использовать для иконок, логотипов и графических элементов.
  • SVG: векторный формат, идеально подходит для иконок и рисунков,
...