国产精品一区二区三区……-大杳蕉伊人欧美一本遒在饯-日本不卡一区免费在线观看-国产亚洲欧美中文字幕

400-800-9385
網(wǎng)站建設資訊詳細

網(wǎng)站前端制作-不定高度的元素實現(xiàn)transition動畫

發(fā)表日期:2022-01-04 10:37:30   作者來源:林志平   瀏覽:2110   標簽:網(wǎng)站前端制作    
在網(wǎng)站頁面的制作中,不少效果是由transition實現(xiàn)過渡動畫做成的。最近的工作,需要做一個div的hover效果,hover的時候文字內(nèi)容自適應高度即是height: 70px(固定高度)變化到height: auto; 從下往上產(chǎn)生一個過渡動畫,過程中由中間圓形遮罩中間擴散到消失,顯示底圖。
過程中,遇到的問題有兩點:
關于不定高度的元素實現(xiàn)transition動畫,制作過渡效果的過程中,發(fā)現(xiàn)height: auto;會導致過渡動畫不產(chǎn)生效果,而且看起來不流暢,顯得生硬。
中間圓形顯示部分底圖四周是遮罩的效果,div hover之后圓形逐漸擴大的過渡動畫,顯示完整的底圖。如下所示的效果圖:

前端效果

 
關于不定高度的元素實現(xiàn)transition動畫,可以用max-height,文本內(nèi)容設置max-height: 64px; transition: max-height 1s; 文本內(nèi)容的div hover之后設置max-height: 250px(例如250px),就可以實現(xiàn)這個效果,不過在這里這個動畫效果不是很理想。也可以通過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%就能做成一個中間是圓形顯示部分底圖的遮罩,div hover 之后設置縮放的倍數(shù),例如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%);
}
如沒特殊注明,文章均為方維網(wǎng)絡原創(chuàng),轉(zhuǎn)載請注明來自http://pdcharm.com/news/6316.html
遂平县| 鸡泽县| 长丰县| 兴国县| 新巴尔虎右旗| 广西| 越西县| 桦南县| 罗甸县| 福建省| 乐至县| 陈巴尔虎旗| 区。| 溆浦县| 沙湾县| 新巴尔虎左旗| 师宗县| 阿克苏市| 荥阳市| 微山县| 大渡口区| 榆树市| 呼图壁县| 阜康市| 金川县| 平舆县| 友谊县| 疏勒县| 南岸区| 岱山县| 台南市| 英山县| 廊坊市| 项城市| 固原市| 满洲里市| 满洲里市| 信宜市| 汽车| 平原县| 堆龙德庆县|