Перевод статьи «10 Helpful CSS Tips».
В этой статье вы найдете 10 маленьких приемов, которые могут пригодиться вам в ваших проектах.
1. Плавная прокрутка
Когда вы заходите на разные хорошие сайты и пользуетесь прокруткой для перехода к следующему разделу, контент прокручивается плавно. Достичь такого эффекта можно при помощи одной строчки CSS.
Примечание: в Safari это не сработает!
html { scroll-behavior: smooth; }
See the Pen Smooth Scrolling by mrwolferinc (@mrwolferinc) on CodePen.
2. Предотвращаем изменение размера <textarea>
При помощи свойства resize
можно помешать изменению размера элемента <textarea> (или ограничить его изменением только по одной оси).
textarea.no-resize { resize: none; } textarea.horizontal-resize { resize: horizontal; } textarea.vertical-resize { resize: vertical; }
See the Pen Prevent <textarea> Resize by mrwolferinc (@mrwolferinc) on CodePen.
3. Буквица
В начале абзаца можно добавить буквицу. Это делается при помощи псевдоэлемента ::first-letter
.
::first-letter { font-size: 250%; }
See the Pen Drop Cap by mrwolferinc (@mrwolferinc) on CodePen.
4. Эффект тени
Чтобы создать эффект тени для прозрачных изображений, можно использовать drop-shadow()
. Результат получится лучшим, чем при использовании свойства box-shadow
.
img { filter: drop-shadow(0 0 3px #000); }
See the Pen Drop Shadow by mrwolferinc (@mrwolferinc) on CodePen.
5. Центрирование любого элемента <div>
Порой бывает сложно отцентрировать элемент <div> на странице, но этот совет вам поможет. Потребуется лишь несколько строк CSS-кода.
body { display: grid; place-items: center; }
See the Pen Center Any <div> Element by mrwolferinc (@mrwolferinc) on CodePen.
6. Цвет курсора в поле ввода
При помощи свойства caret-color
можно изменить цвет курсора.
input { caret-color: red; }
See the Pen Input Caret Color by mrwolferinc (@mrwolferinc) on CodePen.
7. Запрет выделения
При помощи свойства user-select
можно защитить элемент от выделения пользователем.
.no-highlight { -webkit-user-select: none; -moz-user-select: none; user-select: none; }
See the Pen Prevent Highlighting by mrwolferinc (@mrwolferinc) on CodePen.
8. Диапазон ввода
Псевдоклассы :in-range
и :out-of-range
не слишком известны, но они могут помочь в валидации элемента <input>, текущее значение которого не должно выходить за определенные рамки. Сами рамки задаются при помощи атрибутов min
и max
.
input:in-range { background: rgba(0, 255, 0, .25); } input:out-of-range { background: rgba(255, 0, 0, .25); }
See the Pen Input Range Pseudo-Classes by mrwolferinc (@mrwolferinc) on CodePen.
9. Перекрытие изображения
При помощи свойства object-fit
можно сделать перекрытие изображения. Это может пригодиться при создании hero image на вашем сайте.
.image-overlay img:only-of-type:nth-child(1) { object-fit: cover; opacity: .4; }
See the Pen Image Overlay by mrwolferinc (@mrwolferinc) on CodePen.
10. Свойство transition
Вероятно, это свойство вам знакомо. Но знаете ли вы, что с его помощью можно анимировать элементы без использования ключевых кадров (keyframes)? Свойство transition позволяет определять переход между двумя состояниями элемента. Используется этот прием, в основном, для анимаций при наведении мыши.
a { color: #0d6efd; text-decoration: none; -webkit-transition: .15s ease-in-out; -moz-transition: .15s ease-in-out; transition: .15s ease-in-out; } a:hover { color: #0a58ca; }
See the Pen The transition Property by mrwolferinc (@mrwolferinc) on CodePen.
[customscript]techrocks_custom_after_post_html[/customscript]
[customscript]techrocks_custom_script[/customscript]