gpt4 book ai didi

css - 使用 CSS3 的过渡菜单 "on click"

转载 作者:行者123 更新时间:2023-11-28 08:11:01 25 4
gpt4 key购买 nike

我正在尝试做的是与此类似的事情:http://tympanus.net/Development/SelectInspiration/index2.html .我希望我的代码中选项的不透明度立即开始,因此看起来它们似乎从同一垂直线开始(如上例)。另外,我需要 div BOTON 像按钮一样工作,而不是我的代码中的工作方式。感谢您的帮助。

a {
font-size: 24px;
font-family: "helvetica" sans-serif;
font-weight: 900;
color: black;
text-decoration: none;
}

.lista {
font-size: 18px;
font-family: "helvetica" sans-serif;
font-weight: 600
}

ul {
list-style: none;
}

li.option {
position: relative;
height: 30px;
width: 300px;
border-bottom: 3px black solid;
line-height: 30px; /*line-height centra el texto verticalmente cuando coincide con el height*/
opacity: 0;
left: 150px;
transition: .3s;
}

li.option:nth-child(1) {
transition-delay: .0s;
}
li.option:nth-child(2) {
transition-delay: .05s;
}
li.option:nth-child(3) {
transition-delay: .1s;
}
li.option:nth-child(4) {
transition-delay: .15s;
}
li.option:nth-child(5) {
transition-delay: .2s;
}

.boton:active + .menu .lista .option {
opacity: 1;
left: 0px;
}
	<body>
<div id="navbar">
<div class="boton">
BOTON
</div>
<div class="menu">
<ul class="lista">
<li class="option">OPCION 1</li>
<li class="option">OPCION 2</li>
<li class="option">OPCION 3</li>
<li class="option">OPCION 4</li>
<li class="option">OPCION 5</li>
</ul>
</div>
</div>
</body>

代码笔在这里:http://codepen.io/anon/pen/xbMQGR

最佳答案

一个简单的方法是使用 checkboxlabel(通过 idfor 关联在一起>).您可以隐藏复选框,这样用户就不会看到它,然后使用标签允许在单击复选框时选中和取消选中该复选框。

因此将添加以下 CSS 并稍微修改 HTML:

CSS

#activate-menu {
display:none;
}

#activate-menu + label {
cursor: pointer;
}

HTML

<div id="navbar">
<input type="checkbox" name="activate-menu" id="activate-menu" />
<label for="activate-menu">BOTON</label>
<div class="menu">
....
</div>
</div>

所以完整的解决方案是:

a {
font-size: 24px;
font-family: "helvetica" sans-serif;
font-weight: 900;
color: black;
text-decoration: none;
}

.lista {
font-size: 18px;
font-family: "helvetica" sans-serif;
font-weight: 600
}

ul {
list-style: none;
}

li.option {
position: relative;
height: 30px;
width: 300px;
border-bottom: 3px black solid;
line-height: 30px; /*line-height centra el texto verticalmente cuando coincide con el height*/
opacity: 0;
left: 150px;
transition: .3s;
}

li.option:nth-child(1) {
transition-delay: .0s;
}
li.option:nth-child(2) {
transition-delay: .05s;
}
li.option:nth-child(3) {
transition-delay: .1s;
}
li.option:nth-child(4) {
transition-delay: .15s;
}
li.option:nth-child(5) {
transition-delay: .2s;
}

#activate-menu {
display:none;
}

#activate-menu + label {
cursor: pointer;
}

#activate-menu:checked ~ .menu .lista .option {
opacity: 1;
left: 0px;
}
<div id="navbar">
<input type="checkbox" name="activate-menu" id="activate-menu" />
<label for="activate-menu">BOTON</label>
<div class="menu">
<ul class="lista">
<li class="option">OPCION 1</li>
<li class="option">OPCION 2</li>
<li class="option">OPCION 3</li>
<li class="option">OPCION 4</li>
<li class="option">OPCION 5</li>
</ul>
</div>
</div>

关于css - 使用 CSS3 的过渡菜单 "on click",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29267467/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com