Изменить толщину линии атрибута подчеркивания CSS

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

H4 {text-decoration: underline;}

Как вы можете затем отредактировать нарисованную "линию", цвет, который вы получаете на линии, легко определить как "цвет: красный", но как отредактировать высоту линии, то есть толщину?

Ответ 1

Вот один из способов достижения этого:

HTML:

<h4>This is a heading</h4>

<h4><u>This is another heading</u></h4>

CSS:

 u {
    text-decoration: none;
    border-bottom: 10px solid black;
  }​

Вот пример: http://jsfiddle.net/AQ9rL/

Ответ 2

Недавно мне пришлось иметь дело с FF, который подчеркивал слишком толстый и слишком далекий от текста в FF, и нашел лучший способ справиться с ним, используя пару коробок:

.custom-underline{
    box-shadow: inset 0 0px 0 white, inset 0 -1px 0 black
}

Первая тень помещается поверх второй и что вы можете контролировать вторую, изменяя значение "px" для обоих.

Плюс: различные цвета, толщина и подчеркивание

Минус: нельзя использовать на не сплошных фоновых изображениях

Здесь я сделал несколько примеров: http://jsfiddle.net/xsL6rktx/

Ответ 3

Очень легкий... внешний элемент "span" с небольшим шрифтом и подчеркиванием и внутри элемента "font" с большим размером шрифта.

<span style="font-size:1em;text-decoration:underline;">
 <span style="font-size:1.5em;">
   Text with big font size and thin underline
 </span>
</span>

Ответ 4

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

h2{
  position:relative;
  display:inline-block;
  font-weight:700;
  font-family:arial,sans-serif;
  text-transform:uppercase;
  font-size:3em;
}
h2:after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  right:0;
  margin:auto;
  background:#000;
  height:1px;

}

Ответ 5

Я сделаю что-то простое:

.thickness-underline {
    display: inline-block;
    text-decoration: none;
    border-bottom: 1px solid black;
    margin-bottom: -1px;
}
  • Вы можете использовать line-height или padding-bottom для установки между ними
  • Вы можете использовать display: inline в некотором случае

Демо: http://jsfiddle.net/5580pqe8/

CSS underline

Ответ 6

background-image также можно использовать для создания подчеркивания.

Его нужно сдвинуть вниз с помощью background-position и повторить по горизонтали. Ширина линии может быть отрегулирована до некоторой степени с помощью background-size (фон ограничен рамкой содержимого элемента).

.underline
{
    --color: green;
    font-size: 40px;
    background-image: linear-gradient(var(--color) 0%, var(--color) 100%);
    background-repeat: repeat-x;
    background-position: 0 1.05em;
    background-size: 2px 5px;
}
<span class="underline">
     Underlined<br/>
     Text
</span>

Ответ 7

a {
  text-decoration: none;
  position: relative;
}

a.underline {
  text-decoration: underline;
}

a.shadow {
   box-shadow: inset 0 -4px 0 white, inset 0 -4.5px 0 blue;
}
<h1><a href="#" class="underline">Default: some text alpha gamma<br>the quick brown fox</a></h1>
<p>Working:</p>
<h1><a href="#" class="shadow">Using Shadow: some text alpha gamma<br>the quick brown fox<br>even works with<br>multiple lines</a></h1>
<br>

Ответ 8

Мое решение: https://codepen.io/SOLESHOE/pen/QqJXYj

{
    display: inline-block;
    border-bottom: 1px solid;
    padding-bottom: 0;
    line-height: 70%;
}

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

Остерегайтесь отключать поведение подчеркивания по умолчанию, если вы хотите подчеркнуть href.