Волнистое подчеркивание в CSS

Могу ли я создать волнистое подчеркивание как это: http://i.imgur.com/aiBjQry.png
Я могу получить только твердую границу:

.err {
  border-bottom:1px solid red;
  display: inline-block;
}
<div>A boy whose name was Peter was <div class="err">woking</div> down the street</div>

4 ответа

Решение

Без фонового изображения:

.err {
  display: inline-block;
  position: relative;
}
.err:before {
  content: "~~~~~~~~~~~~";
  font-size: 0.6em;
  font-weight: 700;
  font-family: Times New Roman, Serif;
  color: red;
  width: 100%;
  position: absolute;
  top: 12px;
  left: -1px;
  overflow: hidden;
}
<div>A boy whose name was Peter was
  <div class="err">woking</div> down the street</div>

С фоновым изображением:

.err {
    display: inline-block;
    position:relative;
    background: url(http://i.imgur.com/HlfA2is.gif) bottom repeat-x;
}
<div>A boy whose name was Peter was <div class="err">woking</div> down the street</div>

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

.err {
  border-bottom:2px dotted red;
  display: inline-block;
  position: relative;

}

.err:after {
  content: '';
  width: 100%;
  border-bottom:2px dotted red;
  position: absolute;
  font-size: 16px;
  top: 15px; /* Must be font-size minus one (16px - 1px) */
  left: -2px;
  display: block;
  height: 4px;

  
  }
<div>A boy whose name was Peter was <div class="err">woking</div> down the street</div>

Вы могли бы использовать CSS text-decoration-style имущество.

-webkit-text-decoration-style: wavy;
-moz-text-decoration-style: wavy;
text-decoration-style: wavy;

Однако это ограничено Firefox и Safari. Возможно, вам придется рассмотреть вопрос об использовании изображения вместо.

Вы можете использовать :after Псевдоэлемент на ссылку и установить фон повторения х волнового изображения. Вы также можете использовать border-image Свойство CSS3, но это не полностью поддерживается для старых браузеров

Другие вопросы по тегам