Как сделать подчеркивание в «Ворде» без слов или с текстом: некоторые простейшие варианты действий. Как сделать подчеркивание в «Ворде» без слов

Подчеркивание служит для выделения какой-либо буквы, слова или фрагмента текста и относится к элементам форматирования. Некоторые текстовые редакторы и форматы файлов не могут работать с форматированием - например, стандартный Блокнот Windows и формат txt. В остальных случаях выделение фрагмента текста с помощью подчеркивания - одна из простейших операций.

Инструкция

Запустите текстовый редактор, который имеет функции форматирования текста - например, Microsoft Office Word. Загрузите в него документ, в котором требуется выделить букву, слово или любую часть текста - для вызова соответствующего диалога можно использовать сочетание клавиш ctrl + o. Найдите в тексте нужный фрагмент и выделите его. Затем на вкладке «Основные» щелкните по пиктограмме подчеркивания - на ней изображена подчеркнутая буква «Ч». Если нужен какой-либо нестандартный вариант подчеркивания, то щелкните выделенный фрагмент правой кнопкой мыши и выберите в контекстном меню пункт «Шрифт». В открывшемся окне есть выпадающий список «Подчеркивание» - выберите в нем любой из 17 вариантов, а затем нажмите кнопку «OK».

Если требуется в HTML-документе, то в его код надо добавить соответствующие теги. Перед первым знаком фрагмента, который требуется подчеркнуть, должен стоять открывающий тег , а после последнего подчеркнутого знака надо вставить закрывающий тег . Например:

Это параграф с подчеркнутым текстом.


При использовании для редактирования страниц системы управления сайтом нужные теги вставляются автоматически, если редактирование производить в визуальном режиме (режиме WYSIWYG). В этом случае достаточно выделить нужный фрагмент и щелкнуть по кнопке подчеркивания на панели редактора.

MS Word, как и любой текстовый редактор, имеет в своем арсенале большой набор шрифтов. Кроме того, стандартный набор, при необходимости, всегда можно расширить с помощью сторонних шрифтов. Все они отличаются визуально, но ведь и в самом Ворде есть средства для изменения внешнего вида текста.

Помимо стандартного вида, шрифт может быть полужирным, курсивом и подчеркнутым. Как раз о последнем, а именно, о том, как в Ворде подчеркнуть слово, слова или фрагмент текста мы и расскажем в этой статье.

Если вы внимательно посмотрите на инструменты, расположенные в группе “Шрифт” (вкладка “Главная”), наверняка заметите там три буквы, каждая из которых отвечает за конкретный тип написания текста.

Ж — жирный (полужирный);
К — курсив;
Ч — подчеркнутый.

Все эти буквы на панели управления представлены в том виде, в котором будет написан текст, если вы их используете.

Чтобы подчеркнуть уже написанный текст, выделите его, а затем нажмите букву Ч в группе “Шрифт” . Если текст еще не написан, нажмите эту кнопку, введите текст, а затем отключите режим подчеркивания.

    Совет: Для подчеркивая слова или текста в документе также можно использовать горячую комбинацию клавиш — “Ctrl+U” .

Примечание: Подчеркивание текста таким образом добавляет нижнюю линию не только под словами/буквами, но и в пробелах между ними. В Ворде также можно отдельно подчеркнуть слова без пробелов или сами пробелы. О том, как это сделать, читайте ниже.

Подчеркивание только слов, без пробелов между ними

Если вам необходимо подчеркнуть в текстовом документе только слова, оставив пустыми пробелы между ними, выполните следующие действия:

1. Выделите фрагмент текста, в котором необходимо убрать подчеркивание в пробелах.

2. Разверните диалоговое окно группы “Шрифт” (вкладка “Главная” ), нажав на стрелочку в его правом нижнем углу.

3. В разделе “Подчеркивание” задайте параметр “Только слова” и нажмите “ОК” .

4. Подчеркивание в пробелах исчезнет, слова при этом останутся подчеркнутыми.

Подчеркивание двойной чертой

1. Выделите текст, который необходимо подчеркнуть двойной чертой.

2. Откройте диалоговое окно группы “Шрифт” (то, как это сделать, написано выше).

3. В разделе подчеркивание выберите двойную черту и нажмите “ОК” .

4. Тип подчеркивания текста изменится.

    Совет: Аналогичные действия можно проделать и с помощью меню кнопки “Подчеркивание” (Ч ). Для этого нажмите на стрелочку возле этой буквы и выберите там двойную черту.

Подчеркивание пробелов между словами

Самый простой способ, с помощью которого можно сделать подчеркивание только в пробелах — это нажатие клавиши “нижнее подчеркивание” (предпоследняя клавиша в верхнем цифровом ряду, на ней также находится дефис) с предварительно зажатой кнопкой “Shift” .

Примечание: В данном случае нижнее подчеркивание ставится вместо пробела и будет находится на одном уровне с нижним краем букв, а не под ними, как стандартное подчеркивание.

Однако, стоит отметить, что у данного метода есть один важный недостаток — сложность выравнивания подчеркивающих линий в некоторых случаях. Один из явных тому примеров — создание форм для заполнения. Кроме того, если у вас в MS Word активирован параметр автоформата для автозамены знаков подчеркивания на линию границы, нажав три и/или более раза “Shift+-(дефис)” , в результате вы получите линию, равную ширине абзаца, что крайне нежелательно в большинстве случаем.

Верное решение в случаях, когда необходимо подчеркнуть пробел — это использование табуляции. Необходимо просто нажать клавишу “Tab” , а затем подчеркнуть пробел. Если же вы хотите подчеркнуть пробел в веб-форме, рекомендовано использовать пустую ячейку таблицы с тремя прозрачными границами и непрозрачной нижней. Более подробно о каждом из этих методов читайте ниже.

Подчеркиваем пробелы в документе для печати

1. Установите указатель курсора в том месте, где необходимо подчеркнуть пробел и нажмите клавишу “Tab” .

Примечание: Табуляция в данном случае используется вместо пробела.

2. Включите режим отображения скрытых символов, нажав на кнопку, расположенную в группе “Абзац” .

3. Выделите установленный знак табуляции (он будет отображен в виде небольшой стрелки).

4. Нажмите кнопку “Подчеркивание” (Ч ), расположенную в группе “Шрифт” , или используйте клавиши “Ctrl+U” .

    Совет: Если вы хотите изменить стиль подчеркивания, разверните меню этой клавиши (Ч ), нажав на стрелочку возле нее, и выберите подходящий стиль.

5. Подчеркивание пробела будет установлено. Если это необходимо, проделайте аналогичное действие и в других местах текста.

6. Отключите режим отображения скрытых знаков.

Подчеркиваем пробелы в веб-документе

1. Кликните левой кнопкой мышки в том месте, где необходимо подчеркнуть пробел.

2. Перейдите во вкладку “Вставка” и нажмите кнопку “Таблица” .

3. Выберите таблицу размером в одну ячейку, то есть, просто нажмите на первый левый квадрат.

    Совет: Если это необходимо, изменить размер таблицы, просто потянув за ее край.

4. Кликните левой кнопкой мышки внутри добавленной ячейки, чтобы отобразился режим работы с таблицами.

5. Кликните в этом месте правой кнопкой мышки и нажмите на кнопку “Границы” , где выберите в списке “Границы и заливка” .

Примечание: В версиях MS Word до 2012 года в контекстном меню есть отдельный пункт “Границы и заливка” .

6. Перейдите во вкладку “Граница” где в разделе “Тип” выберите “нет” , а затем в разделе “Образец” выберите макет таблицы с нижней границей, но без трех остальных. В разделе “Тип” будет показано, что вы выбрали параметр “Другая” . Нажмите “ОК” .

Примечание: В нашем примере после выполнения вышеописанных действий подчеркивание пробела между словами находится, мягко говоря, не на своем месте. Возможно, вы тоже столкнетесь с аналогичной проблемой. Для этого придется изменить параметры форматирования текста.

7. В разделе “Стиль” (вкладка “Конструктор” ) выберите желаемый тип, цвет и толщину линии, которая будет добавлена в качестве подчеркивания.

8. Для отображения нижней границы кликните в группе “Просмотр” между маркерами нижнего поля на рисунке.

    Совет: Для отображения таблицы без серых границ (на печать не выводятся) перейдите во вкладку “Макет” , где в группе “Таблица” выберите пункт “Отображать сетку” .

Примечание: Если вам необходимо ввести перед подчеркнутым пробелом пояснительный текст, используйте таблицу размером в две ячейки (горизонтальных), сделав прозрачными все границы первой. Введите в эту ячейку необходимый текст.

9. Подчеркнутый пробел будет добавлен между словами в выбранном вами месте.

Огромным плюсом данного метода добавления подчеркнутого пробела является возможность изменения длины линии подчеркивания. Достаточно просто выделить таблицу и потянуть ее за правый край в правую сторону.

Добавление фигурного подчеркивания

Помимо стандартной одной или двух линий нижнего подчеркивания, вы также можете выбрать другой стиль и цвет линии.

1. Выделите текст, который нужно подчеркнуть в особом стиле.

2. Разверните меню кнопки “Подчеркивание” (группа “Шрифт” ), нажав на треугольник возле нее.

3. Выберите необходимый стиль подчеркивания. Если это необходимо, выберите также цвет линии.

    Совет: Если шаблонных линий, представленных в окне вам недостаточно, выберите пункт “Другие подчеркивания” и попробуйте найти там подходящий стиль в разделе “Подчеркивание” .

4. Фигурное подчеркивание будет добавлено в соответствие с выбранным вами стилем и цветом.

Удаление подчеркивания

Если вам необходимо убрать подчеркивание слова, фразы, текста или пробелов, выполните то же самое действие, что и для его добавления.

1. Выделите подчеркнутый текст.

2. Нажмите кнопку “Подчеркивание” в группе “Шрифт” или клавиши “Ctrl+U” .

    Совет: Чтобы убрать подчеркивание, выполненное в особом стиле, кнопку “Подчеркивание” или клавиши “Ctrl+U” необходимо нажать дважды.

3. Линия подчеркивания будет удалена.

На этом все, теперь вы знаете, как подчеркнуть слово, текст или пробел между словами в Ворде. Желаем вам успехов в дальнейшем освоении этой программы для работы с текстовыми документами.

I’m not a native speaker. Sorry for my english. Please understand.

The underscore (_) is special in Python.

While the underscore (_) is used for just snake-case variables and functions in most languages (Of course, not for all), but it has special meanings in Python. If you are python programmer, for _ in range(10) , __init__(self) like syntax may be familiar.

This post will explain the about when and how use the underscore (_) and help you understand it.

There are 5 cases for using the underscore in Python.

  1. For storing the value of last expression in interpreter.
  2. For ignoring the specific values. (so-called “I don’t care”)
  3. To give special meanings and functions to name of vartiables or functions.
  4. To use as ‘Internationalization(i18n)’ or ‘Localization(l10n)’ functions.

Let’s look at each case.

When used in interpreter

The python interpreter stores the last expression value to the speicial variable called ‘_’. This feature has been used in standard CPython interpreter first and you could use it in other Python interpreters too.

>>> 10
10
>>> _
10
>>> _ * 3
30
>>> _ * 20
600

For Ignoring the values

The underscore is also used for ignoring the specific values. If you don’t need the specific values or the values are not used, just assign the values to underscore .

# Ignore a value when unpacking
x, _, y = (1, 2, 3) # x = 1, y = 3 # Ignore the multiple values
x, *_, y = (1, 2, 3, 4, 5) # x = 1, y = 5
# Ignore the index
for _ in range(10):
do_something()
# Ignore a value of specific location
for _, val in list_of_tuple:
do_something()

Give special meanings to name of variables and functions

The underscore may be most used in ‘naming’. The PEP8 which is Python convention guideline introduces the following 4 naming cases.

_single_leading_underscore
This convention is used for declaring private variables, functions, methods and classes in a module. Anything with this convention are ignored in from module import * .
However, of course, Python does not supports truly private, so we can not force somethings private ones and also can call it directly from other modules. So sometimes we say it “weak internal use indicator”.

Internal_name = "one_nodule" # private variable
_internal_version = "1.0" # private variable

class _Base: # private class
_hidden_factor = 2 # private variable

Def __init__(self, price):
self._price = price
def _double_price(self): # private method
return self._price * self._hidden_factor
def get_double_price(self):
return self._double_price()

single_trailing_underscore_
This convention is used for avoiding conflict with Python keywords. You might not use it often.

Tkinter.Toplevel(master, class_="ClassName") # Avoid conflict with "class" keyword list_ = List.objects.get(1) # Avoid conflict with "list" keyword

__double_leading_underscore
This is about syntax rather than a convention. double underscore will mangle the attribute names of a class to avoid conflicts of attribute names between classes. (so-called “mangling” that means that the compiler or interpreter modify the variables or function names with some rules, not use as it is)
The mangling rule of Python is adding the “_ClassName” to front of attribute names are declared with double underscore.
That is, if you write method named “__method” in a class, the name will be mangled in “_ClassName__method” form.

Class A:
def _single_method(self):
pass

Def __double_method(self): # for mangling
pass
class B(A):
def __double_method(self): # for mangling
pass

Because of the attributes named with double underscore will be mangled like above, we can not access it with “ClassName.__method”. Sometimes, some people use it as like real private ones using these features, but it is not for private and not recommended for that. For more details, read Python Naming .

__double_leading_and_trailing_underscore__
This convention is used for special variables or methods (so-called “magic method”) such as __init__ , __len__ . These methods provides special syntactic features or does special things. For example, __file__ indicates the location of Python file, __eq__ is executed when a == b expression is excuted.
A user of course can make custom special method, it is very rare case, but often might modify the some built-in special methods. (e.g. You should initialize the class with __init__ that will be executed at first when a instance of class is created.)

Class A:
def __init__(self, a): # use special method "__init__" for initializing
self.a = a

Def __custom__(self): # custom special method. you might almost do not use it
pass

As Internationalization(i18n)/Localization(l10n) functions

It is just convention, does not have any syntactic functions. That is, the underscore does not means i18n/l10n , and it is just a convention that binds the i18n/l10n to underscore variable has been from C convention.
The built-in library gettext which is for i18n/l10n uses this convention, and Django which is Python web framework supports i18n/l10n also introduces and uses this convention.

# see official docs: https://docs.python.org/3/library/gettext.html
import gettext
gettext.bindtextdomain("myapplication","/path/to/my/language/directory")
gettext.textdomain("myapplication")
_ = gettext.gettext

# ... print(_("This is a translatable string."))

To separate the digits of number literal value.

This feature was added in Python 3.6. It is used for separating digits of numbers using underscore for readability.

Dec_base = 1_000_000
bin_base = 0b_1111_0000
hex_base = 0x_1234_abcd

Print(dec_base) # 1000000
print(bin_base) # 240
print(hex_base) # 305441741

Conclusion

So far we’ve covered the underscore of Python. While I’m a Python programmer, I didn’t know some of them till wrote this post. Especially, the i18n/l10n is very new to me.
Like me, I hope you gain some useful knowledges about underscore from this post.

Next, I’ll cover more interesting things about Python. Thank you.

Update
Added the new feature (PEP 515) was added in Python 3.6

Многие из всех тех, кто работает с текстовыми документами офисного редактора Word, прекрасно знают, что иногда в них нужно сделать для выделения его особой значимости. Или оставить подчеркнутое место для заполнения, если это какая-то официальная форма, в которой нужно, например, ввести паспортные данные или другую информацию. Это общеизвестно. О том, как сделать подчеркивание в «Ворде» без слов или с текстом, сейчас и пойдет речь. Кроме того, будут определены основные типы используемых методов и указаны некоторые сочетания клавиш, которые могут пригодиться для упрощения работы.

Подчеркивание Word: основные типы

Прежде всего, средств, которые могут создавать подчеркивание или даже перечеркивание текста, в редакторе Word имеется достаточно много. В данном случае нас интересует в «Ворде», поскольку оно используется чаще всего.

Однако даже в этом случае можно применять несколько основных методов создания линий из стандартных символов, имеющихся в клавиатурном диапазоне, а также применять разные типы линий (прямые, ломаные, волнистые, одинарные, двойные и т.д.).

Простейшие методы установки подчеркиваний

Для начала используем самый простой пример применения стандартного инструмента Word. На панели инструментов, расположенной сверху, имеется специальная кнопка с изображением буквы «Ч» с черточкой внизу. Достаточно выделить нужный фрагмент текста и нажать на нее. Можно поступить иначе и использовать кнопку еще до начала ввода текста. Эффект получится тот же самый. Тем, кто предпочитает использовать не кнопки, а «горячие» клавиши, для быстрого доступа к этой функции, подойдет сочетание Ctrl + U.

Многие не обращают внимания на то, что рядом с кнопкой имеется стрелочка вызова дополнительного меню, в котором можно найти много интересного. Тут указываются типы линий, выбор цвета. А если войти в раздел дополнительных подчеркиваний, можно использовать создание контура и тени, указать толщину линии, установить верхнее или нижнее подчеркивание, выбрать строчные буквы, а на вкладке «Дополнительно» установить еще и так называемый кернинг или даже минимальное количество символов, для которых подчеркивание будет применено автоматически, а после отключится.

Как сделать подчеркивание в «Ворде» без слов

Но это есть стандартные инструменты для тестовых полей, а ведь иногда нужно подчеркнуть пустое место. В вопросе того, как сделать подчеркивание в «Ворде» без слов, можно применить несколько простых решений.

Самым простым станет ввод нижних черточек с клавиатуры, которое вызывается сочетанием Shift и клавиши «-». Такая линия будет сплошной, а вот при использовании обычной черточки без «шифта» линия получится пунктирной, причем расположена она будет исключительно по центру. Поэтому ее придется переносить на новую строку, что весьма неудобно. Да и текст в этом случае будет выглядеть нечитабельно.

Более простым методом является использование клавиши табуляции вместе с клавишей Shift при включенной кнопке подчеркивания. Этим достигается и установка одинаковой или пропорциональной длины линий и выравнивание при вводе текста. И тут появляется главная проблема. Только для печати документа такие методы применимы, но когда требуется ввод текста над подчеркнутым пространством в самом редакторе, их использование оказывается нецелесообразным (что-то напечатать будет просто невозможно). Придется применять другие методы.

Работа с таблицами и использование автоматического преобразования

И тут в решении проблемы, как сделать подчеркивание в «Ворде» без слов, на помощь приходит конструктор таблиц. Решение само по себе и простое, и универсальное.

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

Наконец, интересный способ состоит в том, чтобы использовать границы для полной строки, и неважно, есть там текст или нет. Для этого просто выбирается соответствующий тип границы при нажатии на кнопку, находящуюся в панели сверху. Линия автоматически установится на всю длину строки. Зато над таким подчеркиванием можно печатать без проблем.

Есть еще один более сложный способ, который заключается в том, чтобы нарисовать линию с помощью встроенных графических средств, но он выглядит совершенно нерациональным. Так что можно ограничиться самыми простыми, пусть даже и примитивными средствами.

От автора: стилизация подчеркиваний ссылок – довольно сложное занятие, и я постоянно забываю, какой способ лучше подходит в той или иной ситуации. К счастью, Джон Джеймсон поможет нам быстро разобраться в этом в своей статье.

Существует множество способов, как стилизовать подчеркивания. Возможно, вы помните статью «создаем подчеркивания ссылок на Medium ». Medium не пытались делать что-то из рамок вон выходящее, они хотели просто создать привлекательные подчеркивания в тексте.

Тонкие, черные подчеркивания с пробелами вокруг букв с нижними выносками – работа Марсин Витчэри из статьи создаем подчеркивания ссылок на Medium.

Хорошее стандартное подчеркивание, которое к тому же имеет хороший размер и пропускает нижние выносные части букв. Намного лучше, чем в большинстве браузеров по умолчанию. Как оказалось, Medium столкнулись с множеством проблем на своем пути. И даже два года спустя до сих пор хорошая стилизация подчеркиваний вызывает много проблем.

Цели

Почему бы просто не использовать text-decoration: underline? Если мы говорим об идеальном сценарии, подчеркивания должны:

располагаться ниже базовой линии;

пропускать нижние выносные части букв;

менять цвет, толщину и стили;

переходить на новую строку;

работать с любыми фонами.

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

Подходы

Так какие способы есть в нашем распоряжении для подчеркивания текста? Я вспомнил следующие:

text-decoration;

background-image;

SVG фильтры;

Underline.js (canvas);

text-decoration-*

Пройдемся по всему списку и рассмотрим все плюсы и минусы каждого подхода.

Свойство text-decoration

Свойство text-decoration – самый простой способ подчеркивания текста. Нужно применить всего лишь одно свойство. На маленьком тексте такая линия будет смотреться нормально, но стоит увеличить размер шрифта и она уже смотрится неуклюже.

Самая большая проблема со свойством text-decoration – отсутствие кастомизации. Линия использует цвет и размер шрифта того текста, к которому применяется, и не существует кроссбраузерного способа изменения стилей. Чуть позже поговорим более подробно по этому свойству.

Плюсы

просто использовать;

располагается ниже базовой линии;

пропускает нижние выносные части букв по умолчанию в Safari и iOS;

перепрыгивает на новую строку;

работает с любыми фонами.

Минусы

не пропускает выносные нижние части букв в остальных браузерах;

нельзя менять цвет, толщину и стили.

Свойство border-bottom

Свойство border-bottom – хороший баланс скорости и кастомизации. Данный подход использует проверенные CSS рамки, а значит, вы с легкостью можете менять цвет, толщину и стили. Так выглядит свойство border-bottom на инлайновых элементах:

Самый большой минус – это то, насколько далеко подчеркивание расположено от текста. Подчеркивание расположено ниже нижних выносных частей букв. Данная проблема решается, если сделать элемент inline-block и уменьшить line-height, но тогда теряется возможность перепрыгивать на новые строки. Хорошо подходит для одиночных строк, но не более.

Кроме того, с помощью text-shadow можно скрыть части линии вокруг нижних выносок. В таком случае вам придется имитировать цвет фона, что означает, что метод работает только на однородных фонах. Градиенты и изображения не подойдут.

На данный момент существует 4 свойства для стилизации подчеркивания. Намного лучше, чем просто text-decoration.

Плюсы

можно использовать свойство transition и анимировать цвет и толщину;

перепрыгивает на новые строки по умолчанию, если элемент не inline-block;

Минусы

линия расположена очень далеко и ее сложно передвинуть;

слишком много лишних свойств нужно задействовать, чтобы подчеркивание хорошо смотрелось;

плохое выделение текста при использовании text-shadow.

Свойство box-shadow

Свойство box-shadow рисует подчеркивание с помощью двух внутренних теней: одна создает прямоугольник, а вторая прячет его. Это означает, что для правильной работы метода нужен однородный фон.

Такой же трюк с text-shadow можно использовать для имитации пропуска вокруг нижних выносок букв. Если цвет линии отличается от текста, или она достаточно тонкая, то проблем возникнуть не должно, как это бывает с text-decoration.

Плюсы

можно расположить под базовой линией;

можно пропускать выноски с помощью text-shadow;

можно менять цвет и толщину;

перепрыгивает на новые строки.

Минусы

нельзя менять стили;

не работает со всеми фонами.

Свойство background-image

Свойство background-image лучше всех решает наши задачи, и у него очень мало минусов. Идея заключается в том, что вы создаете изображение с помощью linear-gradient и background-position, которое повторяется по горизонтальной оси вдоль строк текста. Элемент должен быть display: inline;.

Демо ниже не использует linear-gradient. Для создания крутого эффекта, можете использовать свое изображение.

Плюсы

можно расположить ниже базовой линии;

можно пропускать нижние выноски с помощью text-shadow;

можно менять цвет, толщину (даже на полпикселя) и стили;

работает с пользовательскими изображениями;

перепрыгивает на новые строки;

работает с любым фоном, если не использовать text-shadow.

Минусы

размер изображения может по-разному меняться под разные разрешения, браузеры и уровни увеличения.

SVG фильтры

Вот с этим методом я игрался. Вы можете создать инлайновый SVG элемент filter, который будет рисовать линию, и расширить текст, чтобы замаскировать те части линии, которые должны быть прозрачными. Фильтру можно присвоить id и ссылаться на него в CSS с помощью filter: url(‘#svg-underline’).

В чем тут плюс – фильтр добавляет прозрачность, не полагаясь на text-shadow. То есть вы можете пропускать нижние выноски букв на любом фоне, в том числе градиентах и изображениях! Пример ниже работает только с одной строкой текста, так что осторожнее.

А вот так это выглядит в Chrome и Firefox:

В IE, Edge и Safari с поддержкой возникают проблемы. В CSS сложно тестировать поддержку SVG фильтров. Можно использовать правило @supports на filter, но так вы проверите только работу самой ссылки, а не то, применился ли фильтр или нет. Мой способ довольно грубо работает с браузерами, так что будьте вдвойне осторожнее.

Плюсы

расположен ниже базовой линии;

пропускает нижние выноски;

можно менять цвет, толщину и стили;

работает на любом фоне.

Минусы

не перепрыгивает на новые строки;

не работает в IE, Edge и Safari, но можно в качестве фолбэка указать text-decoration. Подчеркивания в Safari сами по себе смотрятся здорово.

Underline.js (Canvas)

Underline.js – удивительная библиотека. Меня впечатляет, что Wenting Zhang смогли сделать с JS и вниманием к деталям. Если вы еще не видели техническое демо Underline.js, остановитесь на минутку и посмотрите. В сети есть замечательное девятиминутное выступление на тему принципов работы , я вам сейчас быстро его перескажу. Подчеркивания рисуются с помощью canvas. Совершенно новый подход, который на удивление хорошо работает.

Несмотря на привлекательное название, это всего лишь техническое демо. То есть вы не сможете сразу поместить библиотеку в проект без целой кучи изменений.

Эту библиотеку стоит упомянуть только лишь, как доказательство концепции. У canvas есть потенциал для создания красивых, интерактивных подчеркиваний, но для правильной работы вам придется написать дополнительный JS код.

Свойства text-decoration-*

Помните, я сказал, что чуть позже мы более подробно разберем что-то? Сейчас этим и займемся. Свойство text-decoration работает хорошо само по себе, но мы можем добавить пару экспериментальных свойств для еще лучшего вида:

text-decoration-color

text-decoration-skip

text-decoration-style

Не радуйтесь раньше времени, вы же знаете о поддержке в браузерах.

Свойство text-decoration-color

Свойство text-decoration-color позволяет менять цвет подчеркивания отдельно от цвета текста. У свойства даже неплохая поддержка в браузерах. Оно работает в Firefox и с префиксом в Safari. Есть свой минус – если вы не очищаете линию вокруг выносок, в Safari она ложится поверх текста. Firefox:

Свойство text-decoration-skip

Свойство text-decoration-skip отвечает за пропуск нижних выносок в подчеркиваемом тексте.

Свойство нестандартное и на данный момент работает только в Safari. Для работы в других браузерах нужно использовать префикс –webkit-. В Safari это свойство включено по умолчанию, вот почему подчеркивания пропускают нижние выноски даже на сайтах, где это свойство не указано.

Если вы используете Normalize, вам нужно знать, что последние версии отключают свойство для нормальной работы во всех браузерах. Если вы хотите вернуть эти почти магические подчеркивания, вам нужно включить данное свойство.

Свойство text-decoration-style

Свойство text-decoration-style предлагает тот же набор подчеркиваний, что и свойство border-style, но также добавляет новый вид – wavy. Возможные значения:

Прямо сейчас свойство text-decoration-style работает только в Firefox, ниже показан скриншот:

Набор однотонных подчеркиваний Выглядит похоже?

Что не так?

Свойства text-decoration-* более интуитивны по сравнению с другими свойствами для стилизации подчеркиваний. Однако если по-другому взглянуть на требования, которые мы предъявили ранее, то можно заметить, что с помощью этих свойств нельзя менять толщину и позицию. После небольшого изучения я нашел эти два свойства:

text-underline-width

text-underline-position

Похоже, эти свойства были выброшены из ранней версии CSS из-за отсутствия интереса к ним. Они так и не применялись. Эй, я в этом не виноват.

Выводы

Так как же лучше всего подчеркивать текст? Все зависит от разных факторов.

Для маленького текста я рекомендую использовать text-decoration и экспериментальное свойство text-decoration-skip, надеясь, что оно будет работать. В большинстве браузеров это смотрится так себе, но так было всегда, и люди не обращали на это внимание. Если вы достаточно терпеливы, есть шанс, что в скором времени все ваши подчеркивания будут хорошо смотреться, и вам ничего не придется менять.

Для основного текста используйте background-image. Метод работает, смотрится красиво, и для него есть Sass миксины. Если подчеркивание тонкое, или цвет отличается от текста, скорее всего, вы можете пропустить метод с text-shadow. Для текста на одной строке используйте border-bottom и любые другие свойства.

А для пропуска выносок букв на градиентных фонах или изображениях попробуйте использовать фильтра SVG. Или же просто не смешивайте такие фоны с подчеркиваниями. В будущем, когда улучшится поддержка в браузерах, можно будет использовать свойства text-decoration-*.