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
說前端很簡單,我說,越簡單的東西做好越難。
我們經(jīng)常用css3寫一些動畫,很是方便,下面普及一個前端開發(fā)冷知識,css動畫設(shè)置暫停 animation-play-state, 你用過嗎?
看代碼
鼠標(biāo)一上去動畫暫停,是不是漲姿勢了? 基于它你是否已經(jīng)有了更好動畫實現(xiàn)的想法?
--
切圖網(wǎng)qietu.com ,專注前端開發(fā)
擊右上方紅色按鈕關(guān)注“小鄭搞碼事”,每天都能學(xué)到知識,搞懂一個問題!
大家可能會經(jīng)常使用animation來處理一些動畫效果,所以對animation這個CSS屬性應(yīng)該是非常熟悉。自定義一個動畫過程,然后用animation來設(shè)置它的動畫時間,動畫效果,動畫方式等等。
今天我們來想想,我們是否可控制animation的暫停和繼續(xù)播放了? 答案是可以的,怎么搞了?一個屬性:animation-play-state。
取值:paused(暫停)|running(播放)
竟然知道了用這個屬性可以實現(xiàn),那處理方式就有好多了,下面我來想幾種常規(guī)思路。
JavaScript動態(tài)設(shè)置嘛,當(dāng)用戶點擊按鈕時,將animation-play-state屬性設(shè)置到DOM上。效果就是下面這樣的:
核心代碼就是一段監(jiān)聽點擊事件和設(shè)置animation-play-state屬性:
很容易想得到,其實用純CSS也可以實現(xiàn)animation的播放和暫停。
.stop:hover~.animation {
animation-play-state: paused;
}
radio標(biāo)簽的checked偽類,加上<label for>實現(xiàn)點擊響應(yīng),這個在我之前的文章寫純CSS實現(xiàn)TAB切換時有詳細(xì)講的這個方法。這里同樣也可以用來響應(yīng)點擊,從而控制動畫的狀態(tài)。
核心代碼如下:
#stop:checked ~ .animation {
animation-play-state: paused;
}
#play:checked ~ .animation {
animation-play-state: running;
}
最后總結(jié)一下:
除了上面提到的一些處理方式,我現(xiàn)在能想到的至少還有一個偽類能實現(xiàn),大家動動腦。
TML 規(guī)范的開發(fā)是一個漸進(jìn)的過程,有時會出現(xiàn)問題。隨著時間的推移,許多元素和屬性被添加到 HTML 中,直到后來 Web 社區(qū)集體意識到有更好的方法時才被刪除。由于已棄用和過時的元素和屬性已經(jīng)存在于網(wǎng)絡(luò)上,因此許多現(xiàn)代瀏覽器繼續(xù)支持它們的使用。盡管它們可能仍然有效,但您應(yīng)該始終遵循最新版本的要求 HTML。不能保證瀏覽器對過時和棄用元素的支持會持續(xù)下去。有效但執(zhí)行不A力。
有幾種 HTML 元素和屬性是有效的并且應(yīng)該被使用,但是這些特性的實現(xiàn)隨著時間的推移而發(fā)生了變化,而 Web 開發(fā)社區(qū)的一些人還沒有注意到。HTMLtables就是一個很好的例子。table在某一時刻,使用 HTML元素創(chuàng)建網(wǎng)頁布局是很常見的。幾乎沒有人再這樣做了,CSS 比tables以往任何時候都更強大。但是,即使是經(jīng)驗豐富的 Web 開發(fā)人員,也存在許多其他不太嚴(yán)重的誤用和語法錯誤。以下是一些經(jīng)常被誤用得完全有效且有用的 HTML 功能以及正確實現(xiàn)的示例。
雖然在技術(shù)上不是 HTML 元素,但DOCTYPE聲明應(yīng)該是每個 HTML 文檔中出現(xiàn)的第一件事。這個聲明是瀏覽器文檔中代碼的語言。過去,這個聲明包括幾個部分,可能會有點復(fù)雜。然而,在 HTML5 中,這很簡單:
使用該聲明開始每個人 HTML 文檔,Web 瀏覽器將準(zhǔn)確地知道您要說什么。
Web 瀏覽器必須知道用于編寫文檔的字符集才能正確呈現(xiàn)它。在絕大多數(shù)情況下,要聲明的正確字符集是UTF-8。如果您需要聲明其他任何內(nèi)容,很可能您已經(jīng)知道并知道如何去做。如果您不確定,請堅持使用 UTF-8 是一個安全的選擇。在 HTML5 中聲明字符集比在以前的 HTML 版本中要簡單得多。這是現(xiàn)代 HTML5 中聲明的正確語法:
只需將該行放到head您的 HTML 文檔中即可。
過去,通常使用meta標(biāo)簽來提供版權(quán)信息。但是,這不是處理此任務(wù)的正確方法,并且網(wǎng)絡(luò)爬蟲無法識別標(biāo)簽的這種標(biāo)簽外使用meta。識別版權(quán)的正確方法是使用HTML 文檔link中的元素,如下所示:head
您還可以在錨點和區(qū)域元素上使用rel="license"屬性值對。
在過去,通常使用如下語法將腳本添加到 HTML 文檔中:
這是有充分理由的。在某一時刻,許多瀏覽器無法識別script標(biāo)簽,并試圖將標(biāo)簽之間的內(nèi)容呈現(xiàn)為 HTML,從而導(dǎo)致它們以純文本形式顯示腳本。為了避免這個問題,開發(fā)人員會注釋掉文本,這樣它就不會被不受支持的瀏覽器呈現(xiàn)為 HTML。那些日子已經(jīng)離我們很遠(yuǎn)了。所有現(xiàn)代瀏覽器都支持該script標(biāo)簽。只需完全刪除 HTML 注釋括號,或者更好的是,將 JavaScript 編寫在單獨的文件中,然后使用script標(biāo)記將其導(dǎo)入到當(dāng)前的 HTML 文檔中,如下所示:
還有不少元素曾經(jīng)是 HTML 規(guī)范的一部分,但后來被棄用或廢棄。以下是您可能仍在使用的八個 HTML 元素,您應(yīng)該立即停止使用它們以及您可以使用的替代標(biāo)簽:
有許多元素和屬性曾經(jīng)是 HTML 的一部分,但執(zhí)行的任務(wù)更適合 CSS。這些元素已經(jīng)被棄用,取而代之的是讓 CSS 控制網(wǎng)頁呈現(xiàn)。
曾經(jīng)使用 HTML 元素(如font、basefont、center、strike和u. 這些元素都已被棄用,取而代之的是 CSS 提供的字體和排版控件。要了解更多信息,請查看我們的字體和網(wǎng)頁排版教程。一個從未真正流行起來的獨特標(biāo)簽是multicol。此標(biāo)簽可用于將文本分成多列,類似于報紙的外觀。現(xiàn)在可以使用 CSScolumns屬性在現(xiàn)代瀏覽器中創(chuàng)建類似但更強大的效果。
廣泛的 HTML 元素屬性曾經(jīng)可用于控制 HTML 元素的呈現(xiàn)。幾乎所有這些標(biāo)簽都已被棄用,現(xiàn)在 CSS 提供了相同的功能。如果您不熟悉 CSS 以及如何實現(xiàn)這些屬性,我們的 CSS 教程將幫助您立即開始使用層疊樣式表。下面是一些更常用的屬性和現(xiàn)在可以用來實現(xiàn)相同結(jié)果的 CSS 屬性。
在本文中,我們介紹了一些最常見的元素和屬性,這些元素和屬性使用不當(dāng)或已被棄用或過時。然而,我們真的只是觸及了冰山一角。如果您想了解已從 HTML 規(guī)范中刪除的所有 HTML 元素和屬性,請參閱以下資源:
*請認(rèn)真填寫需求信息,我們會在24小時內(nèi)與您取得聯(lián)系。