仅使用CSS3,是否有方法在DETAILS
/SUMMARY
显示上添加漂亮的淡入和从左滑动过渡效果?
有关此新标签的演示,请参阅此演示:
details {
transition:height 3s ease-in;
}
<details>
<summary>Copyright 1999-2014.</summary>
<section>
<p> - by Refsnes Data. All Rights Reserved.</p>
<p>All content and graphics on this web site are the property of the company Refsnes Data.</p>
</section>
</details>
在我的例子中,在summary
标记之后,我把所有其他内容放在它自己的section
标记中,这样我就可以对它进行样式化,因为summary:after
选择器似乎不起作用。我尝试在section
和details
标签的高度上使用CSS3过渡,但没有帮助。
7条答案
按热度按时间wwodge7n1#
这个应该能修好
Andrew指出了这一点。我改编了他的回答。事情是这样的通过在
DETAILS
标记上添加[open]
属性,它仅在单击时触发动画关键帧。然后,通过添加SUMMARY ~ *
,它意味着“SUMMARY
标记之后的所有元素”,以便动画应用于这些元素,而不是SUMMARY
元素。mwkjh3gx2#
对于那些寻找开/关转换的人来说,可以通过
margin-bottom
属性来伪造它。yqhsw0fo3#
除了Volomike's answer之外,出于性能原因,还可以将
margin-left
更改为transform: translateX()
。evrscar24#
我建议你也在这里查看Animate.css:http://daneden.me/animate .如果
cyvaqqii5#
我的造型...
使用
max-height
而不是height
进行过渡,您可以在打开的详细信息中包含未知高度(小于99rem
)的内容。hsvhsicv6#
如果您不想让
keyframes
在鼠标悬停时出现,您可能希望使用keyframes
的CSS动画。如果你只想让动画出现,比如说,当你在页面上看到详细信息/摘要描述时,你可以使用一些jQuery,这样浏览器在滚动时就会添加动画的类。https://jsfiddle.net/22e95bxt/
这是你要找的吗
**编辑:哎呀。这不是你所要求的。我的错
egdjgwm87#
我认为一个真正的CSS3细节摘要应该这样做(没有固定的高度和没有JavaScript):