css - 我可以点击 :target element 内的链接吗

标签 css focus target

所以我有下面的代码。

<nav>
<div class="clicker" tabindex="1">menu</div>
<div class="hiddendiv">  <a href="/register/register">Register</a>
<a href="/account/login">Login</a></div>
</nav>

使用以下 CSS

nav{    margin-top: -70px;
} .clicker { font-size: 4em; outline:none; cursor:pointer; float:right;     border-padding:4px; border-right: 5px solid #ed2024; }

.hiddendiv{ display:none; width:300px; font-size: 2em; background-color:#ed2024; float:left; padding:5px; }

.clicker:focus + .hiddendiv{ display:block; }

.clicker:focus{ display:block; float:left;
 }

.hiddendiv a{   float: left;
margin-left: 10px;
}

我知道 focus 不允许我单击 .hiddendiv 元素中的链接,但 target 似乎也不起作用。我只想用 css 构建它。有什么建议吗?

最佳答案

如果您想通过 CSS 显示/隐藏内容,我会使用复选框标签来切换状态。

.clicker {
  font-size: 4em;
  cursor: pointer;
}

.hiddendiv, #checkbox {
  display: none;
}

input:checked + .hiddendiv {
  display: block;
}
<nav>
  <label class="clicker" tabindex="1" for="checkbox">clicker</label>
  <input id="checkbox" type="checkbox">
  <div class="hiddendiv"> <a href="/register/register">Register</a>
    <a href="/account/login">Login</a></div>
</nav>

但是如果你想在 :target 上触发它,你会这样做

.clicker {
  font-size: 4em;
  cursor: pointer;
}

.hiddendiv {
  display: none;
}

.hiddendiv:target {
  display: block;
}
<nav>
  <div class="clicker" tabindex="1"><a href="#hiddendiv">menu</a></div>
  <div class="hiddendiv" id="hiddendiv"> <a href="/register/register">Register</a>
    <a href="/account/login">Login</a></div>
</nav>

关于css - 我可以点击 :target element 内的链接吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43641107/

相关文章:

css - HTML5 设备模型问题

jquery - 将焦点设置到 jQuery 中的下一个输入?

grails - 我怎样才能有一个提交按钮(grails)来更新一个特定的目标框架?

html - 将背景应用于列表

python django 如何在 Post 请求中向网站发送参数

emacs - 如何在 Emacs 中失去焦点时自动保存文件

ios - iOS应用中的多个Settings.bundle

ios - 无法将目标添加到 UIButton

javascript - 基于基于列表的菜单隐藏或显示 div 内容的最佳方法

java - 如何禁用文本字段的自动聚焦