Фон может это сделать. Вам просто нужно настроить line-height
и padding-bottom
в зависимости от шрифта, который вы используете
.box span {
background: linear-gradient(black, black) bottom/100% 1px no-repeat;
padding-bottom: 0.2em; /* you may have to adjust this */
}
.box {
overflow: hidden; /* hide the last line */
line-height: 1.3em; /* you may have to adjust this */
/* text-align:justify uncomment this to justify the text*/
}
<div class="box">
<span>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer dolor est, condimentum id fringilla eget, vulputate nec odio. Fusce a metus feugiat, euismod urna eu, pretium lacus. Aenean semper sollicitudin felis eget viverra. Mauris feugiat sem non arcu malesuada rhoncus. Sed placerat in dolor eu dignissim. Proin aliquam odio non arcu hendrerit, ut ultrices ex dignissim. Suspendisse convallis ultricies nulla id vehicula. Sed et sem bibendum,
</span>
</div>
<div class="box" style="font-size:20px;">
<span>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer dolor est, condimentum id fringilla eget, vulputate nec odio. Fusce a metus feugiat, euismod urna eu, pretium lacus. Aenean semper sollicitudin felis eget viverra. Mauris feugiat sem non arcu malesuada rhoncus. Sed placerat in dolor eu dignissim. Proin aliquam odio non arcu hendrerit, ut ultrices ex dignissim. Suspendisse convallis ultricies nulla id vehicula. Sed et sem bibendum,
</span>
</div>
Граница также может делать то же самое:
.box span {
border-bottom:1px solid black;
padding-bottom: 0.1em; /* you may have to adjust this */
}
.box {
overflow: hidden; /* hide the last line */
line-height: 1.3em; /* you may have to adjust this */
/* text-align:justify uncomment this to justify the text*/
}
<div class="box">
<span>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer dolor est, condimentum id fringilla eget, vulputate nec odio. Fusce a metus feugiat, euismod urna eu, pretium lacus. Aenean semper sollicitudin felis eget viverra. Mauris feugiat sem non arcu malesuada rhoncus. Sed placerat in dolor eu dignissim. Proin aliquam odio non arcu hendrerit, ut ultrices ex dignissim. Suspendisse convallis ultricies nulla id vehicula. Sed et sem bibendum,
</span>
</div>
<div class="box" style="font-size:20px;">
<span>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer dolor est, condimentum id fringilla eget, vulputate nec odio. Fusce a metus feugiat, euismod urna eu, pretium lacus. Aenean semper sollicitudin felis eget viverra. Mauris feugiat sem non arcu malesuada rhoncus. Sed placerat in dolor eu dignissim. Proin aliquam odio non arcu hendrerit, ut ultrices ex dignissim. Suspendisse convallis ultricies nulla id vehicula. Sed et sem bibendum,
</span>
</div>
Другая идея, если вы хотите охватить всю строку:
.box {
overflow: hidden;
font-size:15px;
line-height: 1.4em;
background:
repeating-linear-gradient(to bottom,transparent 0 calc(1.4em - 1px), black 0 1.4em)
0 0/100% calc(100% - 1em);
/* text-align:justify uncomment this to justify the text*/
}
<div class="box">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer dolor est, condimentum id fringilla eget, vulputate nec odio. Fusce a metus feugiat, euismod urna eu, pretium lacus. Aenean semper sollicitudin felis eget viverra. Mauris feugiat sem non arcu malesuada rhoncus. Sed placerat in dolor eu dignissim. Proin aliquam odio non arcu hendrerit, ut ultrices ex dignissim. Suspendisse convallis ultricies nulla id vehicula. Sed et sem bibendum,
</div>
<div class="box" style="font-size:20px;">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer dolor est, condimentum id fringilla eget, vulputate nec odio. Fusce a metus feugiat, euismod urna eu, pretium lacus. Aenean semper sollicitudin felis eget viverra. Mauris feugiat sem non arcu malesuada rhoncus. Sed placerat in dolor eu dignissim. Proin aliquam odio non arcu hendrerit, ut ultrices ex dignissim. Suspendisse convallis ultricies nulla id vehicula. Sed et sem bibendum,
</div>