2016-04-26 187 views
0

该代码已写入,没有每个类都有父级。 ( - 现在整个页面都是一堆部分,每个部分可以有任意数量的部分,每部分都有许多文章,他们确定每个类都是一个类,这就是为什么一些类有很多部分。所以每个类别的所有部分都用不同的颜色组合在一起,所以除了我写更多的html和给每个类别设置自己的div父母之外,我尝试使用CSS选择器抓住每一个类的第一部分。如何使用css选择每个类的第一个元素

jsfiddle的代码开始,但有更多的又编码。

<section class="a"> 
    <article>class a article one section one</article> 
    <article>class a article two section one</article> 
</section> 
<section class="a"> 
    <article>class a article one of section 2</article> 
</section> 
<section class="b">... 

我想要的无边框,顶部的每一部分上面开始新班。所以班级“a”的第一部分只会有一个红色的顶部边框,B班的第一部分会有一个蓝色的边框,依此类推。 我添加了一个名为top的类,并将其插入到我需要的部分中,但有没有比这更好的方法?

css starts here 
.a{border-left:solid red;} 
.a.top{border-top:solid red;} 
.b{border-left:solid green;} 
.b.top{border-top:solid green;} 
.c ... 
....all the way to class z+ 

我试过使用css4 - 但浏览器还没有使用它。

:nth-match(1 of section.a{border-top:solid red;} 

我有很多节还没开始,这就是为什么我希望有一个更快的方式。 jquery不排除,还没有想过。

+0

[CSS3类型的第n个限制类(HTTP的可能重复:// stackoverflow.com/questions/10921809/css3-nth-of-type-restricted-to-class) – Shaggy

回答

0

不,这不是可能通过之前的一些计算改变他们becau se全部CSS选择器选择类型的元素。

不幸的是,没有像一流或类似的选择器。链接所有css选择器:http://www.w3schools.com/cssref/css_selectors.asp

您可以使用[attribute = value],但它的唯一目的是检查天气的第一部分是否具有该属性与提供的值。

你必须使用JavaScript或任何其他您所使用的语言,选择您想要的方式(按第一类类型的)

+0

谢谢Nirpendra,不是我希望的答案,但我担心的答案是正确的。我会尝试JavaScript。不能等待CSS4或3+。 –

+0

@JimSchwetz yup css作为一种语言需要重新创建。它有最多的漏洞。 –

0

如果你使用像“类=‘A’”唯一的类的所有部分,您可以简单地使用

.a{border-left:solid blue;border-top:solid blue;} 

如果没有,你可以尝试使用jQuery,让所有的部分,并把CSS

var sections = $('section'); 
$.each(sections, function(index, section){ 
    $(section).css('color', 'red'); 
}); 

编辑:如果你想不同的颜色,你可以有一些阵列的颜色,你把颜色属性(例如“红”)

+0

感谢您的快速响应,我为每个课程分配了一个或多个部分,因此第一个选项将在顶部边框上太多的部分,而只是每个班级的第一部分。不理解jQuery,但我认为这样做会一样?但是,谢谢。 –

相关问题