纯html+css实现点击切换tab页

核心内容是使用单选框实现css的点击事件

大致分析一下dom结构,被切换的tab页和按钮放在同一个li内 一共需要切换三个页面,也就是说需要有三个li,首先写一下基本dom结构

一、基础结构

我使用的是VScode的软件,可以使用快捷创建dom,就像使用css选择器一样的使用

建立一个类名为box的div,有一个ul的子节点,里面有三个li,li里面包含一个input,一个label 一个div,写完之后按tab键,创建基础结构:

    <div class="box">
        <ul>
            <li>
                <input type="radio" name="check" id="active1" checked><label for="active1">第一页</label>
                <div>道德三皇五帝,功名夏后商周,五霸七雄闹春秋,顷刻兴亡过手,青史几行名姓,北邙无数荒丘,前人播种后人收,说甚龙争虎斗道德三皇五帝,功名夏后商周,五霸七雄闹春秋,顷刻兴亡过手,青史几行名姓,北邙无数荒丘,前人播种后人收,说甚龙争虎斗道德三皇五帝,功名夏后商周,五霸七雄闹春秋,顷刻兴亡过手,青史几行名姓,北邙无数荒丘,前人播种后人收,说甚龙争虎斗道德三皇五帝,功名夏后商周,五霸七雄闹春秋,顷刻兴亡过手,青史几行名姓,北邙无数荒丘,前人播种后人收,说甚龙争虎斗道德三皇五帝,功名夏后商周,五霸七雄闹春秋,顷刻兴亡过手,青史几行名姓,北邙无数荒丘,前人播种后人收,说甚龙争虎斗道德三皇五帝,功名夏后商周,五霸七雄闹春秋,顷刻兴亡过手,青史几行名姓,北邙无数荒丘,前人播种后人收,说甚龙争虎斗道德三皇五帝,功名夏后商周,五霸七雄闹春秋,顷刻兴亡过手,青史几行名姓,北邙无数荒丘,前人播种后人收,说甚龙争虎斗道德三皇五帝,功名夏后商周,五霸七雄闹春秋,顷刻兴亡过手,青史几行名姓,北邙无数荒丘,前人播种后人收,说甚龙争虎斗</div>
            </li>
            <li>
                <input type="radio" name="check" id="active2"><label for="active2">第二页</label>
                <div>难难难道德玄,不对知音不可谈,对了知音谈几句,不对知音枉费舌尖难难难道德玄,不对知音不可谈,对了知音谈几句,不对知音枉费舌尖难难难道德玄,不对知音不可谈,对了知音谈几句,不对知音枉费舌尖难难难道德玄,不对知音不可谈,对了知音谈几句,不对知音枉费舌尖难难难道德玄,不对知音不可谈,对了知音谈几句,不对知音枉费舌尖难难难道德玄,不对知音不可谈,对了知音谈几句,不对知音枉费舌尖难难难道德玄,不对知音不可谈,对了知音谈几句,不对知音枉费舌尖难难难道德玄,不对知音不可谈,对了知音谈几句,不对知音枉费舌尖难难难道德玄,不对知音不可谈,对了知音谈几句,不对知音枉费舌尖难难难道德玄,不对知音不可谈,对了知音谈几句,不对知音枉费舌尖难难难道德玄,不对知音不可谈,对了知音谈几句,不对知音枉费舌尖难难难道德玄,不对知音不可谈,对了知音谈几句,不对知音枉费舌尖难难难道德玄,不对知音不可谈,对了知音谈几句,不对知音枉费舌尖难难难道德玄,不对知音不可谈,对了知音谈几句,不对知音枉费舌尖难难难道德玄,不对知音不可谈,对了知音谈几句,不对知音枉费舌尖难难难道德玄,不对知音不可谈,对了知音谈几句,不对知音枉费舌尖难难难道德玄,不对知音不可谈,对了知音谈几句,不对知音枉费舌尖</div>
            </li>
            <li>
                <input type="radio" name="check" id="active3"><label for="active3">第三页</label>
                <div>诸恶莫作,众善奉行,远报儿女,近在己身,苍天有眼,报应循环,但行好事,莫问前程。诸恶莫作,众善奉行,远报儿女,近在己身,苍天有眼,报应循环,但行好事,莫问前程。诸恶莫作,众善奉行,远报儿女,近在己身,苍天有眼,报应循环,但行好事,莫问前程。诸恶莫作,众善奉行,远报儿女,近在己身,苍天有眼,报应循环,但行好事,莫问前程。诸恶莫作,众善奉行,远报儿女,近在己身,苍天有眼,报应循环,但行好事,莫问前程。诸恶莫作,众善奉行,远报儿女,近在己身,苍天有眼,报应循环,但行好事,莫问前程。诸恶莫作,众善奉行,远报儿女,近在己身,苍天有眼,报应循环,但行好事,莫问前程。诸恶莫作,众善奉行,远报儿女,近在己身,苍天有眼,报应循环,但行好事,莫问前程。诸恶莫作,众善奉行,远报儿女,近在己身,苍天有眼,报应循环,但行好事,莫问前程。诸恶莫作,众善奉行,远报儿女,近在己身,苍天有眼,报应循环,但行好事,莫问前程。诸恶莫作,众善奉行,远报儿女,近在己身,苍天有眼,报应循环,但行好事,莫问前程。诸恶莫作,众善奉行,远报儿女,近在己身,苍天有眼,报应循环,但行好事,莫问前程。诸恶莫作,众善奉行,远报儿女,近在己身,苍天有眼,报应循环,但行好事,莫问前程。</div>
            </li>
        </ul>
    </div>

添加文字内容,和tab标签的内容

active的后缀是我自己加的,不知道怎么自动加,如果有知道的同学可以在评论区教一下,谢谢,

现在该写样式了:

<style>
        /* 清样式,如果是项目中,不推荐使用通配符来清样式,建议使用标签清样式,通配符清样式会增加页面压力 */
        *{
            margin:0;
            padding:0;
        }
        /* 宽度为屏宽的一半,高度为屏高的一半,然后居中 */
        .box{
            width:50vw;
            height:50vh;
            margin:0 auto;
        }
        /* 清除li样式 */
        ul,li{
            list-style: none;
        }
        /* 将ul相对定位,目的是让内容的div绝对定位时相对ul定位,否则会相对body定位 */
        /* ul弹性盒,目的是让li横着排,也可以将li浮动或者转行内块 */
        ul{
            position:relative;
            display:flex;
        }
        /* 将三个li宽度平分,高度60px */
        li{
            flex:1;
            height:60px;
        }
        /* input隐藏 */
        input{
            display:none;
        }
        /* 设置input的下一个节点label的样式 */
        input+label{
            display:block;
            width:100%;
            height:100%;
            background:#ccc;
            font-size:18px;
            text-align: center;
            line-height: 60px;
            color:#333;
        }
        /* 设置div内容的基础样式 隐藏内容div*/
        input+label+div{
            display:none;
            position: absolute;
            left:0;
            top:60px;
        }
        /* input选中状态时候对应的label的样式 */
        input:checked+label{
            background: #333333;
            color:#fff;
        }
        /* input选中时候显示对应的div */
        input:checked+label+div{
            display:block;
        }
    </style>

于是就出现了纯css切换tab页

【完】

 

 

 

 

  • 32
    点赞
  • 123
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 9
    评论
### 回答1: HTMLCSS和JavaScript都是网制作的基础语言。要在一个面里实现登录注册面内部切换,可以使用JavaScript实现。以下是实现步骤: 1. 在面中创建两个DIV,一个DIV用于展示登录界面,另一个DIV用于展示注册界面。设置两个DIV的CSS属性display:none,使其一开始不显示。 2. 在面中创建切换按钮,例如Tab点击Tab时可以实现登录和注册界面的切换。每个Tab都绑定一个点击事件,事件触发时显示对应的DIV。具体实现可以使用JavaScript的DOM操作。 3. 对于登录和注册表单,可以设置表单的hidden属性为true,初始状态下不显示表单。当用户点击Tab时,根据Tab的ID,通过JavaScript修改对应表单的hidden属性为false,就可以显示表单了。 4. 对于表单提交,可以使用JavaScript监听提交事件,根据具体表单的提交事件进行表单验证和数据提交操作。表单验证可以使用JavaScript,也可以使用其他框架如jQuery Validate。 5. 在实现登录注册的功能时,还需要涉及到后台接口的调用,后台可以使用PHP、Java等语言实现,前台则可以使用AJAX等技术进行数据的异步交互。 总之,在实现登录注册面内部切换时,我们需要使用HTMLCSS布局,JavaScript实现交互功能和后台接口的调用。同时,需要对表单的验证和数据交互进行专门的处理。 ### 回答2: 登录注册面内部切换需要用到HTMLCSS、JS三种技术。其中HTML负责面结构的搭建、CSS负责面的样式设计、JS负责面的交互操作。 首先,我们需要在HTML中定义两个div分别来代表登录和注册面。在每个div内部分别放置对应的输入框及按钮,并设置相应的ID和class,以便于后续通过JS操作面结构。 接下来,使用CSS美化面的样式,比如设置背景、字体、边框等等,以便于提高注册登录面的用户体验。此时面已经具备了切换注册登录的基本框架,但缺乏用户交互的功能。 最后,我们需要使用JS实现切换注册登录面的功能。我们可以使用事件监听器,通过点击登录或注册按钮来切换面。当用户点击注册按钮时,将登录面隐藏,显示注册面;当用户点击登录按钮时,将注册面隐藏,显示登录面。 具体来说,我们可以使用document.getElementByID()方法来选取元素,并通过style.display属性来实现元素的显示或隐藏。而切换面的操作可以通过添加或删除元素的class来实现。此外,我们还需要为切换按钮添加事件监听器,当点击按钮时,执行相应的操作。 可以理解为,通过前端框架实现面内的切换,让用户更加便捷的进行操作,提升用户的体验。以上就是如何在一个面中实现登录注册面内部切换的详细操作步骤。 ### 回答3: HTMLCSS和JS是网开发中常用的三种语言,它们各自拥有不同的功能和作用。如果要在一个面内实现登录注册面的切换,我们需要使用这三种语言协同完成。 首先,我们可以使用HTML来构建整个面的结构。考虑到登录注册表单可能较为繁琐,我们可以将其分别封装成两个不同的div容器,分别添加id属性。可以设置一个公共的包裹容器,用于包含这两个div容器,从而实现切换的效果。此时,面的代码结构就已经建立起来。 接下来,我们需要使用CSS样式来美化面。我们可以通过CSS设置两个div容器的样式,分别为login-container和register-container,通过调节它们的position属性和display属性,来实现面的隐藏和显示。此外,在包裹容器上,可以添加一个类似于“switch-active”的类,来代表当前显示的是登录表单还是注册表单,从而在切换操作时更方便地修改包裹容器的样式。 最后,我们可以使用JavaScript来实现面的切换交互动作。我们可以在面中添加一个切换按钮,通过监听点击事件,来实现面内容的切换。具体实现可以使用addEventListener方法来给切换按钮添加点击事件,然后通过调用getElementById方法,获取到包裹容器和登录、注册表单的div容器,来修改它们的位置和显示状态。 总的来说,通过HTMLCSS和JS的协同作用,我们可以方便地实现登录注册面的内部切换,提高网的交互性和用户体验。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

孙华鹏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值