如何禁用链接的引导悬停颜色

时间:2013-04-18 13:24:06

标签: css twitter-bootstrap href

您好我正在使用Bootstrap。

Bootstrap定义

a:hover, a:focus {
    color: #005580;
    text-decoration: underline;
}

我有这个链接/ CSS-classes

<a class="green" href="#">green text</a>
<a class="yellow" href="#">yellow text</a>

如何禁用胡佛颜色?

我希望绿色链接保持绿色而黄色链接保持黄色,而不是覆盖:为每个班级悬停? (这个问题不是强制性的,取决于引导)。

我需要像

这样的东西
a:hover, a:focus {
    color: @nonhoovercolor;
}

我认为

.yellow {
    color: yellow !important;
}

不是一个好习惯

8 个答案:

答案 0 :(得分:138)

如果有人关心我最终:

a {
    color: inherit;
}

答案 1 :(得分:11)

我会选择类似this 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; }

答案 2 :(得分:8)

NSString *website = @"http://www.domain/";
NSURL *url = [NSURL URLWithString:website];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[webpage loadRequest:request];

答案 3 :(得分:2)

如果你喜欢在现实世界系统中永远不应该做的丑陋黑客攻击;你可以从document.styleSheets中删除所有:悬停样式规则。

使用JavaScript浏览所有CSS样式并删除所有在其选择器中包含“:hover”的规则。我需要删除时使用此方法:bootstrap 2中的悬停样式。

_.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++) {}

答案 4 :(得分:1)

color: #005580;标记为color: #005580 !important;

它将覆盖默认的bootstrap悬停。

答案 5 :(得分:1)

对我来说,上述所有简单解决方案都无效,但是通过更改悬停按钮,我可以使它正常工作:

  :hover {
    color: inherit;
    text-decoration: none;
  }

答案 6 :(得分:1)

如果您想为链接设置默认颜色但继续使用 wutzebaer answer,请尝试以下操作:

body a {
    color:pink; /*this is the default link color*/
}
a {
  color:inherit;
}
.green {
  color:green
}
.red {
  color:red
}
<a class="green">Green</a>
<a class="red">Red</a>
<a>Default</a>

答案 7 :(得分:0)

我不是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/