CSS 自动显示“全文”链接,详细讲解

然后加点样式,-webkit-line-clamp 实现多行截断

.wrap {

background: #fff;

border-radius: 8px;

padding: 15px;

box-shadow: 20px 20px 60px #bebebe,

-20px -20px 60px #ffffff;

}

.text{

overflow: hidden;

text-overflow: ellipsis;

text-align: justify;

display: -webkit-box;

-webkit-line-clamp: 3; /多行超出省略/

-webkit-box-orient: vertical;

line-height: 1.5;

}

可以得到这样的效果

很显然,下面的链接也是一直存在的。那么,CSS 如何区分这两种情况呢?

二、不完美实现


起初,我很快想到了一种实现方式,如下

在文本的末尾使用一个元素遮盖住下面的链接,这里可以用伪元素::after实现。

.text::after{

content: ‘’;

position: absolute;

display: block;

width: 100%;

height: 50px; /只要能盖住链接就行/

background: red;

}

效果如下

注意上面的实现,由于在设置绝对定位时,并没有设置 top 值,所以 ::after 仍然紧跟在文本的后面。因此在文本超出的情况下,::after已经位于可视范围外了,所以不会遮盖下面的链接,实际上是这个样子

最后把遮盖的颜色换成相同的底色就可以了

.text::after{

background: inherit; /继承父级的背景/

}

完整代码可访问 codepen.io

那为什么说这是不完美的呢?

细心的小伙伴可能已经发现了,就是当不显示链接的时候,下面仍然占据着空间。当我把这个实现给到同事时,果然是这样

三、完美的实现


虽然功能上没什么问题,但视觉上肯定难以接受。仔细比较两种情况的差异,不难发现,两种情况的高度是不一样的(???当文本较少时,默认少一行链接的高度),所以可以想想,怎样减少容器的高度呢?这里我想到了负的 margin,实现如下

首先,肯定不能再用绝对定位了

.text::after{

content: ‘’;

/position: absolute;/

display: block;

height: 50px; /随便给一个高度,也可以为0/

background: red;

}

这里随便给一个高度都行,也可以为0,为了颜色方便所以给了 50px,还加了背景色

这样,在文本较少时的效果如下(文本较多的时候已经出界了,不受影响)

接着,给::after设置负的 margin-top,假设链接的高度是 20,那么就需要往上移动自身高度加上 20,也就是

.text::after{

/其他样式/

margin-top: -70px; /50 + 20/

}

小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img
img
img
img

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:前端)
img

自学几个月前端,为什么感觉什么都没学到??


这种现象在很多的初学者和自学前端的同学中是比较的常见的。

因为自学走的弯路是比较的多的,会踩很多的坑,学习的过程中是比较的迷茫的。

最重要的是,在学习的过程中,不知道每个部分该学哪些知识点,学到什么程度才算好,学了能做什么。

很多自学的朋友往往都是自己去找资料学习的,资料上有的或许就学到了,资料上没有的或许就没有学到。

这就会给人一个错误的信息就是,我把资料上的学完了,估计也-就差不多的了。

但是真的是这样的吗?非也,因为很多人找的资料就是很基础的。学完了也就是掌握一点基础的东西。分享给你一份前端分析路线,你可以参考。

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

还有很多的同学在学习的过程中一味的追求学的速度,很快速的刷视频,写了后面忘了前面,最后什么都没有学到,什么都知道,但是什么都不懂,要具体说,也说不出个所以然。

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】](https://bbs.csdn.net/topics/618166371)**

还有很多的同学在学习的过程中一味的追求学的速度,很快速的刷视频,写了后面忘了前面,最后什么都没有学到,什么都知道,但是什么都不懂,要具体说,也说不出个所以然。

所以学习编程一定要注重实践操作,练习敲代码的时间一定要多余看视频的时间。

  • 16
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值