【问题标题】:Div focus using css使用css的div焦点
【发布时间】:2015-06-14 17:24:51
【问题描述】:

HTML

<div class="div1">
    <ul class="dropdown">
       <li>example</li>
    </ul>
<div>

CSS

.dropdown{
    visibility: hidden
}
.div1:focus .dropdown{
    visibility: visible
}

我正在尝试在没有 jquery 的情况下使用焦点在 css 中创建单击事件,当我单击 div1 时需要它,它将隐藏一个下拉列表 ul。

有什么办法吗?

【问题讨论】:

标签: html css focus


【解决方案1】:

你不能用“focus”做到这一点,但你可以用“active”做到这一点。大多数浏览器都接受活动作为“单击”事件(即,当您单击一个元素时,它是活动的)。 检查下面的代码。我刚刚使用 Chrome 进行了测试,它可以按您的预期工作。还使用 Internet Explorer 进行了测试;它“有点”也适用于此(第二个选择器专门用于 IE)。

希望这对您有所帮助。祝你好运!

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
        "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
	<meta http-equiv="content-type" content="text/html; charset=utf-8">
	<title>Title Goes Here</title>
<style>
	body {background-color:lightgray}
	h1   {color:blue}
	p    {color:green}
	.div1 {
		border: 1px solid green;
	}
	.div1:active .dropdown {
		display: none;
	}
	.dropdown:active {
		display: none;
	}
</style>
</head>
<body>
<p>This is my web page</p>
<div class="div1">
	test
    <ul class="dropdown">
       <li>example</li>
    </ul>
<div>
</body>
</html>

【讨论】:

  • 我以前做过这个,我不喜欢你必须坚持的结果,所以最后我决定使用 jquery,但感谢你的帮助。
  • 如果您能够在客户端上运行 jquery,那将是最好的建议。感谢您的快速回复:)
【解决方案2】:

如何使用 javascript

<div id="div1">
    <ul class="dropdown" id="ul1">
       <li>example</li>
    </ul>
<div>

<style>
.hidden {
    visibility: hidden;
}
</style>

<script>
document.getElementById('div1').onclick=function(){
   var element = document.getElementById("ul1");
    element.classList.add("hidden"); 
};
</script>

JSFiddle:http://jsfiddle.net/4Ls0ygp3/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-19
    • 2018-05-09
    • 1970-01-01
    • 1970-01-01
    • 2013-04-22
    • 2017-02-06
    • 1970-01-01
    相关资源
    最近更新 更多