Создайте рамку снизу меньше, чем элемент и с более толстой серединой - PullRequest
0 голосов
/ 26 апреля 2018

Я использую некоторые стилизованные HR для создания разделителей разделов.

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

Примерно так:

This is the idea

Я искал несколько источников поиска, пытаясь найти решение, но ничего подобного не нашел.

Я пытался использовать: после и: до, но все еще застрял. Есть идеи?

Что я пробовал до сих пор:

h1 {
  display:inline;
  border-bottom:1px solid black;
}

h1:after {
 content: '';
  display: block;
  width: 100%;
  height: 100%;
  border-bottom:3px solid red;
}
<h1>
My Text
</h1>

Ответы [ 2 ]

0 голосов
/ 27 апреля 2018

Вы можете использовать псевдоэлементы ::before и ::after для создания линий:

h1 {
  display:inline-block;
  font-size:3em;
  position: relative;
  font-family: Impact, Arial;
  color: #444;
  font-weight: 900;
}
h1::before,
h1::after {
  content: '';
  display: block;
  background: #ea596e;
  position: absolute;
}
h1::before {
  width: 40%;
  height: 5px;
  bottom: -12px;
  left: 30%;
}
h1::after {
  width: 80%;
  height: 1px;
  bottom: -10px;
  left: 10%;
}
<h1>my &lt;h1&gt; tag</h1>
0 голосов
/ 26 апреля 2018

Вы можете легко сделать это с помощью линейного градиента без дополнительной разметки или псевдоэлемента:

h1 {
  display:inline-block;
  font-size:3em;
  padding-bottom:10px;
  background:
  linear-gradient(red,red)50% calc(100% - 2px)/80% 2px no-repeat,
  linear-gradient(red,red)50% 100%/40% 6px no-repeat;
}
<h1>Lorem Ipsum</h1>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...