Создавать стили с помощью CSS — это здорово, но улучшать код и применять некоторые хитрости еще лучше. В этой статье я расскажу о некоторых советах и рекомендациях по CSS, которые вы можете применить, поделиться ими с товарищами по команде и улучшить свои проекты.
Избегайте оператора @import для шрифтов
Использование правила @import позволяет нам импортировать одну таблицу стилей в другую, но в некоторых случаях это утверждение неверно. Например, если нам нужно импортировать тот же класс на одну страницу с другой страницы, этот метод подойдет, но в случае со шрифтами это неправильный путь. Когда мы импортируем из CDN, этот импорт занимает много времени, чтобы попасть на наш веб-сайт, а затем использовать
<link rel="stylesheet" href="cdn.com/font/font1.css?family=shield:wght@300;400;600&display=swap" />
Оптимизируйте размеры файлов
Когда вы заканчиваете проект, слишком большой размер ваших файлов — плохая практика, перегруженность веб-сайта должна снизить ваши шансы удержать пользователя на странице. Вам нужно позаботиться об уменьшении каждого отдельного файла, такого как CSS, JS, изображения, видео и т. д. Вот несколько инструментов, которые вы можете использовать для уменьшения файлов:
Избегайте чрезмерной анимации
Анимация. Конечно, дайте мне 15 анимаций, когда страница завершится, чтобы загрузить и увидеть баннер, скользящий справа, эффект отскока для слов в заголовке, да, это так здорово создавать анимацию.
Это было моим первым намерением во втором проекте, когда я изучал анимацию. Но это было ужасно. Серьезно, все мои усилия по созданию хороших анимаций пошли прахом, когда сайт закончил загрузку за 2 минуты до этого, и некоторые анимации мешали пользователю. Каждая страница должна иметь анимацию, но в более низком масштабе, простые анимации, такие как состояние наведения на кнопку для отправки или когда вы наводите курсор на карточку и показываете больше информации. Помните, меньше значит больше.
Инструменты для вашего CSS
Очевидно, что советы должны включать некоторые инструменты для улучшения нашей работы и ускорения доставки всего. Я дам вам список некоторых веб-сайтов, которые я посещаю, когда начинаю новый проект или редизайн проекта.
- Coolors: этот веб-сайт невероятен, мне очень нравится, как вы можете комбинировать цвета, просто нажав
- Fontshare: вы должны использовать Google Fonts в качестве основного шрифта CDN, но на этом веб-сайте есть большой список новых шрифтов, которые вы можете использовать бесплатно.
- Loading.io: Если вы пытаетесь сделать код загрузки анимации, не ищите больше, вот лучший инструмент для этого.
- Animate.css: если у вас нет всех идей для создания хорошей анимации, просто проверьте эту библиотеку для своего проекта и установите ее наилучшим образом.
- Справочник по CSS: если вы забыли псевдоклассы, как я, это лучший способ запомнить
трюки
Когда следует использовать проценты вместо абсолютных чисел?
Адаптивный дизайн — главный герой сайта. Вы должны понимать, когда следует использовать проценты или области просмотра, а когда использовать rem
, px
или em
.
Я вам скажу, что это очень просто: для изображений, фона и столбцов вы должны использовать проценты или ширину области просмотра, чтобы реагировать на ширину элемента и px
для высоты, но обычно высота должна быть автоматической только в если дизайн имеет точный дизайн, как обычно бывает в карточках, и в некоторых разделах вы должны установить максимальную высоту с px
, rem
или em
, но обычно px
.
А для текстовых тегов, таких как H1, H2, H3, small, p и т. д., вы можете использовать px или rem. Очень просто.
Подсказки
Иногда нам нужно обернуть некоторую информацию об описании, всплывающей подсказке или чем-то подобном, и здесь появляется всплывающая подсказка. Обычно мы используем библиотеку стилей, такую как Tailwind или Bootstrap, но вы можете сделать ее с помощью нескольких строк CSS и HTML и создайте собственный стиль для своего проекта.
Во-первых, мы определяем наш HTML
<div class="container"> <div class="group"> <h2>Tooltip</h2> <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Soluta animi corporis ducimus, unde quae iste! Quo facilis labore sint! Explicabo repudiandae ad beatae ab eos officiis deleniti quisquam at consequatur.</p> <span class="tooltip"> <i class="fa fa-exclamation-circle"></i> <div class="tooltip-box"> <p>This is a tooltip for the text or product</p> </div> </span> </div> </div>
В этом случае я буду использовать Fontawesome для значка, так что вы можете использовать для этого CDN. Как вы можете видеть на примере, я создаю контейнер и внутри него я добавил div
с классом group
, но важным элементом здесь является span с всплывающей подсказкой класса. Но давайте сначала посмотрим на CSS.
* { margin: 0; padding: 0; box-sizing: border-box; } body { background-color: #3c19c7; min-height: 100vh; font-family: 'Rubik', sans-serif; }
В первую очередь нам нужно сбросить стили из браузера
.container { width: 95%; max-width: 1200px; margin: 0 auto; display: flex; height: 100vh; align-items: center; justify-content: center; } .group { max-width: 400px; background-color: #fff; border-radius: 12px; box-shadow: 1px 2px 8px 4px rgba(32, 12, 113,.2); padding: 12px 20px; position: relative; }
Контейнер должен иметь установленную максимальную ширину, чтобы сохранить порядок примера, а группа представляет собой обычный раздел карты, но с другим именем.
.tooltip { cursor: pointer; } .tooltip-box { display: none; position: absolute; background-color: #b3cb27; box-shadow: 1px 2px 8px 6px rgba(149, 149, 149, 0.2); border-radius: 4px; transition: all .4s ease; padding: 6px 10px; top: 100%; left: -50%; } .tooltip-box::after { content: ''; position: absolute; width: 12px; height: 12px; transform: rotate(135deg); background-color: #b3cb27; top: -6px; right: 65px; }
Теперь вы бы сказали: «Да ладно, это несколько строк? Я предпочитаю использовать библиотеку для этой простой всплывающей подсказки», и вы были правы, но если вы начинаете программировать и создаете какие-то новые классные вещи или, возможно, практикуете некоторые приемы CSS, это для вас, но позвольте мне сказать вам кое-что, лучше знать вас может сделать эту нестандартную вещь, чем использовать библиотеку, и это может быть головной болью, чтобы изменить простой фон или изменить позиционирование. Иногда хорошо использовать чужой код, но если вы можете сделать простую вещь и сэкономить время позже, просто сделайте это.
Очевидно, код можно улучшить, но он будет работать на вас и кое-что изменит.
Тень окна CSS
Простой трюк с тенями: никогда не используйте черный цвет в качестве основного цвета для теней. И наоборот, для света это не использование белого цвета для всех, это зависит от фона, с которым вы должны работать. Например:
В данном случае я не использовал черный или темный цвет, я взял фоновый цвет и немного изменил его на более темный цвет, применил непрозрачность и готово. Вы создаете качественный раздел для своего проекта.
Используйте переменные
Научитесь использовать переменные, и вы сэкономите время. Я никогда не использовал переменные, пока не взялся за большой проект, и CSS был в беспорядке. Поэтому мне потребовалось время, чтобы решить проблемы, но использование переменных для цветов, радиуса границы и других вещей, которые вы будете использовать каждый раз, будет лучшим.
:root { --border-radius: 12px; } .group { max-width: 400px; background-color: #fff; border-radius: var(--border-radius); box-shadow: 1px 2px 8px 4px rgba(32, 12, 113,.2); padding: 12px 20px; position: relative; }
::до и ::после содержимого
Как вы можете видеть в примерах до того, как я использовал псевдоэлемент::after
, чтобы создать маленький гвоздь для всплывающей подсказки. Использование этих псевдоэлементов может дать вам варианты дизайна не только для таких простых вещей, как эта, но и для добавления продвинутой анимации для элементов. Скрыть и показать ::before
и::after
это отличный инструмент.
Вот несколько советов из части приемов CSS, которыми я хочу поделиться с вами в ближайшие недели. Все еще практикуюсь и делаю новые вещи с CSS.