纯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日
下一篇 2020年10月26日

相关推荐

  • 日志中的HTTP状态码都代表什么?

    作SEO时,我们经常会在日志上看到类似这样的代码: 61.135.166.232 – – [31/Dec/2007:02:30:11 +0800] “GET /category21.html HTTP/1.1” 200 10968 “-” “Baiduspider+(+htt…

    建站入门 2018年2月11日
    15700
  • 关键词放在什么位置最好?

    页面上的什么位置放着关键词最好?搜索引擎认为,网页上重要的地方往往放着关键词。 首先关键词应该在文章的每个段落里; 网页头部标签(如:Description Tag-描述标签、关键词标签等)应该放着关键词; 网页上图片的ALT标签里应该写上关键词; 可以考虑把关键词作为子目录; 网页中谈到其他网页的关键词时,不要忘了添加链接并指向那个网页; 添加关键词时,应…

    建站入门 2018年4月19日
    16300
  • 网站被百度和google封了,怎么办?

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

    建站入门 2018年2月11日
    15900
  • 百度智能小程序SEO指南

    第一章、智能小程序建设如何对搜索友好 一、页面结构要求 1、页面结构清晰、各模块划分清晰。 2、分类划分明确,设置醒目,分类主题的文章对应发布到相应分类下。 3、Web化url结构清晰,易提炼成正则规则,如果有对应H5网站,建议形成对应关系。 4、页面导航设置合理,机器可读、位置突出,用户能很好得知所访问页面在小程序中的位置。 二、链接 链接在移动端依然起着…

    2019年5月6日
    11100
  • 提高网站页面收录速度技巧

    很多人经常问入门屋小编,我的网站怎么没有收录?文章怎么快速被收录?下面入门屋小编来解析这个问题: 站点页面被搜索引擎收录是各位站长上线网站后首要问题,其实站点页面收录的快慢就是网站权重的体现,网站文章收录速度,也反映了搜索引擎快照的更新速度。要想提高文章被搜索引擎收录的几率,要么让搜索引擎蜘蛛频繁光顾你的网站抓取信息,要么把你网站上的内容充实起来,每天更新大…

    建站入门 2018年8月16日
    14000

发表回复

登录后才能评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

关注微信