網站前端制作-不定高度的元素實現transition動畫

2023-02-27    分類: 網站建設

在網站頁面的制作中,不少效果是由transition實現過渡動畫做成的。最近的工作,需要做一個div的hover效果,hover的時候文字內容自適應高度即是height: 70px(固定高度)變化到height: auto; 從下往上產生一個過渡動畫,過程中由中間圓形遮罩中間擴散到消失,顯示底圖。
過程中,遇到的問題有兩點:
關于不定高度的元素實現transition動畫,制作過渡效果的過程中,發現height: auto;會導致過渡動畫不產生效果,而且看起來不流暢,顯得生硬。

前端效果

中間圓形顯示部分底圖四周是遮罩的效果,div hover之后圓形逐漸擴大的過渡動畫,顯示完整的底圖。如下所示的效果圖:
關于不定高度的元素實現transition動畫,可以用max-height,文本內容設置max-height: 64px; transition: max-height 1s;文本內容的div hover之后設置max-height: 250px(例如250px),就可以實現這個效果,不過在這里這個動畫效果不是很理想。也可以通過js獲取div.text精確的高度,賦予div.txt一個明確的值,移出鼠標之后,移除這個值。如下所示:
Css:
.divLi .txt{
Height: 640;
-webkit-transition: all 0.5s ease;
transition: all 0.5s ease;
}
Html:
<div class=”divLi”>
<a href="project_detail.html">
<div class="ic">
<img src="images/img102.png"/>
</div>
<div class="img">
<img src="images/img101.jpg" />
<div class="img-circle">
<span></span>
</div>
</div>
<div class="txt">
<div class="text">
<div class="t1">
Joint project of Planting Grass in the Gobi Desert
</div>
<div class="t2">
Immunity, the best doctor of human health, is the ability of the human body to resist external...
</div>
</div>
</div>
</a>
</div>
Js:
<script>
$( '.divLi').hover(function() {
var hei = $(this).find(".text").height();
$(this).children(".txt").css('height', hei);
},function() {
$(this).children(".txt").removeAttr("style");
});
</script>
關于上圖的中間圓形顯示部分底圖四周遮罩,先設置定位在圖片上面,中間的圓形可以用border做,設置border-color做遮罩色,border-width設置大一些,再border-radius設置50%就能做成一個中間是圓形顯示部分底圖的遮罩,divhover 之后設置縮放的倍數,例如transform: scale(4),加上div原先設置的過渡動畫transition,就能把圓形顯示四周遮罩放大,中間的圓形就會放大,可以顯示全部的底圖,如下所示:
Html:
<div class="img-circle">
<span></span>
</div>
Css:
.divLi.img-circle{
position: absolute;
z-index: 3;
top: 0;
right: 0;
bottom: 0;
left: 0;
pointer-events: none;
-webkit-transition: all 0.5s ease;
transition: all 0.5s ease;
-webkit-transform: scale(1);
transform: scale(1);
}
.divLi:hover .img-circle{
-webkit-transform: scale(4);
transform: scale(4);
}
.divLi.img-circle span{
position: absolute;
top: 50%;
left: 50%;
width: 55%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
}
.divLi .img-circle span::before {
content: "";
display: block;
padding-top: 100%;
}
.divLi.img-circle span:after{
content: "";
position: absolute;
top: 50%;
left: 50%;
width: 100%;
height: 100%;
border: 1000px solid #edf6ff;
border-radius: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);

標題名稱:網站前端制作-不定高度的元素實現transition動畫
網頁網址:http://m.kartarina.com/news22/240122.html

成都網站建設公司_創新互聯,為您提供移動網站建設響應式網站App開發ChatGPT營銷型網站建設微信公眾號

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

綿陽服務器托管
主站蜘蛛池模板: 日本精品人妻无码免费大全| 一本久道中文无码字幕av| 精品人妻中文无码AV在线| 无码任你躁久久久久久| AV无码人妻中文字幕| 少妇人妻偷人精品无码AV| 人妻丰满?V无码久久不卡| 亚洲精品无码午夜福利中文字幕| 少妇人妻无码精品视频| 亚洲精品无码一区二区 | 久久久久无码精品国产不卡| AV无码久久久久不卡网站下载| 久久人午夜亚洲精品无码区| 亚洲精品无码乱码成人| 日韩精品无码成人专区| 亚洲AV无码国产精品色午友在线 | 影音先锋中文无码一区| 久久无码AV中文出轨人妻 | a级毛片无码免费真人久久| 无码人妻品一区二区三区精99 | 国产丝袜无码一区二区三区视频| 色欲AV无码一区二区三区| 92午夜少妇极品福利无码电影| 国产AV天堂无码一区二区三区 | 免费A级毛片无码A| 亚洲AV无码专区国产乱码不卡 | 日韩精品无码成人专区| 久久亚洲AV成人无码国产电影| 无码区国产区在线播放| 国产精品无码翘臀在线观看| 日韩免费人妻AV无码专区蜜桃 | 国产精品午夜无码AV天美传媒| 中文无码乱人伦中文视频在线V| 无码粉嫩小泬无套在线观看| 久久精品亚洲中文字幕无码网站| 亚洲伊人成无码综合网| 亚洲AV无码久久久久网站蜜桃| 在线观看免费无码视频| 永久无码精品三区在线4| 国产精品无码一区二区三区毛片| 99国产精品无码|