通过css

时间:2015-05-17 16:11:43

标签: css

所以,为了更好地解释,我附上了一个我想要实现的简单图像。

enter image description here

有一个按钮和三个内容(两个可见,一个隐藏在两者之间,如上图所示)。

单击该按钮时,我想显示位于内容之间的隐藏内容。

单独使用CSS是否可以实现这一目标?

例如,我可以使用display:none;隐藏内容,然后以某种方式强制显示它?

我不确定实现这一目标的最有效方法是什么。

任何建议都将受到赞赏。

谢谢!

4 个答案:

答案 0 :(得分:2)

如果您只想使用CSS实现此目的,那么可以使用复选框或单选按钮代替HMTL按钮标记。

这是一个演示https://jsfiddle.net/nileshmahaja/yt76h26n/

<强> HTML

<input type="checkbox" class="check"/>
<div class="box one">1</div>
<div class="box two">2</div>
<div class="box three">3</div>

.box{
    height:50px;
    width:50px;
    background: gray;
    margin-bottom:20px
}

.two{
    display:none;
}

.check:checked ~ .two {
    display:block
}

您可以根据自己的方便设置复选框或单选按钮。

答案 1 :(得分:1)

.visible_content:hover > .hidden_content {display:block;}

当您将鼠标悬停在.visible_content上时,系统会显示.hidden_content

但点击后,我不认为有任何办法可以通过CSS进行此操作。

但在jquery中,很简单:

$(".visible_content").click(function(){
    $(".hidden_content").fadeIn();
});

答案 2 :(得分:1)

这里纯粹用css解决方案: How to change an image on click using CSS alone?

然而,使用jquery,如果您不反对它,只需几行即可在3秒内轻松完成!如下所示!

$("#buttonsid button").click(function(){
    $("#idofhiddencontent").toggle();
});

答案 3 :(得分:1)

*{
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}

.btn{
    display: inline-block;
    padding: 15px 45px;
    border: 2px solid #000;
    color: #000;
    text-decoration: none;
}

div{
    width: 100px;
    height: 100px;
    border: 2px solid #000;
    margin: 25px auto;
}
.block-hidden{
    display: none;
    border: 2px solid #f00;
    color: #f00;
}

.btn:focus ~ .block-hidden{
    display: block;
}
<a href="#" class="btn">Button Click</a>

<div class="block">Block</div>
<div class="block block-hidden">Block Hidden</div>
<div class="block">Block</div>