纯 CSS 实现点击展开阅读全文功能

文章描述的内容适用于单篇文章的效果, 而在使用 <li></li> 标签生成表数据的情况下并不友好, 所以在此基础上进行了相对应的优化, 具体代码如下:

1
2
3
4
5
<div>
    <ul id="content-ul">
        <!-- 这是存放文章内容 LI 标签的标签体 -->
    </ul>
</div>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
[id^="contTab"] {
    display: none;
}
 
.content-more {
    display: none;
}
 
[id^="contTab"]:checked ~ #content {
    max-height: 95px;
    overflow: hidden;
}
 
[id^="contTab"]:checked ~ .content-more {
    display: block;
    position: relative;
    text-align: center;
}
 
[id^="contTab"]:checked ~ .content-more .gradient {
    background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), to(#fff));
    background-image: -webkit-linear-gradient(top, rgba(255, 255, 255, 0), #fff);
    background-image: linear-gradient(-180deg, rgba(255, 255, 255, 0), #fff);
    height: 80px;
    position: absolute;
    left: 0;
    top: -79px;
    width: 100%;
}
 
[id^="contTab"]:checked ~ .content-more .readmore {
    display: inline-block;
    background: #319a1717;
    color: #0014ff9e;
    width: 300px;
    height: 30px;
    border-radius: 32px;
    line-height: 32px;
    font-size: 14px;
    cursor: pointer;
    text-indent: 0;
}
当然了, 这儿附上一段 JS 的代码:

1
2
3
4
5
6
7
8
9
10
11
12
function inner(response) {
    for (var val of response.data) {
        document.getElementById('content-ul').innerHTML += '' +
            '<li>' +
            '<h2 class="title">' + val.title + '</h2>' +
            '<p class="update_author">' + val.author_name + ' / ' + layui.util.toDateString(val.update, "yyyy-MM-dd HH:mm:ss") + '</p>' +
            '<input type="checkbox" id="contTab_' + val.id + '" checked="checked" class="tabbed">' +
            '<div id="content">' + val.content + '</div>' +
            '<div class="content-more"><div class="gradient"></div> <label for="contTab_' + val.id + '" class="readmore">点 击 查 阅 全 文</label></div>' +
            '</li>'
    }
}
说明

改善的方式是将绑定的标签 ID 属性使用动态的方式生成并绑定, 其次使用 CSS 选择器, 使用的是模糊匹配的方式, 不局限于某个具体的 ID 选择器。

源码

该代码片段是应用于 M&OAS 项目中, 你可以 点击这里 查看相关的代码信息, 获得更加完整的代码。

PS:如果你进去了居然发现没有相关的代码块, 不要惊慌, 可能我还没有上传到 GITHU 上, 多多包涵 QAQ ~

脑子是个好东西, 哈哈哈哈哈哈~

到此这篇关于纯 CSS 实现【点击展开阅读全文】功能的文章就介绍到这了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值