基于css中的grid方案实现的一个hover小动画,以下代码基于vue2,其他的可以直接复制html和css就可以,注意:以下代码在部分浏览器不兼容
注:部分代码来自我接入的GPT4o/Claude网站
<template><div class="hoverbtn"><div class="btns">hoverme</div><div class="detail"><div class="content"><div class="inner">测试hover过渡动画AAAAAAAAAAAAA <br />测试hover过渡动画AAAAAAAAAAAAA <br />测试hover过渡动画AAAAAAAAAAAAA <br />测试hover过渡动画AAAAAAAAAAAAA <br />测试hover过渡动画AAAAAAAAAAAAA <br />测试hover过渡动画AAAAAAAAAAAAA <br />测试hover过渡动画AAAAAAAAAAAAA <br />测试hover过渡动画AAAAAAAAAAAAA <br />测试hover过渡动画AAAAAAAAAAAAA <br />测试hover过渡动画AAAAAAAAAAAAA <br />测试hover过渡动画AAAAAAAAAAAAA <br />测试hover过渡动画AAAAAAAAAAAAA <br />测试hover过渡动画AAAAAAAAAAAAA <br />测试hover过渡动画AAAAAAAAAAAAA</div></div></div></div>
</template><style scoped>
.btns {width: 100px;height: 40px;background: #19be6b;
}
.hoverbtn {width: 100px;line-height: 40px;border-radius: 8px;color: #fff;font-size: 18px;margin: 40px auto;
}
.detail {display: grid;grid-template-rows: 0fr;transition: 0.5s;font-size: 14px;
}
.hoverbtn:hover .detail {grid-template-rows: 1fr;
}
.content {width: 300px;overflow-y: hidden;line-height: 1.5;background: #2454ff;
}
</style>