使用JavaScript 動態更改CSS :hover 屬性
很直觀地認為我們可以透過熟悉的屬性使用JavaScript 操作屬性。但是, :hover 是一個偽類,僅當滑鼠懸停在元素上時才將樣式套用到元素。這意味著它不能直接透過屬性物件存取。
要使用 JavaScript 操作 :hover 屬性,必須超越屬性物件並冒險操作樣式表本身。這可以透過多種方式實現,每種方式都有其優點和缺點:
直接CSS 修改:
document.getElementsByTagName("style")[0].innerHTML = 'table td:hover{ background-color: #00ff00 }';
雖然直接修改可以很快,但它會覆蓋現有樣式表,可能會導致意想不到的後果。
建立新樣式表樣式表:
var css = 'table td:hover{ background-color: #00ff00 }'; var style = document.createElement('style'); style.type = 'text/css'; style.appendChild(document.createTextNode(css)); document.getElementsByTagName('head')[0].appendChild(style);
此方法透過建立僅包含所需的:hover 修改的新樣式表來允許更受控的樣式變更。然而,它也帶來了維護多個樣式表的開銷。
向目前樣式表追加新規則:
if (style.styleSheet) { style.styleSheet.cssText += 'table td:hover{ background-color: #00ff00 }'; } else { style.appendChild(document.createTextNode('table td:hover{ background-color: #00ff00 }')); }
這種方法透過追加來擴充目前樣式表新的 :hover 規則。它在直接修改和建立新樣式表之間提供了平衡。
最終,選擇的方法取決於所需變更的複雜性和整體網站架構。使用 JavaScript 動態修改 :hover 屬性為建立互動效果提供了靈活性。
以上是如何使用 JavaScript 動態變更 CSS :hover 屬性?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

是的,youshouldlearnbothflexboxandgrid.1)flexboxisidealforone-demensional,flexiblelayoutslikenavigationmenus.2)gridexcelstcelsintwo-dimensional,confffferDesignssignssuchasmagagazineLayouts.3)blosebothenHancesSunHanceSlineHancesLayOutflexibilitibilitibilitibilitibilityAnderibilitibilityAndresponScormentilial anderingStruction

重構自己的代碼看起來是什麼樣的?約翰·瑞亞(John Rhea)挑選了他寫的一個舊的CSS動畫,並介紹了優化它的思維過程。

CSSanimationsarenotinherentlyhardbutrequirepracticeandunderstandingofCSSpropertiesandtimingfunctions.1)Startwithsimpleanimationslikescalingabuttononhoverusingkeyframes.2)Useeasingfunctionslikecubic-bezierfornaturaleffects,suchasabounceanimation.3)For

@keyframesispopularduetoitsversatoryand and powerincreatingsmoothcsssanimations.keytricksinclude:1)definingsmoothtransitionsbetnestates,2)使用AnimatingMultatingMultationMultationProperPertiessimultane,3)使用使用4)使用BombingeNtibalibility,4)使用CombanningWiThjavoFofofofoftofofo

CSSCOUNTERSAREDOMANAGEAUTOMANAMBERINGINWEBDESIGNS.1)他們可以使用forterablesofcontents,ListItems,and customnumbering.2)AdvancedsincludenestednumberingSystems.3)挑戰挑戰InclassINCludeBrowsEccerCerceribaliblesibility andperformiballibility andperformissises.4)創造性

使用滾動陰影,尤其是對於移動設備,是克里斯以前涵蓋的一個微妙的UX。傑夫(Geoff)涵蓋了一種使用動畫限制屬性的新方法。這是另一種方式。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

SublimeText3漢化版
中文版,非常好用

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。