Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
前端開發來說,通過動畫來提升交互效果是很常見的。在很早以前,做web動畫主要通過javascript或者jquery或者flash這樣的手段,非常麻煩,自打有了ccs3,做動畫就太方便了,只需幾行css代碼就可以搞定。
這里我們就演示一個常見的循環滾動效果,任務是這樣:先準備一個圖片,平鋪到頁面上充滿整個屏幕,然后就讓畫面一直向上循環滾動,形成無邊無際的感覺。
雖然可以從網上搜到一些類似的代碼,但是魚龍混雜,無關緊要的代碼非常多,不夠純粹。如果要弄明白動畫的原理,只有自己動手做一遍才能真正消化吃透。所以我們來一步步原創這個代碼,排除所有不必要的基礎樣式,只說要點,3個步驟你就可以完全掌握其精髓!
第一步:布局
首先,滾動的圖片需要放在一個容器里,一行html代碼即可完成:
第二步:把圖片放進容器
css中body的邊界設為0,把容器設高度100%以充滿屏幕,再調用背景圖pic.png
第三部:讓畫面動起來
咱不做標題黨,循環滾動靠的就是3行css動起來的。
先是1行 -webkit-animation屬性:4個參數分別表示:動畫名稱scroll,1秒時長,移動速度為線性的,無限循環。
然后是對應的關鍵幀 @-webkit-keyframes 屬性,這是自己定義的動畫規則,只需寫2行規則即可:
原理:動畫就是畫從一個地方動到另一個地方。對普通滾動效果來說,有起點和終點這兩個節點的位置就夠了。所以我們用0%和100%分別表示起點和終點,指定2個背景圖的xy位置坐標即可。圖片會在規定時間內從起點移動到終點,并循環下去,數值是負表示是向上移動。320px正好是圖片的高度,這樣循環的時候是無縫銜接的。
好了,最終完整的代碼如下,是不是很精練呢?保存成 index.html 即可
代碼寫完了,還要記得在當前目錄要有pic.png這個圖片哦,我隨便畫了幾筆,絕無觀賞性,建議自己找個好看點的圖片來代替。
現在用瀏覽器打開index.html即可看到效果,比較魔性的地方在于,如果你盯著看久了,關閉窗口以后會出現幻覺,仿佛整個顯示器都在向上飛,哈哈!
最后我們來說說瀏覽器兼容性問題:
大家可能注意到了,前面那2個古怪的 -webkit-animation, @-webkit-keyframes 這里的-webkit-其實是一個前綴,animation和@keyframes才是CSS的標準屬性。
當加上-webkit-后,就形成了一個針對特殊瀏覽器的專有屬性,表示用在谷歌的chrome和蘋果的safari瀏覽器上。此外還有-moz前綴代表針對firefox瀏覽器的私有屬性。
所以我們在用到css3的一些特性的時候,經常使用一大堆的重復性的代碼,比如我們今天的這個代碼,有人會寫成這個樣子:
一個簡單的動畫就要寫這么多冗余的代碼,為的只是支持一些舊的瀏覽器,有必要嗎?為什么在這個例子中我們僅僅采用了-webkit-而沒有使用其它專有屬性呢?
因為現在已經是2019年了!谷歌蘋果的瀏覽器是主流,占據了絕大部分,而其它小眾瀏覽器也大多能夠兼容他們,在版本上,大部分人安裝瀏覽器是直接下載新版本安裝使用,而非找出家里陳年的老軟盤、老光盤去安裝,家中的老電腦也早已升級不知多少回了,所以也幾乎沒有機會使用低版本的瀏覽器了!
至于微軟的IE,就更別提了,IE9以前不支持動畫的,只能用js或者jquery來寫動畫,直到IE10才支持css動畫,隨后IE被放棄,主推Edge,搞了幾天越來越頭大干脆也放棄,現在直接使用chrome內核了,所以針對ie的兼容性除非有特殊要求已經無需考慮。
你在網上能看到的范例代碼,如果有寫成那么復雜臃腫的,估計也都是3-5年前發的老文,或者抄來抄去不做思考的搬磚工留下的“初學者”筆記。
我們不仿測試一下幾款主流瀏覽器的情況看看,結論:
測試結果表明,-webkit-的寫法在4款不同內核的瀏覽器上都能正常使用,所以我們的代碼因此能得以簡化。
當然,這個例子也有局限性,比如你看,只有蘋果safari不支持標準寫法,萬一將來他改邪歸正了呢?畢竟標準寫法才是眾望所歸不是?使用針對個別瀏覽器的私有屬性寫法,雖可用但畢竟有些怪怪的,將來怎么樣還很難說呢。這樣看來,如果使用古老的處理辦法,重復N次為每個專屬瀏覽器各寫一份代碼,除了辣眼睛也真沒什么錯。
瀏覽器的兼容問題涉及面實在是非常廣,三言兩語還真說不完,以后會專門來講。
015-12-02 10:26:02 作者:馬榮
【中關村在線軟件資訊】12月2日消息:臭名昭著的Adobe Flash居然要改名了,Adobe今日宣布Flash Professional將在以后版本中更名為Adobe Animate CC。
Adobe Animate CC將加入對HTML5的支持,這應該算是對趨勢的一種順應。為此,Adobe將大部分Flash事業部員工轉移到新的部門來開發HTML5,CSS3和SVG等。
在HTMML5逐漸普及之后,Adobe Flash Professional也加強了對HTML5的支持,幫助開發人員創建更多網站、廣告和動畫電影。不過Animate CC還將繼續支持Flash SWF文件。
Adobe Animate CC
目前已經沒有人使用Flash來制作網站,只有網絡廣告還在對Flash提出需求,但是,自從推出HTML5之后,Flash音頻和視頻源數量也已經顯著下降。
在業界越來越多的人排斥Flash,所以Adobe將其更名為Adobe Animate CC也是情理之中的,當然也是轉變的開始。這樣一來CC家族的成員又壯大了。
HTML是最流行的Web前端開發技術之一,它是一種用于創建網頁和 Web 應用程序的標記語言。HTML與CSS和JavaScript結合使用以創建有吸引力且響應迅速的前端網頁。
HTML 提供了幾個不同的元素,如 <head>、<body>、<p>、<img>、<a> 等,它們充當網站的構建塊,瀏覽器使用這些 HTML 元素來解釋和表示網頁上的內容。
HTML 概述
HTML(超文本標記語言)是Web瀏覽器理解并用于呈現網頁的語言。在不同元素的幫助下,HTML 決定了網頁的外觀和顯示內容。超文本標記語言 (HTML) 是一種用于創建獨立于平臺的超文本文檔的簡單標記語言。
HTML 文檔是具有通用語義的 SGML(標準通用標記語言)文檔,可用于表示來自各種學科的數據。HTML 標記可用于創建超文本郵件、文檔、新聞和超媒體;選項菜單;數據庫查詢結果;帶有內嵌圖形的簡單結構化文檔;和現有數據集的超文本視圖。
HTML 語言的主要用途
輕松瀏覽互聯網
超文本允許你訪問 Internet 上的不同頁面,尤其是在你沒有記住所有 URL 的情況下。你只需單擊鏈接或在地址字段中輸入 URL 即可瀏覽互聯網。超文本對于引導用戶瀏覽你的網站并充當網關至關重要,以便他們知道存在不同的頁面并可以在它們之間導航。如果不使用超文本,用戶很難檢測到網站上是否還有其他網頁。
尖端功能
HTML 支持 Polyfill 功能,它是一種允許你在 HTML 中本地使用不同技術的代碼。你可以使用此功能復制未來的API,同時為過時版本的瀏覽器提供回退功能;你可以自定義polyfill庫以滿足你的特定要求并執行其他人從未做過的事情。HTML 的這些尖端特性是HTML有如此多用途的原因。
創建 Web 文檔
網頁只是一個Web文檔,你可以在其中編寫你希望用戶看到的材料,然后將其包裝在指示機器如何格式化整個內容的代碼中。這會告訴你的瀏覽器標題、正文和元數據中的文本,它帶有標簽,因此計算機知道如何處理你提供的信息。
數據輸入
你擁有執行任何數據輸入任務所需的所有 API。作為開發人員,你只需在相關字段中添加標簽,例如文本和數據格式,你甚至可以提供屏幕鍵盤和驗證,確保為用戶提供流暢和愉快的體驗。
游戲開發
游戲開發是 HTML 的重要用途之一。盡管不再支持Flash,但HTML仍可用于創建基于瀏覽器的游戲。你使用的API不必完全實現,但可以使用最必要的組件,同時去掉了其余的功能,帶來了更輕松的體驗。由于HTML5的進步,HTML正迅速成為最流行的游戲編程語言之一。
離線存儲
如果你的一些用戶不在線怎么辦?在最新版本的HTML中找到的應用程序緩存方法的幫助下,你仍然可以使你的應用程序運行。應用程序緩存負責各種離線功能,包括各種組件,包括需要更新的API調用。通過清單文件,你可以控制瀏覽器對其離線使用的操作,甚至它使用的資源。
原生API使用
API代表“應用程序編程接口”,這是兩個不同應用程序相互通信的一種方式。通過使用API,HTML包括地理定位、事件管理、拖放和更多功能,HTML編程現在比以往任何時候都更強大。開發人員還可以使用具有異步特性的現代在線應用程序。
在客戶端存儲東西
IndexDB和Localstorage 使在客戶端存儲文件更簡單、更高效,這些都有自己的一套強大的功能。
Localstorage支持setItem、getItem 和removeItem方法,以及基于字符串的哈希表存儲。IndexDB帶有更多的存儲空間,你可以在用戶許可的情況下增加。
方便使用的
與其他編程語言不同,HTML以用戶友好而聞名,即使對于初學者也是如此,所以,這也是HTML的主要用途之一。HTML中有語義組件來描述它們所具有的內容類型,例如,頁眉、頁腳、主要、摘要和時間等HTML常用標簽是自描述的。
可訪問的富Internet應用程序
HTML5語義標簽的使用使網站搜索引擎和屏幕閱讀器友好,如果正確使用語義標簽,視障人士可以使用屏幕閱讀器從網頁中獲取信息。
結論
在這篇博客中,我們講述了HTML的所有重要用途,它通常是Web開發人員學習的第一語言,所以,如果你想學習Web編程并且害怕學習HTML的難度,你不必擔心,HTML非常容易學習。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。