这样 , 在多行的时候 , 视野内看到的就是文本B了 , 效果如下
文章插图
最后 , 把父级超出隐藏 , 还有文本B背景设置成父级相同的颜色就可以了~
文章插图
到这里为止 , 就实现了文章开头所示的效果 , 完整代码可以查看 codepen auto title(记得鼠标放上去o~)
为了更方便直观的演示 , 这里做了一个类似的列表如下
文章插图
在线例子可访问 codepen auto title list(记得鼠标放上去o~)
三、其他实用案例
下面再介绍两个更加实用的提示效果
- 中间省略效果
细心的小伙伴可能已经发现 , 文章开头的文本超出时 , 省略号是在中间的 。
这种设计有什么好处呢?比如有时候很多文件的名称是相同的 , 只有后缀名不同 , 或者很多会有个版本号 , 举个栗子:
文章插图
当宽度较小时 , 末尾出现了省略号 , 这就很尴尬了 , 由于前面都是一样的 , 一眼看上去完全分不清文件名哪个跟哪个()
文章插图
如果省略号在中间就很好区分了 。那么 , 如何实现这一效果呢?
借助上面的布局 , 下面所有分析只需要对 文本B 进行处理就行了 。关于中间省略效果 , 目前还没有专门的 CSS 样式可以实现 , 不过可以模拟它 , 接着往下看
首先 , 复制一份文本 , 这里使用 ::before 伪类通过 content 生成
.title::before{content: attr(title);}
很明显 , 这个时候两段文本是连接在一起的
文章插图
然后 , 给 :before 设置右浮动 , 宽度设置成 50%
.title::before{content: attr(title);width: 50%;float: right;}
文章插图
接着 , 给 :before 设置超出截断
.title::before{/**/white-space: nowrap;overflow: hidden;text-overflow: ellipsis;}
文章插图
最后 , 把 :before 换成前面省略号的效果 , 可以用 direction 实现 , 关于 direction , 平时可能没怎么接触 , 其实就是改变排版方向的 , 默认是从左到右 , 省略号在右侧 , 如果改成从右到左 , 那么省略号也会在左边 , 所以
.title::before{/**/direction: rtl; /*从右到左*/}
文章插图
现在看看完成效果吧
文章插图
有一点小问题 , 中间的省略号左边的空隙有时候有点大 , 如下
文章插图
这个是因为这个地方刚好换行了 , 所有空出了一小截 。这里可以用文本两端对齐简单优化一下
.title{/**/text-align: justify;}
这样就能保证最右端的文字是靠右的(当然文本的间隙会略微增加一点~) , 效果如下
文章插图
在线例子可访问 codepen auto middle ellipsis(记得鼠标放上去o~)
- 超出滚动效果
有时候 , title 提示可能有点弱 , 不够明显 , 产品需要文本超出的时候 , 鼠标放上去可以自动滚动起来 , 类似这样的效果
推荐阅读
- 作为Web开发人员应避免的10种CSS做法
- css加载loading效果的片段
- 一些不好记却很好用的 CSS 属性
- CSS中px, vw, vh单位
- 介绍一个Python 包,几行代码可实现 OCR 文本识别
- 丢掉JS,CSS也可以独立完成许多牛掰的功能
- 揭秘CSS实用技巧总结
- CSS初步介绍
- 【浏览器】HTML、CSS和JS如何变成页面的?
- 13个顶级免费所见即所得文本编辑器工具