2012-10-24 78 views
1

我正在寻找一种方式来设置没有ID或类关联的div。我不在寻找意见,建议我将自己的ID或类应用到div的自己,因为我正在修改的代码是wordpress插件的一部分,在更新时会重置我应用的任何样式。样式与css div没有ID或类

,我试图修改的代码是:

<div class="gallery_detail_box"> 
    <div><?php echo $post->post_title; ?></div> 
    <div><?php echo the_excerpt_max_charlength(100); ?></div> 
    <a href="<?php echo $permalink; echo basename(get_permalink($post->ID)); ?>"><?php echo $gllr_options["read_more_link_text"]; ?></a> 
</div> 

我试图针对含有“POST_TITLE”我想做出大胆尝试了几种不同的方式,但无济于事股利,我最后一次尝试瞄准那个div是:

.gallery_detail_box > #div { 
    font-weight:bold; 
} 

.gallery_detail_box #div #div { 
    font-weight:normal; 
} 

我在哪里出错了?

回答

1

要针对每个孩子的DIV试试这个:

div.gallery_detail_box div:nth-child(1) {....} 
div.gallery_detail_box div:nth-child(2) {....} 

好运。

+0

这是一种享受,谢谢 –

+0

不客气。 帮帮我。 –

2

#在引用ID时使用。 div不是一个ID,而是一个标签。

尝试

.gallery_detail_box div { 
    font-weight: bold; 
} 
+0

我已经试过这和刚刚又试了一次,但它使“gallery_detail_box格”和“gallery_detail_box DIV格”的内容大胆:( –

1

取出#迹象。在定位类型选择器时,只需使用没有任何前缀的选择器名称。

+0

的#似乎并没有有所作为无论哪种方式 –

+0

第二个CSS块可能会覆盖第一个CSS块(因为它说所有的div都会得到正常的字体)。一次尝试一个评论另一个。 –

+0

我已经接受了一个答案,但刚刚去了无论如何,试图说,第二种风格刚刚apllied粗糙到两个div的 –

0

最简单的方法是使用第一个孩子的psuedoselector。

.gallery_detail_box div:first-child { 
    font-weight: bold; 
} 

这对旧版浏览器有影响。检查MDN兼容性图表以查看是否有任何目标浏览器受到影响:https://developer.mozilla.org/en-US/docs/CSS/:first-child

如果您需要将子元素定位到第一个以外,您可以使用:nth-child(2) psuedoselector。

另一个选择是使用JavaScript,它可以在任何支持JavaScript的浏览器中可靠地工作。

1

根据您使用的浏览器,这可能会或可能不会工作。它不会工作在不支持CSS 3

.gallery_detail_box { 
    font-weight:normal; 
} 

.gallery_detail_box div:nth-child(1){ 
    font-weight:bold; 
} 

对于较旧的浏览器旧版本的IE(7,8),或任何其他浏览器

.gallery_detail_box { 
    font-weight:normal; 
} 

.gallery_detail_box div:first-child{ 
    font-weight:bold; 
} 

然后向自定义样式第二,第三等在旧的浏览器嵌套DIV你会怎么做:

.gallery_detail_box div:first-child + div{ 
    font-weight:bold; 
} 
/*(second)*/ 
.gallery_detail_box div:first-child + div + div{ 
    font-weight:bold; 
} 
/*(third)*/ 

+0

我接受了Bryan Allo的答案,即使用'.gallery_detail_box div:nth-​​child(1)'。阅读完您的回复后,我想知道什么是编码的最佳方式,以便在支持和不支持CSS 3的浏览器中都能正常工作。 我知道如果两次使用相同的元素作为2种不同样式的一部分,最后的元素(最接近页面底部的那些元素)将会应用,因此我会先将旧的浏览器代码放入CSS 3 complient版本中? –

+0

我可能会创建两个独立的样式表 - 一个用于现代浏览器,一个用于IE 7/8。 我会在IE 8条件注释中包装IE 7/8的样式表链接,并首先将CSS 3兼容版本。 <! - [if lte IE 8]> 这样,所有页面都会加载符合CSS 3的版本,并且IE 7/8将以您在条件注释中链接的任何内容 –