Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Css 将颜色应用于a:link、a:hover、a:visted和a:active会破坏jQuery';s.button()主题化?_Css_Jquery Ui - Fatal编程技术网

Css 将颜色应用于a:link、a:hover、a:visted和a:active会破坏jQuery';s.button()主题化?

Css 将颜色应用于a:link、a:hover、a:visted和a:active会破坏jQuery';s.button()主题化?,css,jquery-ui,Css,Jquery Ui,site.css: a:link, a:visited, a:hover, a:active { color: #0033CC; text-decoration: none; } 第页: <a href="/foo/boo">test link</a> jQuery很好地为“测试链接”创建了一个按钮,但是按钮不同状态上的一些文本颜色是site.css中定义的,而不是jQuery主题的 因此,这里的要点是为页面上的所有链接提供一些默认外观,而不影响jQu

site.css:

a:link, a:visited, a:hover, a:active
{
    color: #0033CC;
    text-decoration: none;
}
第页:

<a href="/foo/boo">test link</a>
jQuery很好地为“测试链接”创建了一个按钮,但是按钮不同状态上的一些文本颜色是site.css中定义的,而不是jQuery主题的


因此,这里的要点是为页面上的所有链接提供一些默认外观,而不影响jQuery的主题化。我做错了什么?

它按预期工作,在页面中指定它的优先级高于jQuery的定义

一般来说,我们可以说 这些样式将“级联”到一个新的 “虚拟”样式表由以下人员创建 规则,其中第四个有 最高优先:

  • 浏览器默认值
  • 外部样式表
  • 内部样式表(在标题部分)
  • 内联样式(在HTML元素内)
  • 如果需要,您可以将代码更改为:

    Javascript:

    $("button").button();
    
    <button>Button label</button>
    
    HTML:

    $("button").button();
    
    <button>Button label</button>
    
    按钮标签
    
    这个问题与伪元素有关:link、:visted、:active和:hover(从页面中)覆盖jquery样式。伪元素的样式比类的样式具有更高的优先级

    就我个人而言,我还没有一个很好的解决方案。您可以编辑一些样式标记,使a::a::hover和a::active成为正确的颜色,尽管在使用themeroller时这是一个正确的问题

    我个人认为themeroller应该注意这一点,生成样式,强制按钮显示正确的样式,即使在那些特定的伪元素下也是如此

    更长的编辑时间:要添加的样式为

    a.ui按钮:链接,a.ui按钮:已访问。。。您希望将它们添加到interaction stats下的第一行,以便它们从通常具有.ui state default、.ui widget content.ui state default、.ui widget header.ui state default的行开始

    a.ui按钮:悬停到第三行,通常是.ui状态悬停,.ui小部件内容.ui状态悬停,.ui小部件标题.ui状态悬停,.ui状态焦点,.ui小部件内容.ui状态焦点,.ui小部件标题.ui状态焦点

    不确定这是否有必要,但为了完整性,我补充道

    a.ui-button:active至第五行,通常为.ui state active、.ui小部件内容.ui state active、.ui小部件标题.ui state active


    据我所知,这使得按钮显示正确。但正如我所说,如果你使用themeroller并允许多个主题,这是一个正确的痛苦。

    我仔细检查了:
    站点。css
    包含在
    jquery-ui-1.8.2之前。css
    在标题部分带有链接标签。jQuery的CSS不应该覆盖那些链接样式吗?将其更改为按钮不是一个选项,因为它们实际上是指向某个地方的链接。我将更新链接,使其更有意义。它不会用该脚本更改
    标记,只需设置样式即可。例如,上面的演示看起来像
    按钮标签
    ,而且,不需要
    标签,只需使用
    转到谷歌
    ,该按钮依赖于Javascript。例如,请参见为什么这可能是一个问题:jQuery是Javascript,只是一个使事情变得更简单并有助于跨平台脚本编写的库。不管你用它做什么,它都将依赖于Javascript。