2012-10-24 74 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將以您在條件註釋中鏈接的任何內容 –