使用 JavaScript 动态更改 CSS :hover 属性
很直观地认为我们可以通过熟悉的属性使用 JavaScript 操作 CSS :hover 属性目的。但是, :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 powerincreatingsmoothcssanimations.keytricksinclude:1)definingsmoothtransitionsbetnestates,2)使用AnimatingmatematingmultationmatingMultationPropertiessimultane,3)使用使用4)使用BombingeNtibalibility,4)使用BombingingWithjavofofofofofoffo

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
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

WebStorm Mac版
好用的JavaScript开发工具