纯CSS制作单页Web应用

在我之前写的使用hash制作单页Web应用一文中,讲到使用Javascript中的location.hash来制作单页Web应用,看到那么长一段JS只是为了实现一个简单的Tab切换,实在是有点大材小用了。而今天所要分享的,同样是利用hash来实现切换,但是不同的是,这次不写任何JS,而是使用纯CSS来实现相同的效果。

这次我们主要要用到一个CSS伪类选择器:target,它可以给id为当前页面hash值的元素加上相应样式,以下是样例关键代码:

<!--HTML关键代码-->
<nav class="tab">
    <ul>
        <li><a href="#page1">页面一</a></li>
        <li><a href="#page2">页面二</a></li>
        <li><a href="#page3">页面三</a></li>
    </ul>
</nav>
<div class="tab-cont">
    <ul>
        <li id="page1">页面一</li>
        <li id="page2">页面二</li>
        <li id="page3">页面三</li>
    </ul>
</div>
/*CSS关键代码*/
.tab-cont ul li{ opacity: 0;}
.tab-cont ul li:target{ opacity: 1;}
.tab-cont ul li:nth-child(1){ opacity: 1; }

当点击class属性值为tab的元素中的第二个a标签时, 页面url的hash值变为#page2,所以此时id为page2的li元素就会加上li:target中的样式,这样page2就显示出来了,而其他的li会回到常态的opacity: 0样式,这样就实现了简单的Tab切换。

兼容性: :target伪类选择器的兼容性还是比较好的,可以兼容目前主流浏览器,不兼容IE8及以下版本。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值