注意:請不要實際使用這個。這是一個有趣的方式去實現你想要的,對我來說是一個有趣的挑戰,但是Javascript是這個工作的更合適和可靠的工具。除非你在完全不使用JS的情況下需要這個功能的客戶端,否則只需要對它使用一些jQuery並稱它爲一天。
所以,
我無法弄清楚如何在只在您當前的標記使用CSS
ul
做到這一點,但如果你打開它改變一點點,你可以只用CSS做到這一點。
我很笨,只需要將下面的代碼插入ul
元素。這裏有一個例子:
HTML
<ul class="accordion">
<li>
<span class="span" tabindex="0">
<input type="text" value=" " readonly="true" />
<a href="#showme">Show</a>
</span>
<p id="showme" class="alert">Hidden Content</p>
</li>
</ul>
CSS
body {
font: 1em'Source Sans Pro', sans-serif;
}
.accordion {
width: 100%;
padding:0;
margin:0;
list-style-type: none;
}
span {
display: block;
padding: 15px 20px;
background: #bbb;
color:#fff;
text-decoration: none;
font-size: 1.2em;
text-transform: uppercase;
text-shadow: 1px 1px 0 rgba(0, 0, 0, .1);
margin-bottom: 5px;
}
span a {
text-decoration: none;
}
span a:visited {
color:#fff;
}
.alert {
display: none;
margin: 20px;
}
span {
position: relative;
}
span a {
position: relative;
z-index: 2;
}
span a:hover, span a:active {
z-index: 4;
}
span input {
background: transparent;
border: 0;
cursor: pointer;
position: absolute;
top: -1px;
left: 0;
width: 101%;
height: 301%;
z-index: 3;
}
span input:focus {
background: transparent;
border: 0;
z-index: 1;
}
#showme:target {
display: block;
}
小提琴:https://jsfiddle.net/yn13syuj/
從本質上講,這是什麼做的是使用一些z-index
弄虛作假,直到你點擊它覆蓋a
標籤一旦。然後,一旦發現它,您可以使用:target
更改隱藏內容的display
屬性。
沒有,用CSS雙擊是不可能的。改用JavaScript。 –
僅限Javascript。但是,如果Javascript不是您想要的選項,請不要將其作爲標籤。 – lucasnadalutti
@lucasnadalutti,CSS困難,但不是不可能的,如果一些額外的內容可以添加到每個div。 –