Используя только CSS, я получил следующий результат
Это можно сделать с помощью следующего кода
span.bar-triangle
{
display:inline-block;
width: 1.82ch;
}
span.bar-triangle > span.bar
{
position:relative;
padding-left:10px;
background-color: transparent;
}
span.bar-triangle > span.triangle
{
background-color: transparent;
position:relative;
left: -0.40ch;
}
span.triangle-bar
{
display:inline-block;
width: 1.82ch;
}
span.triangle-bar > span.triangle
{
padding-right:0.24ch;
background-color: transparent;
}
span.triangle-bar > span.bar
{
position:relative;
left: -0.60ch;
background-color: transparent;
}
div
{
font-family: Arial;
line-height:452%;
font-size:20
}
div > span.char
{
background-color: yellow;
font-size: 80px;
}
<div>
<span class='char bar-triangle'><span class='bar'>l</span><span class='triangle'>⯇</span></span>
<span class='char'>⯇</span>
<span class='char'>⯈</span>
<span class='char triangle-bar'><span class='triangle'>⯈</span><span class='bar'>l</span></span>
</div>
span.bar-triangle
{
display:inline-block;
width: 1.82ch;
}
Этот код исправляет ширину bar-triangle
прямоугольника. Изменение display
на inline-block
необходимо для исправления ширины.
span.bar-triangle > span.bar
{
position:relative;
padding-left:10px;
background-color: transparent;
}
Этот код перемещает символ bar
вправо, так что левое пространство становится больше. Параметр background-color
установлен прозрачным, поскольку цвет фона задан в прямоугольнике bar-triangle
.
span.bar-triangle > span.triangle
{
background-color: transparent;
position:relative;
left: -0.40ch;
}
Этот код перемещает символ треугольника влево до касания вертикального угла влево.
span.triangle-bar
{
display:inline-block;
width: 1.82ch;
}
Что касается bar-triangle
, этот код исправляет ширину прямоугольника triangle-bar
.
span.triangle-bar > span.triangle
{
padding-right:0.24ch;
background-color: transparent;
}
Это увеличение кода вправо к левому и правому отступам равно, а составной символ продолжает центрироваться в triangle-bar
прямоугольник.
span.triangle-bar > span.bar
{
position:relative;
left: -0.60ch;
background-color: transparent;
}
Этот код сдвигает вертикальную черту влево, так что угол вправо касается вертикальной черты.
div
{
font-family: Arial;
line-height:452%;
font-size:20
}
Этот код устанавливает семейство шрифтов.
The * Параметр 1045 * используется для увеличения высоты прямоугольника составного символа. Параметр font-size
используется для исправления разрыва между желтым прямоугольником.
div > span.char
{
background-color: yellow;
font-size: 80px;
}
Этот код задает цвет фона прямоугольника кнопки и размер символа, отображаемого в прямоугольниках.
Параметр line-height
не используется, мы получаем следующий результат
Возможно, существует другое решение, чтобы избежать использования line-height
, но я его не нахожу.
Другая возможность - заменить <span class='char'>
на <div>
.