如果我没记错的话,你正在寻找类似下面的东西。这会将height
当前目标元素的 设置为 20px。过渡效果也将被应用。
HTML:
<a href='#first'>First</a>
<a href='#second'>Second</a>
<div id='first'>This is first div</div>
<div id='second'>This is second div</div>
CSS:
#first, #second {
height: 0px;
overflow: hidden;
transition: height 1s ease-in;
}
#first:target {
height: 20px;
}
#second:target {
height: 20px;
}
演示小提琴
编辑:我知道您没有标记 jQuery/JavaScript 并且正在寻找 CSS 解决方案。但是如果你有很多这样的链接并且可以有一个基于 JS 的解决方案,你可以试试下面的。
这个脚本在id
被点击的链接和height
点击链接时框应该有的 之间有一个映射。基于它,#box
元素的高度被修改。转换也可以在这个fiddle中看到。
window.onload = function () {
document.getElementsByTagName('body')[0].onclick = function(e){
var box = document.getElementById('box');
var heights = { first: '20px', second: '40px', third: '30px' };
if(e.target.id)
box.style.height = heights[e.target.id];
};
}