text-overflow в CSS и зачем оно используется?text-overflow управляет тем, как обрезается текст, выходящий за пределы блока. Оно работает вместе с overflow: hidden и white-space: nowrap, чтобы отображать, например, троеточие.<div class="truncate">Очень длинный текст, который не помещается</div>
<style>
.truncate {
width: 200px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
border: 1px solid #ccc;
}
</style>
...), не выходя за рамки блока. Это удобно для заголовков, превью и адаптивных карточек в UI.CodeBase | Frontend | #CSS
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
Неизвестно полезный CSS
Неважно, верстаете ли вы сайт для малого бизнеса или создаёте супермодное React приложение. Здесь собраны фишки CSS, которые пригодятся каждому. Что-то, возможно, вы уже знаете, но наверняка тут найдётся для вас что-то новенькое.
В этой подборке про вертикальный текст, clip-path, контрастность текста и не только.
Кстати, это уже 6 подборка советов, остальные вы найдёте в конце статьи.
CodeBase | Frontend | #CSS
Неважно, верстаете ли вы сайт для малого бизнеса или создаёте супермодное React приложение. Здесь собраны фишки CSS, которые пригодятся каждому. Что-то, возможно, вы уже знаете, но наверняка тут найдётся для вас что-то новенькое.
В этой подборке про вертикальный текст, clip-path, контрастность текста и не только.
Кстати, это уже 6 подборка советов, остальные вы найдёте в конце статьи.
CodeBase | Frontend | #CSS
👍6❤2🔥2
Свойство
flex-grow определяет, как свободное пространство внутри контейнера делится между дочерними элементами. Оно задаёт коэффициент роста: чем больше значение, тем больше элемент занимает места.
<div class="container">
<div class="item item1">1</div>
<div class="item item2">2</div>
<div class="item item3">3</div>
</div>
<style>
.container {
display: flex;
width: 300px;
border: 1px solid #ccc;
}
.item {
padding: 10px;
color: white;
}
.item1 { flex-grow: 1; background: #007bff; }
.item2 { flex-grow: 2; background: #28a745; }
.item3 { flex-grow: 1; background: #dc3545; }
</style>
CodeBase | Frontend | #CSS
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤3✍1
position: sticky в CSS и зачем оно используется?position: sticky фиксирует элемент внутри его родителя, когда он достигает определённого положения при прокрутке.Это удобно для заголовков, меню и панелей, которые должны оставаться на виду при скролле.
<div class="section">
<h2 class="sticky-title">Заголовок</h2>
<p>Контент...</p>
</div>
<style>
.section {
height: 1500px;
padding: 20px;
}
.sticky-title {
position: sticky;
top: 0;
background: white;
padding: 10px;
border-bottom: 1px solid #ccc;
}
</style>
.section.CodeBase | Frontend | #CSS
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥2❤1🥰1
Сайтом можно пользоваться не только с использованием мышки, но и при помощи клавиатуры. При переключении клавишей Tab элементу добавляется псевдокласс
:focus, и мы можем задать для него красивые стили.a:focus {
outline: 2px solid hotpink;
}CodeBase | Frontend | #css
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Свойство
box-sizing в CSS определяет, как вычисляются размеры элемента, включая его отступы и границы. Оно позволяет контролировать, включаются ли padding и border в общую ширину и высоту элемента.<style>
.box {
width: 200px;
padding: 20px;
border: 5px solid black;
}
.content-box {
box-sizing: content-box; /* значение по умолчанию */
}
.border-box {
box-sizing: border-box;
}
</style>
<div class="box content-box">
Content-box: ширина 200px + padding 20px + border 5px
</div>
<div class="box border-box">
Border-box: общая ширина 200px, включая padding и border
</div>
content-box) ширина элемента составляет 200px, но с учетом padding и border общая ширина увеличивается до 250px. Во втором случае (border-box) общая ширина элемента остается 200px, так как padding и border включены в эту ширину.Использование box-sizing: border-box; упрощает расчет размеров элементов и предотвращает неожиданные изменения макета при добавлении отступов и границ.
CodeBase | Frontend | #css
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Свойство
position: sticky позволяет элементу переключаться между относительным и фиксированным позиционированием в зависимости от его прокрутки. Оно фиксирует элемент в определённой точке, пока его родительский контейнер находится в пределах видимости.<div class="container">
<h2 class="sticky-header">Я остаюсь на месте!</h2>
<p>Содержимое...</p>
<p>Содержимое...</p>
<p>Содержимое...</p>
</div>
<style>
.container {
height: 200px;
overflow: auto;
border: 1px solid black;
}
.sticky-header {
position: sticky;
top: 0; /* Фиксирует элемент у верхнего края контейнера */
background-color: lightblue;
padding: 10px;
}
</style>
.sticky-header остаётся на месте, пока пользователь прокручивает содержимое контейнера. Как только прокрутка выходит за пределы контейнера, элемент снова становится относительным.Свойство sticky удобно для создания фиксированных заголовков таблиц, меню и других интерфейсных элементов, которые должны оставаться видимыми в пределах их контейнера.
CodeBase | Frontend | #css
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
z-index управляет порядком наложения элементов на странице. Чем больше значение — тем "выше" элемент расположен относительно других.Работает только с элементами, у которых задано
position (relative, absolute, fixed или sticky).<div class="box box1">Позади</div>
<div class="box box2">Поверх</div>
<style>
.box {
position: absolute;
width: 200px;
height: 100px;
color: white;
padding: 10px;
}
.box1 {
background: #888;
top: 50px;
left: 50px;
z-index: 1;
}
.box2 {
background: #e74c3c;
top: 80px;
left: 80px;
z-index: 2;
}
</style>
.box2 перекрывает .box1, потому что у неё z-index: 2.CodeBase | Frontend | #CSS
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤2🔥1
Свойство
object-fit управляет тем, как изображение или видео вписывается в контейнер.Аналог
background-size, но для тега <img> и <video>.<div class="wrapper">
<img src="image.jpg" alt="пример">
</div>
<style>
.wrapper {
width: 300px;
height: 200px;
overflow: hidden;
}
img {
width: 100%;
height: 100%;
object-fit: cover;
}
</style>
CodeBase | Frontend | #CSS
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Свойство
overflow управляет тем, как отображается контент, выходящий за границы блока.Оно определяет, будет ли контент обрезан, прокручен или показан полностью.
<div class="box">
Очень длинный текст, который выходит за пределы блока.
</div>
<style>
.box {
width: 200px;
height: 60px;
overflow: auto;
border: 1px solid #ccc;
}
</style>
visible, hidden, scroll, auto.CodeBase | Frontend | #CSS
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍2
box-shadow используются для создания теней, но работают по-разному. box-shadow применяется к блочным элементам и создает тень вокруг их рамки. Тень может быть смещена, размыта и изменена по цвету..box {
box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.5);
}filter: drop-shadow() применяется к содержимому элемента, включая прозрачные области, такие как текст или изображения с альфа-каналом. Тень повторяет форму содержимого..element {
filter: drop-shadow(5px 5px 10px rgba(0, 0, 0, 0.5));
}Основное отличие:
box-shadow работает с рамкой элемента, а drop-shadow учитывает форму содержимого, включая прозрачные части.CodeBase | Frontend | #CSS
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤1
inline, block и inline-block.span, a) занимают только необходимое пространство, не создают разрывов строки до и после себя. Нельзя задавать ширину, высоту или вертикальные отступы.div, p) занимают всю доступную ширину, начинаются с новой строки и поддерживают задание ширины, высоты, отступов.CodeBase | Frontend | #CSS
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
will-change — это CSS-свойство, которое указывает браузеру, какие свойства элемента могут измениться в будущем, позволяя заранее оптимизировать рендеринг.
.element {
will-change: transform, opacity;
}
Использовать его стоит только для элементов, анимация или изменение которых вызывает заметные лаги. Чрезмерное применение
will-change увеличивает потребление памяти, поэтому его следует включать непосредственно перед анимацией и отключать после.CodeBase | Frontend | #CSS
👍3🔥2👏1