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

看标题大家不难猜到我今天要实现的功能,点击展开全文。 CSS :checked伪类选择器 思路是使用checkbox的:checked来做隐藏和显示。跟上面这个CSS Tab使用radio来实现是差不多的。当点击label标签时,会绑定同步点击 “for” 属性值为 “checkbox” 的 “id”。 HTML代码如下:

<input type="checkbox" id="contTab" checked="checked" class="tabbed">
<div id="cont">这是前端开发博客的正文</div>
<div class="content-more"><div class="gradient"></div> <label for="contTab" class="readmore">点击展开全文</label></div>

当我点击“点击展开全文”时,也就点击了checkbox,也就改变了checkbox的状态为非选中状态了,根据两个状态来显示不同的CSS,从而实现了展开的功能。 需要说明的是这个CSS选择符只兼容IE9及以上。如果要兼容IE8等,可能这个方案就不适合了。 CSS代码如下:

/*阅读全文*/
#contTab{
    display: none;
}
.content-more{
    display: none;
}

#contTab:checked ~ #cont{
    max-height: 600px;
    overflow: hidden;
}
#contTab:checked ~  .content-more{
    display: block;
    position: relative;
    padding-top: 20px;
    padding-bottom: 30px;
    text-align: center;
}
#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%;
}
#contTab:checked ~  .content-more .readmore{
    display: inline-block;
    background: #0067cb;
    color: #fff;
    width: 175px;
    height: 42px;
    border-radius: 42px;
    line-height: 42px;
    font-size: 16px;
    cursor: pointer;
}

兄弟选择符(E~F) 从上面的CSS,大家可以看到我用了这个CSS强大的选择符,顾名思义,选择E元素后面的所有兄弟元素F。与相邻选择符不同的是,兄弟选择符会命中所有符合条件的兄弟元素,而不强制是紧邻的元素。 另外说一下这个选择符支持IE7及以上。 总结 如果你的网站不需要兼容IE9以下的,可以使用我这个方案来实现展开全文的需求。当然label和checkbox结合起来还可以做更多好玩的事,下次有机会再跟你们细聊。

主题测试文章,只做测试使用。发布者:小屋,转转请注明出处:http://www.rumenwu.com/site/1584.html

(8)
小屋的头像小屋
上一篇 2020年10月20日 下午3:06
下一篇 2020年10月26日 下午9:44

相关推荐

  • 实现点击复制并自动打开微信添加好友

    实现这样的功能,需要结合jquery点击按钮复制内容代码的方法进行一定的修改。 实现点击复制微信号并自动打开微信加好友的代码如下: <!DOCTYPE html> <html lang=”en”> <head> <meta charset=”UTF-8″> <script src=”http://libs…

    建站入门 2023年12月6日
    70400
  • 纯css实现移动端水平滚动导航

    目前最简单呈现效果最好的纯css实现移动端水平滚动导航解决方案。 <!DOCTYPE html> <html> <head lang=”en”> <meta charset=”UTF-8″> <title></title> <meta name=”viewport” content…

    建站入门 2020年10月27日
    66000
  • 网站被百度和google封了,怎么办?

    先要确定你的网站已经被百度或google封了(也有人叫K了),通过日志可以获得该信息。菜鸟通过这里学习下怎么看日志。我的站怎么就不被收录呀? 日志中的HTTP状态码都代表什么? 网站被百度和google封了,怎么办? 谷歌从来都不会人工来检查或删除某一个网站,整个建立索引和排名的过程都用自动化的程序进行。如果涉及中国法律相关的内容,百度或许会采取相应办法吧。…

    建站入门 2018年2月11日
    77500
  • 大前端和小前端的区别

    1、小前端指的是Web前端,从浏览器端到web服务器端的所有开发; 2、而大前端就是所有前端的统称,比如Android、iOS、web、Watch等,最接近用户的那一层也就是UI层,然后将其统一起来,就是大前端。大前端最大的特点在于一次开发,同时适用于所有平台,开发者不用为一个APP需要做Android和iOS两种模式而担心。 大前端是web统一的时代,利用…

    建站入门 2022年2月7日
    1.1K00
  • 抖音首次公开推荐算法原理

    3 月 30 日消息,抖音总裁韩尚佑今日宣布,“抖音安全与信任中心”网站上线。网站首次公开抖音推荐算法原理,介绍其推荐算法如何预估用户行为概率,并通过多目标建模等方式实现更优质、丰富的内容推荐,而算法需由平台治理体系对其进行约束和规范。 据IT之家了解,网站也披露了抖音平台治理的审核流程,阐述平台如何应对谣言、网暴等违规内容带来的挑战。 同时,抖音还介绍了自…

    建站入门 2025年3月30日
    31300

发表回复

登录后才能评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信