使用省略号和计数器隐藏第二行后的文本溢出
问题:
隐藏部分超过两行的文本并添加“...123 T”。因为隐藏的溢出指示器需要一个聪明的解决方案。
解决方案:
虽然未来的更新将提供使用 line-clamp 属性的更简单的方法,但这里有一个创造性的技巧达到这个目的效果:
CSS:
.container { max-width: 200px; margin: 5px; } .main-text { line-height: 1.2em; /* line height */ max-height: calc(2 * 1.2em); /* limit height to 2 lines */ overflow: hidden; display: inline-block; position: relative; } .main-text:after { content: "123 T."; display: inline-block; width: 40px; position: relative; z-index: 999; /* big box shadow to hide the ellipsis */ box-shadow: 40px 0 0 #fff, 80px 0 0 #fff, 120px 0 0 #fff, 160px 0 0 #fff; color: #8e8f8f; font-size: 10px; background: #fff; /* cover text beneath */ margin-left: 2px; } .main-text span { position: absolute; /* bottom right position */ top: 1.2em; /* 1 line height */ right: 0; padding: 0 3px; background: #fff; /* cover text beneath */ } .main-text span:before { content: "..."; /* ellipsis */ } .main-text span:after { content: "123 T."; color: #8e8f8f; font-size: 10px; }
HTML:
<div class="container"> <div class="main-text"> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam metus mi, dapibus sit amet posuere eu, porttitor condimentum nulla. Donec convallis lorem justo, eget malesuada lorem tempor vitae. Aliquam sollicitudin lacus ipsum, at tincidunt ante condimentum vitae. <span></span> </div> </div> <div class="container"> <div class="main-text"> Lorem ipsum <span></span> </div> </div> <div class="container"> <div class="main-text"> Lo <span></span> </div> </div> <div class="container"> <div class="main-text"> Lorem ipsum dolor sit ameta, adipiscing elit. Nam metus <span></span> </div> </div> <div class="container"> <div class="main-text"> Lorem ipsum dolor sit ameta, adipiscing elit <span></span> </div> </div>
此技术确保“.. .123T。”指示器在第二行文本被截断后出现。
以上是如何使用省略号和自定义计数器('...123 T.”)隐藏第二行之后的文本溢出?的详细内容。更多信息请关注PHP中文网其他相关文章!