我怎样才能禁用链接的引导hover颜色
嗨,我使用Bootstrap。
Bootstrap定义
a:hover, a:focus { color: #005580; text-decoration: underline; }
我有这个链接/ CSS类
<a class="green" href="#">green text</a> <a class="yellow" href="#">yellow text</a>
我怎样才能禁用胡佛的颜色?
我希望绿色的链接保持绿色,黄色的链接保持黄色,而不是凌驾于每个单独的课程上? (这个问题不是强制依赖引导)。
我需要类似的东西
a:hover, a:focus { color: @nonhoovercolor; }
我想
.yellow { color: yellow !important; }
不是一个好的做法
如果有人关心,我结束了:
a { color: inherit; }
我会去像这样的JSFiddle :
HTML:
<a class="green" href="#">green text</a> <a class="yellow" href="#">yellow text</a>
CSS:
body { background: #ccc } /* Green */ a.green, a.green:hover { color: green; } /* Yellow */ a.yellow, a.yellow:hover { color: yellow; }
a {background-color:transparent !important;}
您可以从document.styleSheets中去除全部:hover样式规则。
只需使用JavaScript浏览所有CSS样式,并删除所有在其select器中包含“:hover”的规则。 我需要删除时使用这种方法:从引导2hover样式。
_.each(document.styleSheets, function (sheet) { var rulesToLoose = []; _.each(sheet.cssRules, function (rule, index) { if (rule.selectorText && rule.selectorText.indexOf(':hover') > 0) { rulesToLoose.push(index); } }); _.each(rulesToLoose.reverse(), function (index) { if (sheet.deleteRule) { sheet.deleteRule(index); } else if (sheet.removeRule) { sheet.removeRule(index); } }); });
我使用下划线来迭代数组,但是也可以用纯js循环来写:
for (var i = 0; i < document.styleSheets.length; i++) {}
标记color: #005580;
作为color: #005580 !important;
。
它将覆盖默认的引导程序hover。
我不是Bootstrap专家,但是听起来我应该定义一个名为nohover的新类(或者类似的东西),然后在链接代码中添加类作为最后一个属性值:
<a class="green nohover" href="#">green text</a> <a class="yellow nohover" href="#">yellow text</a>
然后在Bootstrap LESS / CSS文件中,定义nohover (使用上面的JSFiddle示例):
a:hover { color: red } /* Green */ a.green { color: green; } /* Yellow */ a.yellow { color: yellow; } a.nohover:hover { color: none; }
在这里分叉JSFiddle: http : //jsfiddle.net/9rpkq/