Я хочу окружить многострочный текст li рамкой.
Я тоже хочу:
1) Сделать рамку только вокруг каждого элемента, как это делается для элемента Root
[Решено!] 2) Сделать границу остановки, где текст останавливается, не растягивая в сторону
3) Добавьте интервал между границами каждого элемента.
Иллюстрация: https://i.imgur.com/o6jd4rK.png
HTML:
<ul>
<li class="root">
Root
</li>
<li>
Lorem ipsum<br>dapibus neque<br>Tincidunt mauris
<ul>
<li>Adipiscing elit.</li>
<li>Tincidunt mauris eu risus.</li>
<li>Vestibulum </li>
</ul>
</li>
<li>Aliquam</li>
<li>
Dapibus
<ul>
<li>Aliquam tincidunt mauris eu risus.</li>
<li>Vestibulum auctor dapibus neque.</li>
</ul>
</li>
</ul>
SCSS:
$maincolor: #F76464;
* {
margin: 0px;
padding: 0px;
}
body {
margin: 50px;
}
ul {
margin: 0px 0px 0px 20px;
list-style: none;
line-height: 2em;
li {
font-size: 16px;
position: relative;
border: 1px solid $maincolor;
&::before {
position: absolute;
left: -15px;
top: 0px;
content: '';
display: block;
border-left: 1px solid $maincolor;
height: 1em;
border-bottom: 1px solid $maincolor;
width: 10px;
}
&::after {
position: absolute;
left: -15px;
bottom: -7px;
content: '';
display: block;
border-left: 1px solid $maincolor;
height: 100%;
}
&.root {
margin: 0px 0px 0px -20px;
&::before {
display: none;
}
&::after {
display: none;
}
}
&:last-child {
&::after {
display: none;
}
}
}
}
Скрипка: https://jsfiddle.net/aky4hwtn/31/
Пока я пытался использовать разные типы отображения, отступы, инкапсуляцию текста с тегом div и т. Д., Но без особого успеха.