25 CSS-трюков, которые должен знать каждый разработчик
1. Плавная прокрутка страницы
html {
scroll-behavior: smooth;
}
2. Стилизация внешних ссылок
a[href^="https"] {
color: dodgerblue;
}
3. Стилизация последующих элементов
h2 ~ p {
color: blue;
}
4. Стилизация элементов без определенного класса
li:not(.special) {
font-style: italic;
}
5. Адаптивный размер шрифта
h1 {
font-size: 5vw;
}
6. Центрирование элементов
.container {
display: grid;
place-items: center;
}
7. Увеличение размера элемента при наведении
button:hover {
transform: scale(1.05);
transition: transform 0.3s ease-in-out;
}
8. Кастомный курсор
button {
cursor: url('custom-cursor.png'), auto;
}
9. Настройка параметров шрифта
body {
font-family: 'Inter', sans-serif;
font-variation-settings: 'wght' 700, 'wdth' 75;
}
10. Ограничение текста определенным количеством строк
p {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 3;
overflow: hidden;
}
11. Настройка внешнего вида полосы прокрутки
::-webkit-scrollbar {
width: 10px;
}
::-webkit-scrollbar-thumb {
background-color: darkgrey;
border-radius: 10px;
}
::-webkit-scrollbar-track {
background-color: lightgrey;
}
12. Автоматическое выравнивание колонок
.container {
display: flex;
}
.column {
flex: 1;
}
13. Закрепление фонового изображения при прокрутке
.hero {
background-image: url('background.jpg');
background-attachment: fixed;
background-size: cover;
}
14. Создание сложных макетов с использованием Grid
.container {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 20px;
}
15. Предпочтение цветовой схемы
:root {
--bg-color: white;
--text-color: black;
}
@media (prefers-color-scheme: dark) {
:root {
--bg-color: black;
--text-color: white;
}
}
body {
background-color: var(--bg-color);
color: var(--text-color);
}
16. Создание контура вокруг текста
h1 {
-webkit-text-stroke: 2px black;
color: white;
}
17. Закрепление элемента при прокрутке
header {
position: sticky;
top: 0;
background-color: white;
z-index: 1000;
}
18. Градиентные границы
button {
border: 5px solid transparent;
background-image: linear-gradient(to right, red, blue);
background-clip: border-box;
border-radius: 10px;
}
19. Создание элемента сложной формы
div {
clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
background-color: teal;
}
20. Масштабирование изображений в контейнерах
img {
width: 100%;
height: 100%;
object-fit: cover;
}
21. Расстояние между текстом и линией подчеркивания
.nav-link:hover {
text-decoration: underline 2px solid green;
text-underline-offset: 6px;
}
22. Сокращенное свойство для задания положения элемента
.positioned-element {
inset: 5px 3px 1px 4px;
}
23. Контроль отображаемой части изображения
.image {
height: 350px;
width: 500px;
object-fit: cover;
object-position: center bottom;
}
24. Отступ сверху при прокрутке к элементу
#section-header {
scroll-margin-top: 100px;
}