2014-01-21 51 views
2

我很抱歉,如果这个问题似乎不知情,缺乏自己的研究,但我试图寻找什么,我能想到的关于谷歌,但还是没能找到任何东西它了。样式表只适用于相对风格元素本身的元素

前阵子,我记得读一些有关样式相对于它们从被宣布样式表。我不完全确定这是否确实是我读过的页面上的含义,但我不知道我在哪里阅读了它,所以我不知道在哪里查看。无论如何,这是我从中得到的印象是:

我所寻找的是一个方法,使这种只选择也有它的风格标签的DIV中的跨度。

<div> 
    <span class="special">Not red</span> 
</div> 
<div> 
    <style>.special {color:red;}</style> 
    <span class="special">Red</span> 
</div> 

我知道这是不行的,但我不知道如何做到这一点,或者如果它甚至有可能在体内插入的风格标签,然后应用样式或者相对于该样式的标签。

如果任何人有多么这可能是可能的(没有JavaScript)的任何想法,或者如果你是绝对肯定这是不可能没有受影响范围分配单独的类来完成,请告诉我。

PS:元素出现的顺序可能不同,所以div + div .special {color:red;}div:last-child .special {color:red;}将不起作用。

+2

您可以在字段中使用多个类名,例如'。这将使工作更容易。另外,我不建议在HTML中使用样式标签。请使用css表格。 – KarelG

+1

你读到的是'scoped'属性:''。今天的大多数浏览器都不支持它,但在未来这将是一种可能性。 –

回答

2

正常的CSS将应用不同的类到这些跨度。他们根本不同。

如果你想解决的是,你可以申请类及其外围的div:

<div> 
    <span class="special">Not red</span> 
</div> 
<div class="div-special"> 
    <span class="special">Red</span> 
</div 

而CSS:

.div-special .special { color: red; } 

编辑你可以添加第二个类的第二个跨度并在那里应用颜色<span class="special colored-red">

相关问题