纯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

相关推荐

  • 如何设置首选域?

    两种方法设置首选域: 301重定向的方法设置首选域。 使访问rumenwu.com/的时候就会自动转到 www.rumenwu.com。在.htaccess文件里写上以下代码: RewriteEngine on RewriteCond %{http_host} ^mydomain.com [NC] RewriteRule ^(.*)$ http://www.…

    建站入门 2018年3月2日
    58400
  • 伤口消毒用碘酒还是碘伏?

    伤口消毒用什么?

    建站入门 2025年1月17日
    15600
  • Typecho使用指南 – 主题&插件

    前言 自从买VPS,就一直研究还可以做些什么?于是,我想到自己搭建个博客,上网看看了,感觉Typecho,挺不错的。故写下此篇博客。 准备 Typecho 安装 下载Typecho压缩包,上传服务器wwwroot下,把所有文件解压出来。 进入数据库中,创建一个typecho的数据库。 在浏览器中访问您的域名将自动跳转到安装地址(记得要绑定域名),点击“我准备…

    建站入门 2018年11月12日
    1.0K00
  • 织梦CMS通用安装教程

    今天先跟大家介绍一下dedecms织梦系统安装的方法步骤,以及织梦数据库还原的教程。详细请看图文讲解:1.运行 http://域名/install/index.php(比如你的域名是:http://www.rumenwu.com/,就输入http://www.rumenwu.com/install/index.php) (注)输入网址 http://域名/i…

    建站入门 2018年3月8日
    51400
  • wordpress太卡如何解决?

    目前自媒体、短视频时代,网站早已是明日黄花,浏览网站的用户也被各平台瓜分,但是对于企业和个人站长来说,网站依然有存在的意义。国内建站较多的且官方还在更新的cms系统已经屈指可数,所以不少国内站长也开始尝试使用wordpress建站,在使用过程中wp会很吃资源,导致中低配置服务器站长感觉wp很卡。 那么今天就来解决这个问题,个人测试效果显著。 为了让大家了解什…

    2024年11月29日
    26900

发表回复

登录后才能评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

关注微信