往期推荐:
「CSS布局之全屏布局」
「CSS布局(二)之多列布局」
「CSS布局(三)之等分布局」
前言
在我们开发一些文字较多的页面时,往往需要对文字做一些特殊处理,比如文本环绕,亦或者文本溢出等。接下就让我带大家加看看具体是怎么实现的把。
文本布局
对文本进行相应的布局处理,使其达到我们相要的排版。
文本环绕
可以通过 float 来实现,达到文本环绕的效果。
<div class="layout"> <img src="https://w.wallhaven.cc/full/pk/wallhaven-pkgk6j.jpg" />人生匆匆,光阴易逝,但青春却能永葆。 青春其实就是一颗永远强劲搏动流量充沛的心。年轻英俊,皮肤细嫩,嘴唇红润只是青春的外表,不是青春的实质。青春的实质是坚韧顽强的意志、充沛饱满的感情、丰富高远的想象力和旺盛喷涌清澈常新的生命之泉。</div>
复制代码
.layout { width: 414px; height: 736px; overflow: hidden; font-size: 20px; color: gray; word-break: break-all; // 在单词内换行 img { float: left; width: 250px; height: 150px; margin-right: 20px; }}
复制代码
文本溢出
文本溢出也算是我们经常会遇到的一种文本布局,一般分为单行文本溢出和多行文本溢出。
<div class="layout"> <p class="s-ellipsis"> 人生匆匆,光阴易逝,但青春却能永葆。 </p> <p class="m-ellipsis"> 青春其实就是一颗永远强劲搏动流量充沛的心。年轻英俊,皮肤细嫩,嘴唇红润只是青春的外表,不是青春的实质。青春的实质是坚韧顽强的意志、充沛饱满的感情、丰富高远的想象力和旺盛喷涌清澈常新的生命之泉。 </p></div>
复制代码
.layout { margin: 20px; width: 314px; height: 736px;
p { line-height: 30px; font-size: 20px; text-align: justify;
}}
复制代码
单行文本溢出
单行 文本溢出相对简单。通过 overflow 和 text-overflow 即可实现。
.s-ellipsis { color: green; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
复制代码
多行文本溢出
多行文本相对麻烦一点,通过 max-height 和 line-height 计算出想要显示的行数,再通::after 和 position 把省略号定位在指定位置即可。
.m-ellipsis { color: orange; overflow: hidden; position: relative; max-height: 120px; line-height: 40px; &::after { position: absolute; right: 0; bottom: 0; padding-left: 20px; background: linear-gradient(to right, transparent, #eee 50%); content: "..."; }}
复制代码
注意:如果单行的话,也会出现省略号,这个时候就需要通过 js 来特殊处理了。
好,今天就到这里了,今天努力的你依然是最棒的。加油,加油,你最棒!加油,加油,你最强!哦豁,Bye Bye!!!
评论