Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.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
Javascript 在css中设置活动状态的样式时遇到问题_Javascript_Html_Css - Fatal编程技术网

Javascript 在css中设置活动状态的样式时遇到问题

Javascript 在css中设置活动状态的样式时遇到问题,javascript,html,css,Javascript,Html,Css,我在我的网站上有一个活动状态,我可以在firebug中找到它。我已经为下面的选项卡创建了一个活动状态Relax and unwind,我用下面的方式编写了脚本 <li {if segment_3 == "relax"} class="active"{/if}><a href="{path='shop/view/relax'}">relax &amp; unwind</a></li> 删除li和.active之间的空格,并在以下内容后添加a

我在我的网站上有一个活动状态,我可以在firebug中找到它。我已经为下面的选项卡创建了一个活动状态
Relax and unwind
,我用下面的方式编写了脚本

<li {if segment_3 == "relax"} class="active"{/if}><a href="{path='shop/view/relax'}">relax &amp; unwind</a></li>

删除
li
.active
之间的空格,并在以下内容后添加
a

.sub-nav-products li.active a {
    color: #fff;
}

此示例将样式设置为锚定在类为“active”的列表元素内部。

删除
li
之间的空格。active
并在以下内容之后添加
a

.sub-nav-products li.active a {
    color: #fff;
}

本例将样式设置为锚定在类为“active”的列表元素内部。

li
之间的空格是一个空格。因此,您的选择器:

.sub-nav-products li .active
.sub-nav-products li.active
…表示
class=“active”
元素是
  • 元素的后代,而
    元素又是
    class=“sub-nav products”
    元素的后代

    使用该规则,您的HTML必须如下所示:

    <ul class="sub-nav-products">
        <li>
            <span class="active"></span>
        </li>
    </ul>
    
    但是等等!还有更多:web浏览器可能有锚元素的默认规则
    ,并且您正在尝试在锚元素中设置文本样式:

    <ul class="sub-nav-products">
        <li class="active">
            <a href="#">Example</a>
        </li>
    </ul>
    

    li
    .active
    之间的空格是一个空格。因此,您的选择器:

    .sub-nav-products li .active
    
    .sub-nav-products li.active
    
    …表示
    class=“active”
    元素是
  • 元素的后代,而
    元素又是
    class=“sub-nav products”
    元素的后代

    使用该规则,您的HTML必须如下所示:

    <ul class="sub-nav-products">
        <li>
            <span class="active"></span>
        </li>
    </ul>
    
    但是等等!还有更多:web浏览器可能有锚元素的默认规则
    ,并且您正在尝试在锚元素中设置文本样式:

    <ul class="sub-nav-products">
        <li class="active">
            <a href="#">Example</a>
        </li>
    </ul>
    

    正确的选择器是:li.active正确的选择器是:li.activeYup,正如您在firebug中看到的那样,但是仍然没有更改color@NewBoy好吧检查更新。现在它将完美地工作。我写了另一个答案或多或少相同,但引用了w3c规范,但是+1首先承认这个答案。感谢richard的贡献。正如你在firebug中看到的那样,完成了这项工作,但仍然没有改变color@NewBoy好吧检查更新。现在,它将完美地工作。我写了另一个答案或多或少相同,但引用了w3c规范,但是+1首先确认这个答案。感谢richard的贡献