class - 在基础 5 中为元素提供类以设置它们的样式

标签 class css zurb-foundation

我给元素类来设置它们的样式,一切都很好,但有一件事不是。 .active 不做这件事。它应该改变颜色。我的代码有什么问题?

   <nav class="top-bar">
     <ul class="title-area">
       <li class="name"><h1><a href="#">Queen</a></h1></li>  
     </ul>
   <section class="top-bar-section">                
    <ul class="left">           
     <li class="divider"> </li>   
     <li class="active"> <a href="#">Menu Item 1</a></li>
     <li class="divider"> </li> 
     <li><a href="#">Menu Item 2</a></li>
   </ul>
   </section>
   </nav>

.top-bar-section ul li:hover > a {
    background: #272727;
    color: white; }
.top-bar-section ul li.active > a {
    background: yellow;
    color: white; }
.top-bar-section ul li.active > a:hover {
      background: #0078a0; }

当我写这个东西时它有效:.top-bar-section ul.left li.active {} 但是嘿它应该工作而不把 .left 放在这里太对了吗?还好不是

最佳答案

我很清楚你的经历 Tomas.R ,它归结为 CSS Specificity。这是一种奇特的说法,即 CSS 选择器/规则越具体,其影响就越大。由于 .top-bar-section ul.left li.active 有效,但 .top-bar-section ul li.active 我猜不是在 Foundation 的某个地方CSS 有一个比 .top-bar-section ul li.active 更具体的选择器/规则。

确定 Foundation 的选择器/规则的具体程度的一个好方法是使用浏览器的开发工具,通常是 F12,然后查看要更改的元素/标签。如果您发现 Foundation 在指定 CSS 选择器/规则方面非常精细,那么您将需要做同样的事情。

请记住,您不必像 Foundation 的选择器/规则那样更具体,只要您“更接近”元素/标签即可,如:

    <link rel="stylesheet" href="css/foundation.min.css" />`
    <link rel="stylesheet" href="css/site.css" />

这样你的 site.css 将更接近你的 HTML 而不是 Foundation 的 CSS。

要更好地了解 CSS 特异性,请查看以下链接:

最后,根据您计划定制的程度,研究 SASS 可能是更好的策略。 . Zurb 让你去 Getting Started With Sass并且有很多很棒的在线教程可以从它离开的地方继续学习。

希望对您有所帮助。

关于class - 在基础 5 中为元素提供类以设置它们的样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21575901/

相关文章:

html - 垂直排列 div 类图 block

具有类成员的 C++ 模板类

javascript - 当用户单击提交按钮时,我想将对象类型转换为 j-son 以在 rest api 中发布数据

CSS 动画/过渡与不透明度交互

html - 表格基础框架中的中心 Logo

javascript - Foundation 6 Off-canvas 菜单点击后自动关闭

C++ 即使是同一个类函数也不能访问私有(private)类变量

python - 动态创建类python的实例

html - 如何正确定位 div 以实现下方有文本的叠加悬停效果

javascript - 如何在 Foundation Framework 中禁用 "Pinch Zoom"?