CSS中實現局部縮放有多種方法,以下介紹一種常用方法——使用transform屬性。
<code> /* HTML */ <div class="box"></div> /* CSS */ .box { width: 200px; height: 200px; background-color: #eee; overflow: hidden; /* 把超出部分隱藏 */ } .box:hover { transform: scale(1.5); /* 鼠標懸浮時,放大1.5倍 */ } </code>
在上述代碼中,給一個大小為200x200的盒子設置了overflow:hidden屬性,這樣超過盒子大小的部分就會被隱藏。通過:hover偽類,在鼠標懸浮在盒子上面時,使用transform:scale(1.5)來放大盒子的大小。scale(1.5)表示放大1.5倍,也可以使用縮小比例,如:scale(0.5)來縮小盒子。
此外,我們也可以結合js代碼來控制局部縮放,如下:
<code> /* HTML */ <div class="box"></div> <button onclick="zoomIn()">放大</button> <button onclick="zoomOut()">縮小</button> /* CSS */ .box { width: 200px; height: 200px; background-color: #eee; overflow: hidden; /* 把超出部分隱藏 */ transition: all 1s ease; /* 縮放時,過渡動畫 */ } .zoom-in { transform: scale(1.5); /* 放大1.5倍 */ } .zoom-out { transform: scale(0.5); /* 縮小0.5倍 */ } /* JS */ function zoomIn() { document.querySelector('.box').classList.add('zoom-in'); } function zoomOut() { document.querySelector('.box').classList.add('zoom-out'); } </code>
在以上代碼中,用button標簽添加“放大”和“縮小”按鈕,并使用js的classList屬性添加或移除zoom-in或zoom-out類,從而控制盒子的局部縮放。在CSS中增加transition屬性,使縮放過程更加平滑。
上一篇div 允許拖動
下一篇css實現圓形加載中