这是我如何使用 :target - http://jsfiddle.net/joplomacedo/V6pJT/3/
html
<div class="block">
<a class="open" href="#menu"></a>
<div id="menu">
Menu Item 1<br />
Menu Item 2<br />
Menu Item 3<br />
Menu Item 4<br />
Menu Item 5<br />
Menu Item 6<br />
Menu Item 7<br />
<a class="close" href="#"></a>
</div>
</div>
CSS
.block {
position: relative;
}
#menu{
width: 100px;
background: red;
border: 1px solid #aaa;
}
#menu:target {
background: orange;
width: 200px;
}
.open,
.close {
position: absolute;
top: 0; bottom: 0;
left: 0; right: 0;
}
.close {
display: none;
}
#menu:target .close {
display: block;
}
可惜这个方案每次点击都会跳转页面。它也不必要地大。利用 :checked 选择器的解决方案将需要更少的 html 和 css,并且它也不会在每次点击时跳转页面。这是该解决方案,也是我推荐的解决方案:
的HTML...
<div class="block">
<label for="toggle"></label>
<input type="checkbox" id="toggle"/>
<div id="menu">
Menu Item 1<br />
Menu Item 2<br />
Menu Item 3<br />
Menu Item 4<br />
Menu Item 5<br />
Menu Item 6<br />
Menu Item 7<br />
</div>
</div>
...和CSS ...
.block {
position: fixed;
bottom: 0;
}
#toggle {
display: none;
}
label[for="toggle"] {
position: absolute;
top: 0; bottom: 0;
left: 0; right: 0;
}
#menu{
width: 100px;
background: red;
border: 1px solid #aaa;
}
#toggle:checked ~ #menu {
background: orange;
width: 200px;
}
</p>
</p>