【问题标题】:CSS color property not workingCSS颜色属性不起作用
【发布时间】:2014-05-22 02:29:59
【问题描述】:

在更改链接的类时,我在更改链接的颜色属性时遇到了一些问题。这是代码

<div id="information">
    <ul class="pagination">
        <li><a href="#"><span>Administration</span><small>Learn Site Administration</small></a></li>
        <li><a href="#"><span>Management</span><small>Learn Access Management</small></a></li>
        <li><a href="#"><span>Dashboard</span><small>Learn Dashboard Functions</small></a></li>
        <li><a href="#"><span>Visitors</span><small>Learn Visitor Management</small></a></li>                        
    </ul>
</div>

这是我用来创建没有内联样式或其他任何内容的列表的 html 代码。

现在这是我的 css。

#information {
width: 1000px;
height: 350px;
margin: 0 auto;
background:url(../images/information-bg.jpg) no-repeat 25px 5px;
}
#information ul{
    list-style: none;
    margin: 0;
    padding: 0;
}
#information ul.pagination{
    float: left;
    list-style:none;
    padding:0;
    margin:0;
    width:246px;
    height:350px;
    background:url(../images/pagination-bg.jpg) no-repeat left top;
}
#information ul.pagination li {
    padding:5px 0 0 5px;
    margin-bottom:-5px;
}
#information ul.pagination li a {
    width:270px;
    height:85px;
    background-repeat:no-repeat;
    background-position:left -85px;
    background-image:url(../images/thumb-sprite.png);
    text-decoration:none;
    display:block;
    color: #464646;
}
#information ul.pagination li.current a {
    background-position:left top;
    color: white;
}
#information ul.pagination li a span {
    font-size: 26px;
    line-height: 1.2em;
    display: block;
    padding: 14px 0 0 0;
}
#information ul.pagination li a small {
    display:inline-block;
    color:#428301;
    background-repeat:no-repeat;
    background-position:right -80px;
    background-image:url(../images/arrows.gif);
    padding:0 17px 0 0;
    font-size: 10px;
}
#information ul.pagination li.current a small {
    font-size: 10px;
    color: #89C100;
    background-position:right 5px;
}
#information ul.pagination li a span, #information ul.pagination li a small {
    padding-left:40px;
}

目前没有元素有类 .current 所以我通过脚本将类添加到第一个元素,这里是脚本

$("document").ready(function(){

    //Adding class to pagination and showing first image
    var currentPagination = $("ul.pagination li:eq(0)").addClass("current");
    var currentslide = $("ul.slides li:eq(0)").fadeIn(2000);    


    //On click of pagination link, changing background of pagination and anmating new slide
    $("ul.pagination li").click(function (){           
        currentPagination.removeClass("current");        
        currentPagination = $(this).addClass("current");              
        var ul = $(this).parent();
        var index = ul.children().index(this);
    });

});

这里的困境是,class= current 的 li 的背景正在正确改变但元素的颜色属性没有改变,你可以在 ( #information ul.pagination li.current a ) 的 css 属性中看到,我不知道有什么问题它,但我已经卡了这么久终于我决定问论坛。

请注意,脚本运行良好,因为背景变化完美。即使在当前课程的网页开头 li 有颜色#fff 但之后它不起作用,任何帮助将不胜感激。

P.S 这是一个 URL,您可以在其中看到它在开始时可以正常工作,但之后背景图像位置会发生变化,但颜色不会

【问题讨论】:

  • 它正在工作。见jsfiddle.net/zdJ4E
  • 你有背景图片../images/thumb-sprite.png的公共链接吗?
  • tinypic.com/r/4fvmoo/8 ,但不在浏览器上。我现在对此感到非常生气。
  • @ArunPJohny 我已经添加了 tinypic url,请检查一下,我还在 cmets 部分对问题图像进行了评论。

标签: javascript jquery html css pagination


【解决方案1】:

试试

#information ul.pagination li.current a {
    background-position:left top;
    color: red;
}

您的代码运行良好,问题是您使用的是color: white;

所以链接没有显示。

【讨论】:

  • tinypic.com/r/4fvmoo/8,请检查一下,我也在小提琴中做过,它在那里工作,但在浏览器中不起作用。请参阅附图以了解问题,我已将颜色更改为红色以进行澄清。
【解决方案2】:

我没有看到任何错误here

$("document").ready(function(){

//Adding class to pagination and showing first image
var currentPagination = $("ul.pagination li:eq(0)").addClass("current");
var currentslide = $("ul.slides li:eq(0)").fadeIn(2000);    


//On click of pagination link, changing background of pagination and anmating new slide
$("ul.pagination li").click(function (){           
    currentPagination.removeClass("current");        
    currentPagination = $(this).addClass("current");              
    var ul = $(this).parent();
    var index = ul.children().index(this);
});

});

【讨论】:

  • tinypic.com/r/4fvmoo/8 ,请检查一下,我也在小提琴中做过,它在那里工作,但在浏览器中不起作用。请参阅附图以了解问题,我已将颜色更改为红色以进行澄清。
【解决方案3】:

在这个 DEMO

中运行良好

我已经添加了

#information ul.pagination li.current a {
    background-position:left top;
    background-color: black; 
    color: white;
}

这样很容易看到

更新答案 尝试通过指定以下属性来覆盖默认链接颜色

#information ul.pagination li.current a:active{ 
    color: #FFF;
}

【讨论】:

  • tinypic.com/r/4fvmoo/8 ,请访问此链接,以便您更好地了解该问题。我试过了。
  • 是的。我看到了那个链接,但我无法重现这个问题。
  • 我在这篇文章中发布的代码是我在我的应用程序中使用的复制粘贴。我猜卡得太厉害了。
  • 我使用 Chrome 的开发者工具查看 color: red; 属性是否在任何时候设置。但就我而言,它没有。
  • 可能有一些代码或样式设置了属性color: red;。你能用 Chrome 的开发者工具查一下吗?
【解决方案4】:

它运行良好。正如您在 JSFiddle 中看到的 http://jsfiddle.net/banded_krait/m9kV9/1/

如果它仍然无法在您的代码中运行,请尝试将 !important 放入该 css。

#information ul.pagination li.current a {
    background-position:left top;
    color: red !important;
}

为字幕颜色放这个css

#information ul.pagination li.current a small {
    color: red !important;
}

我还更新了我的 jsfiddle。请参见。 我将颜色从白色更改为红色,看看它是否有效。

【讨论】:

  • tinypic.com/r/4fvmoo/8 ,我已经添加了重要的它也不起作用,为什么当背景图像位置发生变化时颜色不起作用。 !important 在这里不是必需的。
  • 我更新了我的答案。希望这能解决您的问题。
  • 如果没有必要,你不需要放 !important。我这样做是因为它可能会被您的其他 css 覆盖。
  • li.current small 的颜色已经很好了。使用 !important 不是一个好习惯。因为我可以在没有 !important 的情况下更改它,你为什么要强迫它。它没有必要,因为它没有压倒任何东西。如果它在小提琴上工作正常,为什么它不能在浏览器中工作。
  • 尝试使用 ctrl+F5 刷新浏览器,以防浏览器缓存无法让您看到更改。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多