缺少CSS访问元素NESTED CSS CLASSES

时间:2012-07-05 18:03:39

标签: css class nested less

我试图只访问ELEMENT的toc-chapter编号(在本例中为1)。该元素位于嵌套类中。我已经在toc-section上使用了这种方法,并且能够产生想要的结果。

的CSS:

.book .toc {

    & > .title{
        font-size: x-large;
        font-weight: bold;
        padding-bottom: .25em;
        margin-bottom:.50em;
        border-bottom: 1px solid @tuscany;          
    }

    & a.target-chapter{
        .cnx-gentext-n{
            &:before{content: "testing";}           
        }   
        color:red ; 
    }
}

HTML:

<div class="toc">
  <div class="title">
    Table of Contents
  </div>

  <ul>
    <li xmlns:d="http://docbook.org/ns/docbook" xmlns:db=
    "http://docbook.org/ns/docbook" xmlns:pmml2svg=
    "https://sourceforge.net/projects/pmml2svg/" xmlns:c="http://cnx.rice.edu/cnxml"
    xmlns:ext="http://cnx.org/ns/docbook+" xmlns:svg="http://www.w3.org/2000/svg"
    xmlns:mml="http://www.w3.org/1998/Math/MathML" class="toc-chapter">
      <a href="#idm3792312" class="target-chapter"><span class=
      "cnx-gentext-chapter cnx-gentext-autogenerated">Chapter</span> <span class=
      "cnx-gentext-chapter cnx-gentext-n">1</span><span class=
      "cnx-gentext-chapter cnx-gentext-autogenerated">.</span> <span class=
      "cnx-gentext-chapter cnx-gentext-t">Aging and the Elderly</span></a>

1 个答案:

答案 0 :(得分:0)

根据您提供的信息,我会假设LESS正在生成以下css选择器(我实际上在LESS中记录了您的问题,这只是我的解释):

.book .toc a.target-chapter .cnx-gentext-n:before {content: "testing";}

哪个应该有用based on this fiddle。我将假设您在支持:before的浏览器中进行测试(不是IE的旧版本)。所以要麻烦拍摄,你需要:

  1. 确认此类选择器实际上已生成。
  2. 如果不是,请确定您的代码实际生成的选择器字符串(如果有),这可能会导致您解决问题。
  3. 如果正在生成这样一个正确的选择器字符串,那么你需要查看其他css(你还没有发布,所以我只是在这里推测):

    1. 一些更具体(看起来不太可能)的选择器字符串是否针对同一个事物并覆盖它?
    2. 您是否在其他地方设置displaycolorvisibility或其他属性:before伪元素实际上“隐藏”了添加的“测试”从视图?
    3. 您的实际使用案例是否将图片设为content并且您是否看到它未显示在打印中(这将是一个完全不同的问题)?
    4. 基本上,如果您的选择器字符串输出正确,还有许多其他可能发生的事情,我们需要更多细节来解决它。如果它不是如上所述,那么我有兴趣知道它产生了什么。