纯CSS制作单页Web应用

作者: 前端王睿 | 来源:发表于2017-06-16 22:31 被阅读100次

    在我之前写的使用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及以下版本。

    相关文章

      网友评论

        本文标题:纯CSS制作单页Web应用

        本文链接:https://www.haomeiwen.com/subject/yngmqxtx.html