CSS 文本超出提示效果( 二 )

 
这样 , 在多行的时候 , 视野内看到的就是文本B了 , 效果如下

CSS 文本超出提示效果

文章插图
 
最后 , 把父级超出隐藏 , 还有文本B背景设置成父级相同的颜色就可以了~
CSS 文本超出提示效果

文章插图
 
到这里为止 , 就实现了文章开头所示的效果 , 完整代码可以查看 codepen auto title(记得鼠标放上去o~)
 
为了更方便直观的演示 , 这里做了一个类似的列表如下
CSS 文本超出提示效果

文章插图
 
在线例子可访问 codepen auto title list(记得鼠标放上去o~)
 
三、其他实用案例 
下面再介绍两个更加实用的提示效果
 
  1. 中间省略效果
 
细心的小伙伴可能已经发现 , 文章开头的文本超出时 , 省略号是在中间的 。
 
这种设计有什么好处呢?比如有时候很多文件的名称是相同的 , 只有后缀名不同 , 或者很多会有个版本号 , 举个栗子:
CSS 文本超出提示效果

文章插图
 
当宽度较小时 , 末尾出现了省略号 , 这就很尴尬了 , 由于前面都是一样的 , 一眼看上去完全分不清文件名哪个跟哪个()
CSS 文本超出提示效果

文章插图
 
如果省略号在中间就很好区分了 。那么 , 如何实现这一效果呢?
 
借助上面的布局 , 下面所有分析只需要对 文本B 进行处理就行了 。关于中间省略效果 , 目前还没有专门的 CSS 样式可以实现 , 不过可以模拟它 , 接着往下看
 
首先 , 复制一份文本 , 这里使用 ::before 伪类通过 content 生成
 
.title::before{content: attr(title);} 
很明显 , 这个时候两段文本是连接在一起的
CSS 文本超出提示效果

文章插图
 
然后 , 给 :before 设置右浮动 , 宽度设置成 50%
 
.title::before{content: attr(title);width: 50%;float: right;} 
CSS 文本超出提示效果

文章插图
 
接着 , 给 :before 设置超出截断
 
.title::before{/**/white-space: nowrap;overflow: hidden;text-overflow: ellipsis;} 
CSS 文本超出提示效果

文章插图
 
最后 , 把 :before 换成前面省略号的效果 , 可以用 direction 实现 , 关于 direction , 平时可能没怎么接触 , 其实就是改变排版方向的 , 默认是从左到右 , 省略号在右侧 , 如果改成从右到左 , 那么省略号也会在左边 , 所以
 
.title::before{/**/direction: rtl; /*从右到左*/} 
CSS 文本超出提示效果

文章插图
 
现在看看完成效果吧
CSS 文本超出提示效果

文章插图
 
有一点小问题 , 中间的省略号左边的空隙有时候有点大 , 如下
CSS 文本超出提示效果

文章插图
 
这个是因为这个地方刚好换行了 , 所有空出了一小截 。这里可以用文本两端对齐简单优化一下
 
.title{/**/text-align: justify;} 
这样就能保证最右端的文字是靠右的(当然文本的间隙会略微增加一点~) , 效果如下
CSS 文本超出提示效果

文章插图
 
在线例子可访问 codepen auto middle ellipsis(记得鼠标放上去o~)
 
  1. 超出滚动效果
 
有时候 , title 提示可能有点弱 , 不够明显 , 产品需要文本超出的时候 , 鼠标放上去可以自动滚动起来 , 类似这样的效果


推荐阅读