如何为什么不定高度的元素添加CSS3 transition_html/css_WEB-ITnose

php中文网
发布: 2016-06-24 11:42:23
原创
1712人浏览过

但一个元素不设置height时,它的默认值是 auto,浏览器会计算出实际的高度。

但如果想给一个 height:auto 的块级元素的高度添加 CSS3 动画时,该怎么办呢?

从 MDN 的可以查到 CSS 支持动画的属性中的 height 属性如下:

height :yes, as a length, percentage or calc(); // 当 height 的值是 length,百分比或 calc() 时支持 CSS3 过渡。

所以当元素 height : auto 时,是不支持 CSS3 动画的。

立即学习前端免费学习笔记(深入)”;

除了通过 JS 获取精确的 height 值的方法外,其实我们可以使用 max-height 代替 height。

只要我们设置一个肯定比元素自增长大的高度值就可以了。当然,因为是根据 max-height 值进行过渡效果,所以最好不要大得离谱,否则动画效果不理想。

 

 1 <!DOCTYPE html> 2 <html lang="en"> 3     <head> 4         <meta charset="utf-8"> 5         <style> 6             *{ 7                 margin: 0; 8                 padding:0; 9             }10             div{11                 12                 display: inline-block;13                 overflow: hidden;14                 background-color: orange;15                 max-height: 20px;16                 -webkit-transition: max-height 1s;17                 transition: max-height 1s;18             }19             div:hover{20                 max-height:200px;21             }22         </style>23     </head>24     <body>25         <div>26             <p>我不是height,是max-height</p>
                    <div class="aritcle_card">
                        <a class="aritcle_card_img" href="/ai/1369">
                            <img src="https://img.php.cn/upload/ai_manual/000/000/000/175680245416404.png" alt="Devv">
                        </a>
                        <div class="aritcle_card_info">
                            <a href="/ai/1369">Devv</a>
                            <p>Devv是一个专为程序员打造的新一代AI搜索引擎</p>
                            <div class="">
                                <img src="/static/images/card_xiazai.png" alt="Devv">
                                <span>140</span>
                            </div>
                        </div>
                        <a href="/ai/1369" class="aritcle_card_btn">
                            <span>查看详情</span>
                            <img src="/static/images/cardxiayige-3.png" alt="Devv">
                        </a>
                    </div>
                27             <p>我不是height,是max-height</p>28             <p>我不是height,是max-height</p>29             <p>我不是height,是max-height</p>30             <p>我不是height,是max-height</p>31             <p>我不是height,是max-height</p>32         </div>33     </body>34 </html>
登录后复制

 

这是我第一篇博客文章,希望能让大家学到东西。当然,我更希望收到大家对我的建议!

 

HTML速学教程(入门课程)
HTML速学教程(入门课程)

HTML怎么学习?HTML怎么入门?HTML在哪学?HTML怎么学才快?不用担心,这里为大家提供了HTML速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号