html - 单击我的 div 内部时需要我的 div 保留

标签 html css

我找到了显示和隐藏内容的代码。这是一个非常简单的代码,但即使您单击框中的内容,内容也会消失。没有js只有CSS。请帮我解决这个问题。

.span3:focus~.alert {
  display: none;
}

.span2:focus~.alert {
  display: block;
}

.alert {
  display: none;
}
<span class="span3" tabindex="0">Hide Me</span>
<span class="span2" tabindex="0">Show Me</span>
<p class="alert">Some alarming information here</p>

最佳答案

同时将focus/hover 状态添加到警报:

.span3:focus~.alert {
  display: none;
}

.span2:focus~.alert {
  display: block;
}

.alert {
  display: none;
  outline: none;
}

.alert:focus,
.alert:hover /*the hover is mandatory in this case*/{
  display: block;
}
<span class="span3" tabindex="0" >Hide Me</span>
<span class="span2" tabindex="0">Show Me</span>
<p class="alert" tabindex="0">Some alarming information here</p>

更新

如果你想让警告一直可见直到你点击隐藏我,你可以试试这个:

.span3 {
  position:relative;
  z-index:1; /*Make it above the alert*/
}

.span3:focus~.alert {
  display: none;
}

.span2:focus~.alert {
  display: block;
}

.alert {
  display: none;
  outline: none;
}

.alert:focus,
.alert:hover /*Here the hover is mandatory*/{
  display: block;
}

/*Cover the whole screen and keep the hover on the alert*/
.alert:after {
  content:"";
  position:fixed;
  top:0;
  left:0;
  right:0;
  bottom:0;
  z-index:-1;
}
<span class="span3" tabindex="0" >Hide Me</span>
<span class="span2" tabindex="0">Show Me</span>
<p class="alert" tabindex="0">Some alarming information here</p>

关于html - 单击我的 div 内部时需要我的 div 保留,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49897459/

相关文章:

jquery - 如何将此 jquery 菜单移动到我想要的位置?

javascript - 显示/隐藏部分表条目

html - CSS 选择器范围

css - IE 文本对齐属性错误

javascript - 由css和js设计的图像旋转

javascript - 单击外部关闭菜单

html - 以相等的宽度和边距 flex

javascript - 下拉菜单不关闭 jQuery

css - 下拉导航菜单

html - 悬停放大时如何使图像保持原位?