zoukankan      html  css  js  c++  java
  • css实现tab事件

    1、利用label for 属性 (规定 label 与哪个表单元素绑定)。
    2、利用
    radio的checked 属性 显示隐藏。

    html代码
    <nav class="accordion arrows">
        <header class="box">
            <label for="acc-close" class="box-title">Accordion menu</label>
        </header>
        <input type="radio" name="accordion" id="cb1" />
        <section class="box">
            <label class="box-title" for="cb1">菜单啊</label>
            <label class="box-close" for="acc-close"></label>
            <div class="box-content">Click on an item to open. Click on its header or the list header to close.</div>
        </section>
        <input type="radio" name="accordion" id="cb2" />
        <section class="box">
            <label class="box-title" for="cb2">菜单2啊</label>
            <label class="box-close" for="acc-close"></label>
            <div class="box-content">Add the class 'arrows' to nav.accordion to add dropdown arrows.</div>
        </section>
        <input type="radio" name="accordion" id="cb3" />
        <section class="box">
            <label class="box-title" for="cb3">菜单3啊</label>
            <label class="box-close" for="acc-close"></label>
            <div class="box-content">哎呀,你看到我了啊,真不好意思呢</div>
        </section>
    
        <input type="radio" name="accordion" id="acc-close" />
    </nav>

    css代码

            *{margin:0;padding:0}
            body{background: #f2f2f2;color:#333;}
            nav.accordion{width:400px;margin:20px auto;}
            header.box{
    background:#0b7285;height:60px;
    box-shadow: 0 -1px 0 #e5e5e5,
    0 0 2px -2px rgba(0,0,0,.12),
    0 2px 4px -4px rgba(0,0,0,.24)
    ;
    } header label{font-size:26px;color:#fff;} input{display:none;width:100%;height:auto;} .box{position:relative;transition:all 0.15s ease-in-out;height:64px;} .box::before { content: '';position: absolute;display: block;top: 0;bottom: 0;left: 0;right: 0;pointer-events: none; box-shadow: 0 -1px 0 #e5e5e5,
    0 0 2px rgba(0,0,0,.12),
    0 2px 4px rgba(0,0,0,.24)
    ; } section.box{width:400px;background:#fff;color:#333;display:flex;flex-wrap: wrap; } .box-title{cursor: pointer;width: calc(100% - 40px); padding:0 20px;height:64px;line-height: 64px;} .arrows section .box-title:before{
    position: absolute;display: block; content: '203a';left: 20px; top: -2px;font-size:30px;transition: transform .15s ease-in-out;
    } .arrows section .box-title { padding-left: 44px; width: calc(100% - 64px); } .box-close { position: absolute;height: 64px;width: 100%;top: 0; left: 0; z-index:10; cursor: pointer; display: none; } .box-content{display:none;width: calc(100% - 40px);padding: 30px 20px;} input:checked+ .box{margin:10px 0; box-shadow: 0 0 6px rgba(0,0,0,.16),0 6px 12px rgba(0,0,0,.32);height:auto;} input:checked + .box .box-title {border-bottom: 1px solid rgba(0,0,0,.18);} input:checked + .box .box-content, input:checked + .box .box-close {display: inline-block;} input:checked + section .box-title:before {transform: rotate(90deg);}


  • 相关阅读:
    YUI: Effects Widgets
    提高Web页面的性能(一)
    textindent 隐藏文字时出现的 outline 问题
    通过 Dom 方法提高 innerHTML 性能
    IE8 beta1 中的 CSS 属性
    推荐的 CSS 书写顺序
    来自经典论坛的javascript小小考题
    IE5 到 IE8 的 CSS 兼容列表
    backgroundclip 与 backgroundorigin 的一则运用
    收集整理的对#!bin/sh的认识
  • 原文地址:https://www.cnblogs.com/jolee/p/9049712.html
Copyright © 2011-2022 走看看