Підкреслення, закреслення тексту CSS: властивість text-decoration

0 Comments

Використовуючи властивість CSS text-decoration, можна додавати додаткові ефекти тексту, такі як підкреслення, закреслення, миготіння. Нижче наведено таблицю з допустимими значеннями та їх описом.

ЗначенняЩо робить
underlineНижнє підкреслення тексту
overlineВерхнє підкреслення тексту
line-throughЗакреслення тексту
blinkМиготіння тексту
noneВидалення всіх ефектів
inheritНаслідування значень батька

Застосовуючи властивість text-decoration в CSS, слід дотримуватися почуття міри та деякі рекомендації. Перед використанням underline не для гіперпосилання переконайтеся, що текст на веб-сторінці не буде схожий на неї. Багато користувачів сприймають підкреслений текст як посилання. Щоб гнучкіше налаштувати стиль і мати можливість змінювати товщину, вигляд і колір смуги підкреслення, можна використовувати властивість border (докладніше про нього ми говоритимемо трохи пізніше).

Якщо ви бажаєте усунути стандартне підкреслення гіперпосилання в браузері, скористайтеся значенням none .

Значення blink (миготіння тексту) хоч і внесено до таблиці, на даний момент не підтримується браузерами.

Скриншот із прикладами використання стилю:

Скріншот: використання властивості text-decoration

Далі у підручнику: встановлення тіні для тексту за допомогою властивості CSS text-shadow.

Підкреслення, закреслення тексту CSS: властивість text-decoration - Istoriya.v.ua

CSS Text Decoration – модуль CSS, який визначає можливості, що стосуються оформлення тексту, такі як підкреслення, тінь тексту та позначки виділення.

Довідка

Властивості

  • text-decoration
  • text-decoration-color
  • text-decoration-line
  • text-decoration-skip-ink
  • text-decoration-style
  • text-decoration-thickness
  • text-emphasis
  • text-emphasis-color
  • text-emphasis-position
  • text-emphasis-style
  • text-shadow
  • text-underline-offset
  • text-underline-position

Приклади

.under < text-decoration: underline red; >.over < text-decoration: wavy overline lime; >.line < text-decoration: line-through; >.plain < text-decoration: none; >.underover < text-decoration: dashed underline overline; >.thick < text-decoration: solid underline purple 4px; >.blink

Цей текст підкреслено.

Цей текст має лінію згори.

Цей текст перекреслено.

Це посилання не буде підкреслено, як усі посилання за замовчуванням. Будьте обережні, коли видаляєте підкреслення у посилань, т.к. для користувачів нижнє підкреслення часто означає гіперпосилання.

У цьому прикладі лінії знаходяться над і під текстом.

Цей текст підкреслено жирною лінією, якщо ваш браузер це підтримує.

Цей текст може моргати, якщо ваш браузер підтримує це.

Специфікації

Підкреслення, закреслення тексту CSS: властивість text-decoration - Istoriya.v.ua

HTML має кілька тегів, які допомагають звернути увагу на текст — підкреслити, виділити його або акцентувати на чомусь увагу. У таких тегів є стандартні стилі, і до деяких з них ми давно звикли.

Уривки тексту з виділенням за замовчуванням

Але за допомогою text-decoration можна навіть підкреслити зверху (що? так!). Давайте розберемося, як це зробити.

Властивість text-decoration

  • line-through – закреслення посередині тексту;
  • overline – надкреслення, над текстом;
  • underline – підкреслення, під текстом;
  • none – не використовується декор;
  • inherit – успадковується.

Наприклад, властивість для підкресленого тексту записується просто як

text-decoration – це скорочена форма запису для набору CSS-властивостей text-decoration-line, text-decoration-color, text-decoration-style і text-decoration-thickness. Перелічені властивості використовуються для більш тонкого настроювання параметрів підкреслення.

text-decoration-line

text-decoration-line відповідає за тип лінії: підкреслено, перекреслено, без підкреслення, підкреслення над текстом, а не під ним.

text-decoration-line: underline; /* Звичайне підкреслення */ 
text-decoration-line: line-through; /* текст перекреслено */ 
text-decoration-line: overline; /* підкреслення тексту */ 

text-decoration-line може набувати відразу кілька значень, наприклад, text-decoration-line: underline line-through; . У цьому випадку текст буде підкреслювати і закреслювати.

text-decoration-color

text-decoration-color керує кольором підкреслення. За замовчуванням він, тобто колір підкреслення, збігається із кольором тексту.

 .red-line 

Червона пунктирна лінія

text-decoration-style

Стиль лінії (суцільна, хвиляста, крапками, тире та інші) налаштовується через CSS-властивість text-decoration-style .

  • solid – звичайна суцільна лінія;
  • double – подвійна лінія;
  • dotted – пунктирна лінія (пунктир із точок);
  • dashed теж пунктирна лінія, але пунктир з коротких ліній;
  • wavy – хвиляста лінія.

text-decoration-thickness

text-decoration-thickness задає товщину лінії.

text-decoration-thickness: 5px; 

text-underline-offset

Донедавна зовнішнім виглядом підкреслення керували лише ці чотири CSS-властивості (text-decoration-line, text-decoration-color, text-decoration-style і text-decoration-thickness). Але були ситуації, коли перерахованих властивостей було недостатньо.Наприклад, необхідно реалізувати виділення активного пункту меню на веб-сайті:

Активний пункт меню виділено нестандартним підкресленням

Якщо використовувати тільки text-decoration , не потрібно реалізувати потрібне підкреслення. Його, звісно, ​​можна додати рахунок нижньої межі, стилізації через псевдоелементи чи іншими дивними методами.

Але все спростилося з появою text-underline-offset. Властивість встановлює зміщення підкреслення з його вихідного становища й у зв'язки із властивістю text-decoration .

У властивості text-underline-offset хороша браузерна підтримка, вона працює у більшості сучасних браузерів, крім Firefox під Android.

Як дізнатися параметри нестандартного підкреслення

Всі параметри для підкреслення будемо діставати з макета Figma.

Нам потрібні два параметри – відстань від тексту до лінії та товщина лінії. Колір підкреслення зазвичай збігається із кольором тексту, тому спеціально шукати цей параметр зазвичай не потрібно.

Відстань від тексту до лінії

Щоб виміряти відстань між об'єктами, достатньо вибрати перший об'єкт, натиснути Alt/Option та навести на другий. Виділяємо текстовий шар і із затиснутою кнопкою Alt/Option наводимо курсор миші на лінію підкреслення. У тултипі оранжевого кольору виводиться кількість пікселів між текстом та об'єктом, на який навели. У нашому випадку це значення 20 .

Запишемо це значення в CSS-властивості text-underline-offset :

.active color: #ffffff; text-decoration: underline; /* Зміщуємо підкреслення на 20 пікселів вниз */ text-underline-offset: 20px; > 

Товщина лінії підкреслення

Виділимо об'єкт із підкресленням. Після цього на панелі праворуч, на вкладці Inspect знайдемо властивості об'єкта.Нас цікавить властивість Height (Висота).

Властивість відображається у розділі Properties, та у розділі Code. У прикладі товщина підкреслення – 4 пікселі. Нагадаємо, в CSS товщиною підкреслення управляє властивість text-decoration-thickness. Допишемо в правило визначення товщини підкреслення:

А тепер давайте порівняємо за допомогою розширення Perfect Pixel макет та отриману верстку.

Розбіжністю з Perfect Pixel

Це сталося через те, що відступ відраховується від базової лінії тексту, а Фігма показує відстань від нижньої межі текстового блоку.

💡 Базова лінія – ця лінія на якій літери "стоять". Вона проходить по самому нижньому краю букв з плоскою нижньою частиною.

Способів вирішити завдання (мається на увазі потрапити до макету) кілька.

  1. Обновити межі шару, щоб вони відповідали базовій лінії. Цей спосіб вимірювання пропонує сама Фігма у документації. У Фігмі є можливість задати текстовому блоку Fixed Size.

Але цей спосіб має мінус. Якщо зміниться розмір шрифту, або зміниться вміст текстового блоку, ламається розкладка макета. Це руйнівний для макету спосіб. Прийде висоту блоку заново встановлювати. Набагато зручніше залишити автоматичну висоту для нього.

  1. Використовувати новий CSS-властивість text-underline-position зі значенням under . В цьому випадку базова «нульова» позиція буде встановлена ​​не за базовою лінією, а по нижній межі блоку, і text-underline-offset буде відраховуватись від того ж базового положення, що і в редакторі Figma.

"Доктайп" – журнал про фронтенд. Читайте, слухайте та навчайтеся з нами.

Читати далі

Псевдоклас

Псевдоклас :link CSS призначений для стилізації посилань, які ще не були відвідані користувачем.Цей псевдоклас дозволяє розробникам задавати зовнішній вигляд для невідвіданих посилань окремо від тих, якими користувач вже переходив, що допомагає краще орієнтуватися на сторінці і підвищує зручність використання сайту.

Приклад використання псевдокласу :link для стилізації невідвіданих посилань:

У цьому прикладі для всіх невідвіданих посилань встановлюється синій колір ( #007bff ) і забирається підкреслення. Це робить зовнішній вигляд посилань акуратнішим і одночасно інформативним, оскільки користувач може легко відрізнити їх від вже відвіданих ( :visited ) посилань.

При роботі з :link важливо пам'ятати, що цей псевдоклас повинен використовуватися в поєднанні з псевдокласом :visited для повної стилізації станів посилань. Також рекомендується визначати стилі для псевдокласів :hover та :active , щоб забезпечити інтерактивний та чуйний інтерфейс.

Приклад повного набору стилів для посилань:

a:link < color: #007bff; text-decoration: none; >a:visited < color: #666; >a:hover < color: #0056b3; text-decoration: underline; >a:active

У цьому прикладі задаються різні стилі для всіх можливих станів посилань: :link для невідвідених, :visited для відвіданих, :hover при наведенні курсору та :active у момент натискання на посилання. Такий підхід дозволяє створити більш динамічний та інтуїтивно зрозумілий інтерфейс веб-сторінки.

Селектор нащадків (пробіл)

Селектор нащадків CSS використовується для вибору елементів, які є нащадками іншого елемента в структурі документа. Цей селектор позначається простою пробілом між двома селекторами і дозволяє застосувати стилі до елементів, що знаходяться всередині інших елементів, незалежно від глибини вкладеності.

Приклад використання селектора нащадків:

У цьому прикладі всі абзаци (

), які знаходяться всередині елемента, будуть пофарбовані в темно-сірий колір і отримають міжрядковий інтервал у півтора розміру шрифту. Селектор нащадків дозволяє легко керувати стилем конкретних елементів, зберігаючи при цьому загальну структуру та читання коду.

Селектор нащадків особливо корисний у таких випадках:

  1. Структурування контенту: Допомагає стилізувати елементи всередині певних секцій або компонентів, не торкаючись схожих елементів в інших частинах сторінки.
  2. Тематичне оформлення: Використовується для застосування унікальних стилів до елементів, які розташовані всередині певних контейнерів, наприклад, для статей, сайдбарів або футерів.
  3. Ізоляція стилів: Забезпечує локальне застосування стилів, запобігаючи їх випадковому розповсюдженню на інші елементи документа.

Застосування селектора нащадків спрощує створення модульної структури стилів, що легко підтримується, дозволяючи розробникам більш точно і гнучко керувати зовнішнім виглядом веб-сторінки.

Однак, важливо дотримуватися балансу і уникати занадто глибокої вкладеності селекторів, оскільки це може ускладнити підтримку та оптимізацію коду. Рекомендується використовувати селектор нащадків з розумом, орієнтуючись на підтримку чистоти та простоти структури CSS.

Псевдоклас

Псевдоклас :focus CSS використовується для стилізації елементів, які отримали фокус. Це може бути, наприклад, текстове поле у ​​формі, до якого користувач перемістив курсор для введення або посилання, вибране через клавіатурне введення. Псевдоклас :focus дозволяє створити більш інтерактивний і доступний інтерфейс користувача, підсвічуючи активні або вибрані елементи.

Приклад використання :focus :

У цьому прикладі для всіх текстових полів (input) при отриманні фокусу змінюватиметься колір кордону на синій та фоновий колір на світло-синій. Це забезпечує наочний зворотний зв'язок користувачеві про те, який елемент форми активний в даний момент, покращуючи загальну доступність користувача і зручність використання інтерфейсу.

Псевдоклас :focus особливо важливий для:

  1. Поліпшення доступності: Він допомагає користувачам з обмеженими можливостями або тими, хто використовує клавіатурне введення замість миші, розуміти, який елемент керування в даний момент активний.
  2. Підвищення інтерактивності: Візуальна відмінність активних елементів робить інтерфейс більш дружнім та зрозумілим для користувача.
  3. Створення стилістичних акцентів: Дозволяє додавати унікальні стилістичні особливості інтерактивних елементів інтерфейсу, підкреслюючи їх функціональність.

Застосування :focus у поєднанні з іншими псевдокласами, такими як :hover та :active , дозволяє створити комплексне візуальне уявлення різних станів елементів управління, роблячи інтерфейс більш інтуїтивно зрозумілим та приємним у використанні.

Однак, важливо пам'ятати, що стилізація елементів за допомогою :focus повинна бути досить помітною, щоб користувач міг легко ідентифікувати фокусований елемент, але при цьому не повинна бути надто нав'язливою, щоб не відволікати від загального сприйняття інтерфейсу.

Селектор з id

CSS-селектор за ідентифікатором (id) дозволяє стилізувати елементи веб-сторінки, які мають унікальний ідентифікатор. Використання селектора по id уможливлює точкове застосування стилів до конкретного елемента, не торкаючись інших елементів на сторінці.

Селектор id позначається знаком решітки ( # ) перед ім'ям ідентифікатора.Ідентифікатори HTML повинні бути унікальними в межах документа, що робить селектор по id потужним інструментом для стилізації конкретних елементів.

Приклад використання селектора по id:

Цей елемент є унікальним.

У цьому прикладі елементу з id="uniqueElement" надаються стилі, що роблять текст зеленим і збільшують розмір шрифту до 20 пікселів. Ці стилі будуть застосовані лише до цього конкретного елемента завдяки унікальності ідентифікатора.

Переваги використання селектора по id:

  1. Точкова стилізація: Селектор id дозволяє застосовувати стилі до конкретного елемента, не впливаючи на інші елементи.
  2. Високий пріоритет: Стилі, застосовані через селектор по ID, мають більш високий пріоритет, ніж стилі, застосовані через класи та теги, що полегшує перевизначення стилів.
  • Ідентифікатор має бути унікальним у межах всього HTML-документа.
  • Зловживання селекторами по ID може зробити CSS-код складним для підтримки, особливо у великих проектах. Рекомендується використовувати їх з розумом, віддаючи перевагу класам для стилізації, коли це можливо.
  • Селектори id можуть збільшити специфічність CSS-правил, що іноді утруднює їх перевизначення.

Використання селектора id є потужним інструментом в арсеналі веб-розробника, дозволяючи точково впливати на стиль окремих елементів сторінки.

Кілька селекторів через кому

Список селекторів CSS являє собою перелік селекторів, розділених комами, що дозволяє застосувати один і той же набір стилів до різних елементів веб-сторінки. Цей метод спрощує написання CSS-коду, позбавляючи необхідності дублювати стилі для кожного типу елементів окремо.

Приклад використання списку селекторів для стилізації заголовків, абзаців та елементів списку:

Застосування списку селекторів є ефективним у багатьох ситуаціях, включаючи:

  • Застосування базових стилів тексту (колір, шрифт, розмір) до різних типів елементів.
  • Скидання стандартних відступів для елементів списку, параграфів та інших блокових елементів.
  • Встановлення загальних стилів для інтерактивних елементів, таких як кнопки та посилання, у різних частинах веб-сторінки.

При роботі зі списком селекторів важливо враховувати, що стилі будуть застосовані до всіх вказаних елементів. Для більш специфічних стильових завдань слід використовувати класи чи ідентифікатори, і навіть більш конкретні типи селекторів.

Списки селекторів покращують читаність та підтримуваність CSS-коду, дозволяючи розробникам ефективніше керувати стилями веб-сторінки. Цей підхід сприяє скороченню дублювання коду та забезпечує більш упорядковану структуру стилів.

Суміжний селектор +

Суміжний селектор CSS, що позначається знаком плюс ( + ), дозволяє вибирати елемент, який є безпосереднім сусідом іншого елемента на тому самому рівні ієрархії DOM. Цей селектор ефективний для застосування стилів до елемента, що знаходиться в точному порядку після іншого елемента в коді HTML.

Приклад застосування суміжного селектора:

Суміжний селектор знаходить широке застосування у веб-розробці для детального налаштування відступів між елементами та для реалізації певних стильових ефектів, що залежать від положення елементів щодо документа.

При використанні суміжного селектора важливо враховувати такі моменти:

  • Застосовуйте суміжний селектор з розумом, особливо у складних структурах HTML, оскільки зміни у розмітці можуть вплинути на його працездатність.
  • Суміжний селектор ідеальний для випадків, коли необхідно модифікувати стиль елемента в залежності від його розташування по відношенню до попереднього елемента на тому самому рівні.
  • Обмежте використання суміжного селектора для підтримки простоти та читання коду, особливо коли йдеться про великі стильові листи.

Дотримання стандартів кодування та увага до деталей в оформленні допоможуть створити легко підтримуваний та гнучкий код CSS, що сприяє ефективній стилізації веб-сторінок.

Селектор тип

Селектори типу CSS використовуються для вибору HTML-елементів, відповідних певному імені тега. Вони дозволяють застосовувати стилі до елементів, не покладаючись на класи або ідентифікатори, що робить їх ідеальними для встановлення базових стилів для стандартних елементів сторінки, таких як абзаци, заголовки та списки.

Приклад використання селектора типу для стилізації всіх абзаців (

) на сторінці:

У цьому прикладі кожному абзацу на веб-сторінці задається шрифт Helvetica, міжрядковий інтервал у півтора рази більший за розмір шрифту та темно-сірий колір тексту. Це базова стилізація, яка може бути перевизначена додатковими селекторами, наприклад селекторами класу або ідентифікатора.

Селектори типу корисні для завдання загальних стилів елементам, які часто використовуються в документі, і є основою каскадності CSS. Вони дозволяють легко підтримувати та оновлювати стилі сайту, надаючи одноманітне представлення елементів по всьому сайту.

При роботі з селекторами типу рекомендується дотримуватися принципів чистого коду та кращих практик веб-розробки:

  • Використовуйте типи селекторів для встановлення базових стилів документа, таких як шрифт, розмір тексту та колір.
  • Намагайтеся не перевизначати стилі селекторів типу надто специфічними селекторами без необхідності уникнути конфліктів і складнощів з каскадом.
  • Для забезпечення читання та підтримуваності коду дотримуйтесь угод про написання CSS, включаючи використання малих літер для селекторів та властивостей, додавання пробілу перед фігурною дужкою та одного рівня відступу для властивостей усередині правила.

Дотримання цих рекомендацій допоможе створити структурований та легко підтримуваний код, який полегшить подальшу розробку та оновлення веб-сайту.

Універсальний селектор *

У CSS універсальний селектор * (зірочка) використовується для застосування стилів до всіх елементів на веб-сторінці. Цей селектор корисний, коли необхідно встановити загальні стилі для всього документа, наприклад, скидання стандартних відступів або завдання базового шрифту.

Приклад використання універсального селектора для скидання стандартних відступів та завдання базового шрифту:

У цьому прикладі всі елементи сторінки обнуляють зовнішні та внутрішні відступи ( margin і padding ), а також встановлюють шрифт Arial як базовий для всього документа.

Використання універсального селектора робить стилізацію більш передбачуваною, оскільки видаляє відмінності у відображенні елементів, які можуть бути встановлені браузером за замовчуванням. Однак слід бути обережним з його використанням, оскільки застосування надто численних стилів до всіх елементів може сповільнити завантаження сторінки.

При роботі з CSS важливо дотримуватися рекомендацій щодо стилю коду, щоб забезпечити читання та підтримуваність коду. Наприклад, згідно з рекомендаціями HTML Academy:

  • Селектори та властивості записуються малими літерами.
  • Перед відкриває фігурною дужкою ставиться пробіл, властивості перераховуються з нового рядка з одним рівнем відступу.
  • Після двокрапки в оголошенні якості слідує пробіл.
  • Наприкінці оголошення властивості ставиться крапка з комою.
  • Між блоками правил залишається один порожній рядок для кращого читання.

Ігри з нескінченністю, або навіщо нам infinity в CSS

💡 Це переклад статті Will Boyd з блогу CodersBlock. Оригінал: https://codersblock.com/blog/playing-with-infinity-in-css/

У CSS є константа Infinity. Коли я тільки дізнався про це, до мене в голову відразу спала гора абсурдних ідей, як це використовувати, серед яких була й пара непоганих.

До речі, якщо що, infinity можна використовувати тільки всередині calc(). Ну поїхали!

🚀 Сьогодні вам безкоштовно доступний тренажер з HTML та CSS.

Міжрядкова відстань у CSS. Властивість line-height

line-height задає інтерліньяж, тобто відстань між базовими лініями сусідніх рядків тексту. Ця властивість може проводити читабельність тексту та її сприйняття.

Значення line-height можна вказувати як абсолютних одиницях (наприклад, px , pt ), і у відносних ( em , % , без одиниці виміру). Рекомендується використовувати відносні одиниці, оскільки вони дозволяють зберегти масштабованість та адаптивність тексту.

  • line-height: 1.2; – Відносне значення, що не залежить від розміру шрифту.
  • line-height: 20px; – Абсолютне значення, фіксований розмір інтерліньяжу.
  • line-height: 1.5em; – Відносне значення, що залежить від розміру шрифту елемента.

Related Posts