CSS3 transform之scale縮放|transition之過渡動畫調整手記

2021-01-12 甲方爸爸肖運華

想給學而行營銷網圖文列表中的圖片,增加一點動態交互——別一動不動地躺屍,太平了!

看過別家的網站,其中滑鼠移到圖片上,圖片會適當地進行縮放,這種微妙的動態體驗,給人的感覺是蠻好的。

哥知道這是css3可以實現的功能。試為之。

既然是滑鼠移上去後再發生變化,那首先需在css文件中,針對圖片的hover增加個樣式,縮放比例為1.1。如下:

.index-list-tu li a img:hover {-webkit-transform: scale(1.1,1.1);-moz-transform: scale(1.1,1.1);transform: scale(1.1,1.1);}

懷著憧憬,查看變化。

結果:動態是有了,只是動作太迅猛,不平滑,感覺很突兀。就像以前用flash製作動畫一樣,缺少中間過渡(這個知識點,源於已經過世的flash)。

(沒玩過動態的gif錄屏,用ps製作了一個動畫來模擬。)

看來沒那麼簡單,還需要對圖片對應的樣式寫上css3的transition(過渡)。如下紅色為增加的transition部分:

.index-list-tu li a img {width: 230px;height: 145px;border-radius:3px;float: left;transition: all 0.5s;-moz-transition: all 0.5s;-webkit-transition: all 0.5s;}

如此追加了,這個針對圖片的平滑的微動效就有了(可參見學而行營銷網首頁中的圖文列表)。

關於CSS3 transform的更多知識方法,可以參考w3cschool提供的這個:CSS3 transform 屬性 CSS3 過渡

另有發現一個小問題:就是縮放1.1倍後,其所佔據的空間也增大了。這樣也可以接受,但個人感覺最好是保持在原有的框框內,以保持整體的齊整性及美觀。

那就去找包圍圖片的那個div(<div class=」imgarea fl」>),在樣式中為其加入overflow。css代碼如下:

.notice .tab-pal .imgarea {width: 28%;position: relative;display: inline-block;overflow: hidden;}

css是個神奇的東西,如同一個大寶庫取之不盡用之不竭,從我從事網頁製作工作接觸css開始,一直以為css很簡單,現在已經超過十五年過去了,我卻發現:還有好多的css知識和技巧,我根本就未曾知曉.

相關焦點

  • 如何用純css打造類materialUI的按鈕點擊動畫並封裝成react組件
    原理這個動效的原理其實也很簡單,就是利用css3的transition過渡動畫,配合::after偽對象就可以實現,點擊的時候由於元素會激活:active偽類, 然後我們基於這個偽類, 在::after偽對象上做背景的動畫即可.
  • 過渡動畫和關鍵幀動畫
    一、CSS3 過渡transitioncss3的transition允許css的屬性值在一定的時間區間內平滑地過渡。這種效果可以在滑鼠單擊、獲得焦點、被點擊或對元素任何改變中觸發,並圓滑地以動畫效果改變CSS的屬性值transition-property:檢索或設置對象中的參與過渡的屬性transition-duration:檢索或設置對象過渡的持續時間transition-delay:檢索或設置對象延遲過渡的時間transition-timing-function
  • 全面掌握CSS基本知識點
    嵌套塊元素垂直邊距合併,當父級元素沒有設置border、padding的情況下,父子元素的margin邊距會合併,其取值為較大值css3的新特性答案解析常用css3新特性:動畫屬性animation、彈性布局盒子、顏色設置支持rgba、媒體查詢@media、盒子屬性定義、形狀轉換transform、text的相關屬性(超出內容換行、超出內容展示形式)div{
  • 「css基礎」如何理解transform的matrix()用法
    開篇實現炫酷的網頁動畫效果,自然少不了css3中transform的屬性,此屬性功能豐富且強大,比如實現元素的位移translate(x,y),縮放scale(x,y),2d旋轉rotate(angle),傾斜變換skew(x-angle,y-angle)等,利用這些屬性可以實現基本的動畫效果,如果你要實現自定義和像素級別控制的高級動畫效果,我們還需要深入了解它的另外一個屬性
  • 了解CSS3中那些顛覆性的變化之2D轉換
    那下面我們來了解一下CSS3中的2D 轉換的使用1.CSS3中的2D 轉換轉換(transform)是CSS3中具有顛覆性的特徵之一,可以實現元素的位移、旋轉、縮放等效果轉換(transform)你可以簡單理解為變形 ,它擁有3個屬性:移動:translate旋轉:rotate縮放:scale
  • 高級英語詞彙change alter modify convert transform transition
    託馬斯·卡萊爾transform(進階詞彙)使改變形態;使改變外觀(或性質);使改觀Money doesn't transform a person - the only thing that埃莉諾·卡頓Life is only a long and bitter suicide, and faith alone can transform this suicide into a sacrifice.
  • 網頁|你不知道的HTML——transform
    在HTML中,我們可以利用transform功能來實現文字或圖像的旋轉、縮放、傾斜、移動這四種類型的變形處理。Transform常見的屬性包括:rotate、 skew、scale、translate 。需要注意的就是這些屬性還有x軸、y軸的區分,比如:rotatex() 和 rotatey()。
  • CSS常考知識點
    (基礎題)這個問題很好回答,CSS3提供了transform屬性讓我們很方便對一個元素進行縮放、旋轉和平移,我們可以使用 translate(x, y)來對元素的位置進行微調。面試官:相比較relative,為什麼現在更推薦使用translate來改變位置呢?
  • 理解transform中的matrix
    CSS中有個函數,改變六個數值就可以實現平移、旋轉、縮放等2D變換效果。那麼問題來了:本文探討其背後原理,先在二維坐標系下推導公式,最後用齊次坐標統一形式。css裡的默認變換中心是對象中心,transform-origin可以指定變換中心,我猜測是先平移到原點進行變換,再平移回原位置,如果你知道答案請告訴我。二維縮放
  • HTML5+CSS+JS時間
    3.為什麼要寫前端?分析問題:前端對應的就是用戶能看到的東西./css/page.css"type="text/css"rel="stylesheet"></head><body><divclass="Scanner"><h2>博客頁面登錄系統</h2><form><!
  • 常見的CSS文字居中顯示
    和vertical-align html<div> <span>測試文字</span></div>css.table{ display: table;}.cell{ display: table-cell; vertical-align: middle; text-align: center;}3、利用定位方式position+transform
  • 轉載 丨 好吧,CSS3 3D transform變換,不過如此!
    因此有:img:nth-child(1) { transform: rotateY(   0deg ); }img:nth-child(2) { transform: rotateY(  40deg ); }img:nth-child(3) { transform: rotateY(  80deg ); }img:nth-child(4) { transform
  • ...動畫評選結果公布,《鬼滅之刃》高票第一,動畫電影《天氣之子...
    本文經快科技授權轉載,原標題《《嗶哩嗶哩年度百佳動畫評選結果公布:鬼滅之刃高票第一》,作者:小淳 ,未經允許請勿轉載。近日,嗶哩嗶哩動畫在官網公布了2020年度動畫評選結果,公布了由動畫愛好者投票選出的今年100部最佳作品(電視動畫80部+動畫電影20部),就讓我們一起來看看吧。
  • CSS之定位一(position屬性)
    圖1:relative子元素位置變化圖1中外框和除position屬性值不一樣外,其他css屬性均一致,其內外框html和相同部分css見圖2。圖2:內外框html和相同部分cssabsolute表示絕對位置,其在文檔流中不佔空間,其參考對象是離該元素最近的position值不是static的父元素。由圖3可以看出。
  • 前端工程化(ES6模塊化和webpack打包css,less,scss,圖片,字體...
    Loader加載器包含/* 1).less-loader: 處理.less相關文件 2).sass-loader: 處理.scss相關文件 3).url-loader: 打包處理css中與url路徑有關的文件 4).babel-loader:處理高級js語法的加載器 5).postcss-loader 6).css-loader,
  • 50 個優秀 CSS3 技巧和優美的設計教程
    CSS3 動畫按鈕 創新的 CSS3 動畫菜單 CSS3 的動畫菜單 CSS3 動畫冒泡按鈕 CSS3 預加載動畫