当前位置: 首页 > news >正文

辽宁建设集团招聘信息网站国家免费技能培训有哪些

辽宁建设集团招聘信息网站,国家免费技能培训有哪些,都昌网站建设,惠州建站免费模板在开发中,我们可能会遇到需要让卡片高度由内容撑起(即不能手动设置height),并且在高度增加时增加缓动动画的需求。本文将介绍几种实现方式。 文章目录方法1:使用CSS的max-height属性和:hover伪类特定例子:鼠…

在开发中,我们可能会遇到需要让卡片高度由内容撑起(即不能手动设置height),并且在高度增加时增加缓动动画的需求。本文将介绍几种实现方式。

文章目录

    • 方法1:使用CSS的max-height属性和:hover伪类
      • 特定例子:鼠标悬浮卡片,显隐按钮
    • 方法2:使用JavaScript监听卡片内容变化
    • 方法3:使用CSS的transform属性

方法1:使用CSS的max-height属性和:hover伪类

我们可以使用CSS的max-height属性和:hover伪类来实现卡片高度增加时的缓动动画效果。

ps:为什么不使用transition:height 1s。因为我们卡片的高度靠内容填充,非CSS限定,故transition+height的组合会失效

具体实现步骤如下:

  1. 在CSS中设置卡片的max-height属性为一个较大的值,比如500px。
.card {max-height: 500px;transition: max-height .2s ease-in-out;
}
  1. 在:hover时将max-height设置为实际高度(或以上)。
.card:hover {max-height: 1000px; /* 实际高度 */
}

这样当鼠标悬停在卡片上时,卡片会平滑地从当前高度过渡到实际高度,实现了缓动动画效果。

Tip1:比较好的效果是设置到实际的大概高度以上,这样缓动更加平滑。

特定例子:鼠标悬浮卡片,显隐按钮

Tip2:最好的效果是将限制设置在动态增长的子元素上而不是card上。

实例:限制button的最大高度即可。
在这里插入图片描述
核心代码:

.btn-group{max-height:0px;overflow:hidden;transition:max-height 0.8s;
}
.card:hover .btn-group{max-height:70px;
}

具体代码可见Codepen:https://codepen.io/yyforreal/pen/RwxxZXN

方法2:使用JavaScript监听卡片内容变化

我们可以使用JavaScript监听卡片内容的变化,并在内容发生变化时更新卡片的高度并增加缓动动画效果。

具体实现步骤如下:

  1. 获取卡片元素和卡片内容元素。
const card = document.querySelector('.card');
const cardContent = document.querySelector('.card-content');
  1. 获取卡片内容元素的高度,并将卡片元素的高度设置为卡片内容元素的高度。
const contentHeight = cardContent.offsetHeight;
card.style.height = `${contentHeight}px`;
  1. 监听卡片内容元素的变化,并根据内容高度的变化来更新卡片的高度。
const observer = new MutationObserver(() => {const newContentHeight = cardContent.offsetHeight;if (newContentHeight !== contentHeight) {card.style.height = `${newContentHeight}px`;}
});
observer.observe(cardContent, { childList: true, subtree: true });
  1. 在CSS中设置卡片的过渡效果。
.card {transition: height .2s ease-in-out;
}

这样当卡片内容发生变化时,卡片的高度会自动调整,并且会有过渡效果实现缓动动画。

方法3:使用CSS的transform属性

我们还可以使用CSS的transition和transform属性来实现缓动动画效果。

具体实现步骤如下:

  1. 在CSS中设置卡片的transform属性为scaleY(0)和scaleY(1),并且设置transform-origin为top。
.card {transform: scaleY(0);transform-origin: top;transition: transform .2s ease-in-out;
}
.card.show {transform: scaleY(1);
}
  1. 使用JavaScript监听卡片内容的变化,并在内容发生变化时,将卡片的class设置为show。这样卡片就会从高度为0的状态缓动到实际高度的状态。
const card = document.querySelector('.card');
const cardContent = document.querySelector('.card-content');new MutationObserver(() => {card.classList.add('show');
}).observe(cardContent, { childList: true, subtree: true });

这样就可以实现卡片高度增加时的缓动动画效果了。

以上就是几种实现卡片高度增加时的缓动动画效果的方法,开发时可以根据实际需求选择适合的方式。

http://www.zhongyajixie.com/news/22218.html

相关文章:

  • 阿里云虚拟主机建站教程小说推文推广平台
  • 设计网站建站交换友情链接的好处
  • 做网站都需要哪些知识淘宝推广方法有哪些
  • 苏州市公共交易资源平台汉中网站seo
  • 做网站的宣传单素材4p 4c 4r营销理论区别
  • 武汉做营销型网站的公司短视频seo排名系统
  • wordpress 文章备份简述优化搜索引擎的方法
  • 网站用什么图片格式好深圳网站制作推广
  • 认证网站源码网络优化网站
  • 有什么网站是做企业型的seo推广优势
  • html网页设计代码作业正能量网站seo优化价格
  • asp做的药店网站模板推广方案万能模板
  • 企业网站备案在哪个部门seo排名赚靠谱吗
  • 外贸网站建设智能建站火星培训机构收费明细
  • 茶叶网站flash模板免费下载chatgpt 网址
  • 网站建设发布教程电脑培训速成班多少钱
  • wordpress 循环输出seo建站公司推荐
  • 做b2c网站公司定制开发公司
  • 公司网站属于信息化建设吗百度网盘网页
  • wordpress代码高亮显示北京专业网站优化
  • 网站建设 上sem搜索引擎营销
  • 网站开发公司起名佛山网站建设方案咨询
  • 短期设计培训班湖南seo优化排名
  • asp网站做视频教程广东seo网站优化公司
  • html网站怎么做几个网页太原seo外包服务
  • 建设网站首页站长基地
  • 网站建设开票计量单位东莞百度推广排名
  • 保定哪里有做网站的创意广告
  • 女人做春梦网站上海搜索引擎关键词优化
  • 网站建设项目方案搜索引擎优化的工具