on click hide this (button link) pure css

前端 未结 3 1890
感情败类
感情败类 2020-12-10 23:28

my function is hide and show div with pure css but when i click open, the button still not disappear.



        
相关标签:
3条回答
  • 2020-12-10 23:35

    Mr_Green Thank you for that code. I modified it for a responsive expanding menu on mobile devices

    HTML

    <input id="menu-toggle" type="checkbox" class="checkbox-toggle" />
    <label id="open" for="menu-toggle" class="btn btn-default">Menu</label>
    <div id="show">
       Some Content
    </div>
    

    CSS

    @media (max-width: 650px) {
    
    input.checkbox-toggle + label {
        display: block;
        padding:.7em 0;
        width:100%;
        background:#bbbbbb;
        cursor: pointer;
        text-align:center;
        color:white;
        Text-transform:uppercase;
        font-family:helvetica, san serif;
        }
    
    input.checkbox-toggle:checked + label {
        background:#6a6a6a;
        }
    
    #show {
        display: none;
        }
    
    input.checkbox-toggle:checked ~ #show {
        display: block;
        }
    
    }
    
    input.checkbox-toggle {
        display: none;
        }
    
    0 讨论(0)
  • 2020-12-10 23:36

    You could solve it by putting your Open link inside the #show div

    jsFiddle

    HTML

    <div id="show">
        <a href="#show" id="open" class="btn btn-default btn-sm">Open</a>
        <div id="content">
            some text...
            <a href="#hide" id="close" class="btn btn-default btn-sm">Close</a>
        </div>
    </div>
    

    CSS

    #content {
        display: none;
    }
    #show:target #content {
        display: inline-block;
    }
    #show:target #open {
        display: none;
    }
    
    0 讨论(0)
  • 2020-12-10 23:51

    The click functionality can be implemented using Checkbox for pure css. I modified your HTML as follows:

    HTML

    <input id="checkbox" type="checkbox" class="checkbox" />
    <label id="open" for="checkbox" class="btn btn-default btn-sm"> <span class="show-text"></span>
    
    </label>
    <div id="show">some text...
        <label for="checkbox" class="second-label btn btn-default btn-sm">Close</label>
    </div>
    

    CSS

    :checked ~ .btn-default, #show, .checkbox {
        display: none;
    }
    :checked ~ #show {
        display: block;
    }
    .show-text:after {
        content:"Open";
    }
    :checked + .show-text:after {
        content:"";
    }
    .second-label, .show-text {
        text-decoration: underline;
        cursor: pointer;
    }
    

    Working Fiddle

    0 讨论(0)
提交回复
热议问题