Как сделать двойное подчеркивание html

Подчеркивание в CSS (красивые эффекты с примерами кода)

Перевод статьи «CSS Underline: 20+ Examples».

Как сделать двойное подчеркивание html. Смотреть фото Как сделать двойное подчеркивание html. Смотреть картинку Как сделать двойное подчеркивание html. Картинка про Как сделать двойное подчеркивание html. Фото Как сделать двойное подчеркивание html

CSS-свойство text-decoration

Свойство text-decoration — самый простой способ подчеркнуть текст. Но этому способу не хватает настраиваемости, и это проблема. Более продвинутые в этом смысле способы подчеркивания мы рассмотрим чуть дальше по тексту.

Давайте посмотрим, как при помощи text-decoration можно сделать простое подчеркивание.

Свойство text-decoration — это сокращенный вариант записи трех других свойств:

Вот несколько примеров:

Как сделать двойное подчеркивание html. Смотреть фото Как сделать двойное подчеркивание html. Смотреть картинку Как сделать двойное подчеркивание html. Картинка про Как сделать двойное подчеркивание html. Фото Как сделать двойное подчеркивание html

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

Как сделать двойное подчеркивание html. Смотреть фото Как сделать двойное подчеркивание html. Смотреть картинку Как сделать двойное подчеркивание html. Картинка про Как сделать двойное подчеркивание html. Фото Как сделать двойное подчеркивание html

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

Градиентное подчеркивание

При помощи свойства background: linear-gradient и других свойств фона можно создать градиентное подчеркивание. Вот пример:

Как сделать двойное подчеркивание html. Смотреть фото Как сделать двойное подчеркивание html. Смотреть картинку Как сделать двойное подчеркивание html. Картинка про Как сделать двойное подчеркивание html. Фото Как сделать двойное подчеркивание html

Почитать больше о градиентах можно в статье «CSS Gradients: 8 Examples of Usage».

Короткое подчеркивание

Как сделать двойное подчеркивание html. Смотреть фото Как сделать двойное подчеркивание html. Смотреть картинку Как сделать двойное подчеркивание html. Картинка про Как сделать двойное подчеркивание html. Фото Как сделать двойное подчеркивание html

Вы также можете установить толщину линии, например 2 px (в примере — border-bottom: 2px solid #f9dd94; ).

Подчеркивание «маркером»

При помощи свойства transform можно сделать короткое подчеркивание скошенной линией.

Как сделать двойное подчеркивание html. Смотреть фото Как сделать двойное подчеркивание html. Смотреть картинку Как сделать двойное подчеркивание html. Картинка про Как сделать двойное подчеркивание html. Фото Как сделать двойное подчеркивание html

Также можно сделать подчеркивание «маркером» длинного куска текста. Пример, на который меня вдохновил Codepen.io/Ash:

Как сделать двойное подчеркивание html. Смотреть фото Как сделать двойное подчеркивание html. Смотреть картинку Как сделать двойное подчеркивание html. Картинка про Как сделать двойное подчеркивание html. Фото Как сделать двойное подчеркивание html

Правила, касающиеся этого подчеркивания:

Подчеркивание заголовка

Как сделать двойное подчеркивание html. Смотреть фото Как сделать двойное подчеркивание html. Смотреть картинку Как сделать двойное подчеркивание html. Картинка про Как сделать двойное подчеркивание html. Фото Как сделать двойное подчеркивание html

Многострочное подчеркивание

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

Как сделать двойное подчеркивание html. Смотреть фото Как сделать двойное подчеркивание html. Смотреть картинку Как сделать двойное подчеркивание html. Картинка про Как сделать двойное подчеркивание html. Фото Как сделать двойное подчеркивание html

background-repeat: repeat-x; делает подчеркивание горизонтальным.

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

Как сделать двойное подчеркивание html. Смотреть фото Как сделать двойное подчеркивание html. Смотреть картинку Как сделать двойное подчеркивание html. Картинка про Как сделать двойное подчеркивание html. Фото Как сделать двойное подчеркивание html

Использование изображений в качестве подчеркивания в CSS

Для стилизации подчеркивания в CSS также можно использовать изображения (в формате SVG или PNG). Ниже приведены примеры (на основе CodePen автор John D. Jameson).

Как сделать двойное подчеркивание html. Смотреть фото Как сделать двойное подчеркивание html. Смотреть картинку Как сделать двойное подчеркивание html. Картинка про Как сделать двойное подчеркивание html. Фото Как сделать двойное подчеркивание html

Как сделать двойное подчеркивание html. Смотреть фото Как сделать двойное подчеркивание html. Смотреть картинку Как сделать двойное подчеркивание html. Картинка про Как сделать двойное подчеркивание html. Фото Как сделать двойное подчеркивание html

Анимированное подчеркивание при наведении

Давайте теперь создадим анимированное подчеркивание для кнопок меню. Нам понадобится следующая разметка:

Вот общие стили для четырех примеров (специфические стили будут приведены ниже):

Анимированное подчеркивание при наведении № 1

Как сделать двойное подчеркивание html. Смотреть фото Как сделать двойное подчеркивание html. Смотреть картинку Как сделать двойное подчеркивание html. Картинка про Как сделать двойное подчеркивание html. Фото Как сделать двойное подчеркивание html

Анимированное подчеркивание при наведении № 2

Как сделать двойное подчеркивание html. Смотреть фото Как сделать двойное подчеркивание html. Смотреть картинку Как сделать двойное подчеркивание html. Картинка про Как сделать двойное подчеркивание html. Фото Как сделать двойное подчеркивание html

Анимированное подчеркивание при наведении № 3

Как сделать двойное подчеркивание html. Смотреть фото Как сделать двойное подчеркивание html. Смотреть картинку Как сделать двойное подчеркивание html. Картинка про Как сделать двойное подчеркивание html. Фото Как сделать двойное подчеркивание html

Анимированное подчеркивание при наведении № 4

Как сделать двойное подчеркивание html. Смотреть фото Как сделать двойное подчеркивание html. Смотреть картинку Как сделать двойное подчеркивание html. Картинка про Как сделать двойное подчеркивание html. Фото Как сделать двойное подчеркивание html

Анимированное подчеркивание, созданное при помощи свойства box-shadow

Как сделать двойное подчеркивание html. Смотреть фото Как сделать двойное подчеркивание html. Смотреть картинку Как сделать двойное подчеркивание html. Картинка про Как сделать двойное подчеркивание html. Фото Как сделать двойное подчеркивание html

Здесь мы добавили к элементу две тени:

Почитать больше о тенях можно здесь.

Подчеркивание «от руки», анимированное при наведении

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

Заменяем комментарий «Invisible SVG block» («Невидимый SVG-блок») на следующий код:

Вот правила CSS, позволяющие спрятать этот элемент:

А эти правила будут общими для обоих примеров:

Первый пример подчеркивания с использованием SVG:

Как сделать двойное подчеркивание html. Смотреть фото Как сделать двойное подчеркивание html. Смотреть картинку Как сделать двойное подчеркивание html. Картинка про Как сделать двойное подчеркивание html. Фото Как сделать двойное подчеркивание html

Заменяем комментарий «First SVG example» следующим кодом (используйте любой свой текст, главное — не меняйте структуру классов):

Второй пример подчеркивания с использованием SVG:

Как сделать двойное подчеркивание html. Смотреть фото Как сделать двойное подчеркивание html. Смотреть картинку Как сделать двойное подчеркивание html. Картинка про Как сделать двойное подчеркивание html. Фото Как сделать двойное подчеркивание html

Заменяем комментарий «Second SVG example» следующим кодом:

На последние два примера меня вдохновило Tympanus demo.

Источник

Способы подчеркивания в CSS

Существует куча разных способов оформления подчеркивания. Возможно, вы вспомните статью Марсина Вичари “Crafting link underlines” на Medium. Разработчики Medium не пытаются сделать что-то безумное, они просто хотят создать красивую линию под текстом.

Как сделать двойное подчеркивание html. Смотреть фото Как сделать двойное подчеркивание html. Смотреть картинку Как сделать двойное подчеркивание html. Картинка про Как сделать двойное подчеркивание html. Фото Как сделать двойное подчеркивание html

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

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

Подходы

Так что это за различные способы, которыми мы можем реализовать подчеркивание в вебе?

Вот те, которые я рассматриваю:

Разберем эти способы один за другим и поговорим о плюсах и минусах каждого из них.

text-decoration

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

Самая большая проблема с text-decoration это отсутствие настроек. Вы ограничены цветом и размером шрифта текста и у вас нет кроссбраузерного способа изменить это. Мы еще поговорим об этом подробнее.

border-bottom

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

Вот так border-bottom выглядит у строчных элементов.

box-shadow

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

background-image

Метод с background-image наиболее близок к нашим желанием и обладает минимумом недостатков. Идея состоит в использовании linear-gradient и background-position для создания изображения, повторяющегося под строчками текста.

Фильтры SVG

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

Как сделать двойное подчеркивание html. Смотреть фото Как сделать двойное подчеркивание html. Смотреть картинку Как сделать двойное подчеркивание html. Картинка про Как сделать двойное подчеркивание html. Фото Как сделать двойное подчеркивание html

Underline.js (Canvas)

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

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

Новые свойства text-decoration

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

Но слишком сильно не радуйтесь… Поддержка в браузерах — как всегда. Такие дела.

text-decoration-color

Свойство text-decoration-color позволяет вам изменять цвет подчеркивания отдельно от цвета текста. Поддержка этого свойства лучше, чем можно было ожидать — оно работает в Firefox и с префиксом в Safari. Вот в чем загвоздка: если у вас есть выносные элементы, Safari поместит подчеркивание поверх текста.

Как сделать двойное подчеркивание html. Смотреть фото Как сделать двойное подчеркивание html. Смотреть картинку Как сделать двойное подчеркивание html. Картинка про Как сделать двойное подчеркивание html. Фото Как сделать двойное подчеркивание html

Как сделать двойное подчеркивание html. Смотреть фото Как сделать двойное подчеркивание html. Смотреть картинку Как сделать двойное подчеркивание html. Картинка про Как сделать двойное подчеркивание html. Фото Как сделать двойное подчеркивание html

text-decoration-skip

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

Как сделать двойное подчеркивание html. Смотреть фото Как сделать двойное подчеркивание html. Смотреть картинку Как сделать двойное подчеркивание html. Картинка про Как сделать двойное подчеркивание html. Фото Как сделать двойное подчеркивание html

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

text-decoration-style

Вот список доступных значений:

Сейчас свойство text-decoration-style работает только в Firefox, вот скриншот из него:

Как сделать двойное подчеркивание html. Смотреть фото Как сделать двойное подчеркивание html. Смотреть картинку Как сделать двойное подчеркивание html. Картинка про Как сделать двойное подчеркивание html. Фото Как сделать двойное подчеркивание html

Чего не хватает

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

После небольшого исследования, я нашел еще пару свойств:

Судя по всему, они относятся к ранним черновикам CSS, но их так и не реализовали в браузерах из-за отсутствия интереса.

Выводы

Так какой же способ подчеркивания лучший?

Для отдельных строк текста используйте border-bottom вместе с любыми дополнительными свойствами.

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

Также рекомендую обратить внимание на статью Бенджамина Вудроффа CSS Underlines Suck, в которой рассматриваются те же вопросы.

Источник

Двойное подчеркивание в html – Как сделать подчеркивание текста и ссылок в CSS / HTML

Поиск
Рубрики

Подчеркивание элементов на CSS | Kngaroo Studio

Давно хотелось поделиться своим опытом в вёрстке с другими специалистами и сегодня решили опубликовать свой первый пост о небольшой «фишке»: подчеркивание элементов на CSS. Многие из нас видели такой эффект, как появление полосы под каким-либо элементом. Причем полоса плавно появляется либо от края, либо от центра и подчеркивает весь элемент.

Хотим заметить, что это не значение border в CSS, а несколько другое значение, при использовании которого не потребуется использование скриптов или flash. Итак, давайте начнем.

Варианты подчёркивания

На самом деле, вариантов может быть множество – всё зависит от вашей фантазии. Мы вам покажем три разных варианта: появление полосы слева, от центра и справа.

Пример 1: подчёркивание слева

Для начала давайте создадим элемент. Например, тег a, который является ссылкой.

Обычно подчеркивание определяется значением text-decoration, но анимация в этом случае не будет работать. В данном случае мы его опустим и присвоим псевдоэлемент :before, с помощью которого мы и сделаем анимированное появление подчёркивания.

Данному элементу мы задали блочное обтекание, что не позволит подчёркиванию выйти за пределы границ элемента и позволит разместить тег в любом месте внутри какого-либо блока. Далее перейдём к псевдоэлементу :before.

Мы задали абсолютное позиционирование псевдоэлементу для того, чтобы подчёркивание было внутри тега и не выходило за его пределы. Высота полосы будет составлять 2 пиксела, длина будет равна 0, цвет красный, а значение transition отвечает за анимацию. Теперь остается добавить эффект при наведении.

Таким образом мы задали значение длины в 40% от всей длины элемента. По аналогии расскажу и про другие примеры, где мы будем использовать еще один псевдоэлемент.

Пример 2: подчёркивание от центра

Оставим тот же тег.

Здесь мы добавили псевдоэлемент :after, указали позиционирование слева 50% и добавили анимацию для того, чтобы появление было плавным. Данное значение размещает полосы строго по середине.

При наведении нам нужно, чтобы подчеркивание шло от центра к краям элемента. Таким образом, пвседоэлементу :before мы задали позиционирование слева равным 0, что сделает появление подчёркивания к левому краю.

Пример 3: подчёркивание справа

Таким образом, мы получили появление подчёркивания справа.

Красивое css подчеркивание элементов

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

Вариации подчеркивания

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

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

Таким образом мы задали блочную обтекаемость и позиционирование относительно исходного места. Все это делается для того, чтобы подчеркивание не вылезало за пределы элемента, когда мы псевдоэлементу ::before назначим абсолютное позиционирование. После этого нам необходимо задать его четкое расположение и размер. И тут мы сразу же создаем первую половину подчеркивания.

Дальше нам остается только добавить эффект при наведении мышки на ссылку.

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

В веб-дизайне часто прибегают к такому решению — подчеркивание ссылок пунктирной линией или точками. Такие ссылки обычно не совершают перехода на страницу, а открывают какой-либо скрытый слой. Например: на сайте expange.ru (если пользователь не авторизован) при нажатии на ссылку «Авторизация» открывается скрытый слой, на котором форма авторизации — удобно, быстро и без перезагрузки страницы (экономия трафика).

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

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

Примечание: В Internet Explorer 6 подчеркнуть точками не получится, выглядеть будет как подчеркивание черточкой.

Примечание

a:hover

Свойство padding в ссылках

Если ссылка в стилях имеет свойство

Устанавливаем пунктирное подчеркивание ссылок. | Vaden Pro

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

Как сделать двойное подчеркивание html. Смотреть фото Как сделать двойное подчеркивание html. Смотреть картинку Как сделать двойное подчеркивание html. Картинка про Как сделать двойное подчеркивание html. Фото Как сделать двойное подчеркивание html

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

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

В последнее время отходят от такого формата подчеркивания, и все чаще на сайтах можно встретить подчеркивание ссылок пунктирной линией. Для осуществления такого подчеркивания свойство text-decoration уже не послужит. Для этого нужно обратиться к свойству border-bottom. Через него мы установим нижнюю границу для ссылки, которая и послужит нашим подчеркиванием. Чтобы сделать линию пунктирной, требуется указать стиль линии в этом свойстве. Пунктиру соответствует команда dashed. Но перед этим нужно не забыть убрать исходное подчеркивание, которое определяется браузером по умолчанию для ссылок. Для этого обращаемся все к тому же свойству text-decoration и прописываем для него значение none. Чтобы наша фишка применилась только к определенной группе ссылок – необходимо указать селектор класса. Код смотрим внизу

Что видим в браузере?

Как сделать двойное подчеркивание html. Смотреть фото Как сделать двойное подчеркивание html. Смотреть картинку Как сделать двойное подчеркивание html. Картинка про Как сделать двойное подчеркивание html. Фото Как сделать двойное подчеркивание html

Для справки

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

В каких браузерах работает?

Оценок: 2 (средняя 5 из 5)

Как сделать двойное подчеркивание html. Смотреть фото Как сделать двойное подчеркивание html. Смотреть картинку Как сделать двойное подчеркивание html. Картинка про Как сделать двойное подчеркивание html. Фото Как сделать двойное подчеркивание html

Понравилась статья? Расскажите о ней друзьям:

Курсы по CSS (в открытом доступе)

Автор: Евгений Рыжков Дата публикации: 19.12.2009

Задача

Сделать особое оформление подчеркивания ссылок не прибегая к использованию дополнительных тегов. Примеры таких задач:

Когда на странице много ссылок близко расположенных друг к другу, все их подчеркивания мешают восприимчивости текста, а иногда откровенно раздражают:

налепленные ссылки на europages.com

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

Как сделать двойное подчеркивание html. Смотреть фото Как сделать двойное подчеркивание html. Смотреть картинку Как сделать двойное подчеркивание html. Картинка про Как сделать двойное подчеркивание html. Фото Как сделать двойное подчеркивание htmlприглушенное подчеркивание на livejournal.ru пунктирное подчеркивание на b2b-club.ru

Решение

Для примера сделаем цвет подчеркивания отличным от цвета текста ссылки, плюс сразу сделаем его пунктиром. Т.к. напрямую нельзя влиять на цвет и вид подчеркивания ссылки, воспользуемся свойством border-bottom:

Очень простое решение. Таким же образом можно сделать любого вида подчеркивание используя свойство background-image при заданном background-position: left bottom.

Но данное решение не всегда подходит. Например, нужно оформить следующую ссылку:

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

Жаль, но такой вариант в данном случае не подойдет — подчеркивание у нас бордюром, а бордюр тянется по всей ширине элемента:

IE7 оказался более тендитным к применению свойств чисто блочных (padding-top и padding-bottom) к строчному элементу:

В общем, придется немного усложнить html код ровно на один элемент. Для этого возьмем нейтральный — span:

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *