#startButton元素Hover样式不生效问题求助
嘿,我瞅了下你的代码,问题出在两个关键地方,这就给你掰扯清楚:
问题1:CSS选择器和元素不匹配
你写的CSS用了#startButton:hover,但你的按钮元素的id是brickButton,类名才是startButton——这就导致CSS根本找不到要修改的元素,hover效果自然没反应。
问题2:内联样式优先级太高
你给按钮加了内联的style='background-color: #fff; color: #555;',内联样式的优先级远高于普通的CSS选择器,就算选择器匹配上了,hover样式也没法覆盖内联的属性。
修正方案(推荐写法)
把内联样式移到CSS里,同时让选择器和元素对应上:
1. 用类选择器(更灵活,适合多个同样式按钮)
/* 默认样式 */ .startButton { background-color: #fff; color: #555; } /* hover触发样式 */ .startButton:hover { color: blue; /* 这里原代码hover背景色和默认一样,你可以改成比如#eee来看到明显变化 */ background-color: #fff; }
对应的HTML(去掉内联style):
<a href='#arrow' class='startButton' id='brickButton'> <span id='theText'>Start Your Search</span> </a>
2. 用id选择器(适合单个唯一按钮)
如果你只想针对这个id为brickButton的按钮设置样式,CSS可以改成:
#brickButton { background-color: #fff; color: #555; } #brickButton:hover { color: blue; background-color: #fff; }
HTML同样去掉内联style即可。
极端情况(不推荐)
如果实在不想移除内联样式,可以用!important强制覆盖优先级,但这种写法会破坏CSS的优先级规则,尽量少用:
.startButton:hover { color: blue !important; background-color: #fff !important; }
内容的提问来源于stack exchange,提问作者user176105
相关产品推荐
相关产品推荐

