纯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
来源:入门屋
入门屋著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。部分内容复制其他平台,如有侵权请联系删除。

(7)
打赏 支付宝打赏 支付宝打赏 微信打赏 微信打赏
上一篇 2020-10-20 15:06
下一篇 2020-10-26 21:44

相关推荐

  • 织梦CMS通用安装教程

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

    2018-03-08
    1.9K0
  • 纯CSS3制作TAB选项卡

    这个CSS3 Tab样式已经写出来很久了,一直没有时间把它分享出来,也许网上还有其他很多这样子的代码,但没有一种是用到我说的:checked来做的,不管如何,多掌握一种方式对你也是有帮助的。 效果就如博客之前写过的一个Tab一样:有最新文章、热门文章和随机文章。 第一种::checked 首先像平常写HTML和CSS一样,不过要使用input的radio来做…

    2020-10-26
    7930
  • 使用CSS3实现表格隔行/隔列变色

    废话少说,先看效果,如果不是你想要的,你可以撤了~ 这些都是css控制的,然后我们看下样式: table tr:nth-child(odd){background:#F4F4F4;} table td:nth-child(even){color:#C00;} table tr:nth-child(5){background:#73B1E0;color:#FF…

    2020-11-18
    2.1K0
  • 首页改版方法总结:服务市场首页改版项目

    首页改版一般由以下几种原因引起 业务策略变化 品牌升级 年久失修,体验变差 换了老板,嘿嘿 首页改版一般想要达到的目标 业务策略变化引起的内容变化,从而为用户提供更加丰富、更加精准的内容和服务 品牌升级引起的内容变化,从而在原有用户的体感上新增品牌增益的内容 年久失修导致用户流失严重,通过内容和服务的变化提升用户的留存和转化 感受: 换个品牌LOGO,改个页…

    2018-04-01
    2.5K0
  • WordPress七牛云静态文件CDN加速配置教程

    WordPress网站优化加速一直都是广大站长比较关注的问题,今天主要介绍一下基于七牛云的静态文件(比如图片、js、css)CDN加速的设置方法。 CDN还是对象储存? 目前我们接触到的很多客户都是基于第三方插件对接的对象存储服务,这个本身其实也是没什么问题的,不过接触下来发现很多用户经常会遇到插件选择、文件同步、缩略图生成等各种问题,所以我们更推荐的是CD…

    2018-11-02
    2.8K0
  • Typecho使用指南 – 主题&插件

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

    2018-11-12
    6.2K0