2014-10-29 132 views
0

我需要更改元素a,而我在元素b中。我可以設法這樣做只使用CSS/HTML是我的問題?我可以用css輸入標籤嗎?

li:active{ 
    img{ 
     border:1px solid black; 
    } 
} 
+0

我不知道我是否理解你是正確的,你在找什麼像'li:active + img {border:1px solid black;}'? – Nick 2014-10-29 09:03:38

+1

http://css-tricks.com/child-and-sibling-selectors/ – 2014-10-29 09:04:11

+0

嘿@Nick感謝您的downvote我剛剛刪除,但我沒有錯。下一次閱讀鏈接之前,你downvote。你甚至不明白這個問題。 – JGallardo 2014-10-29 09:24:07

回答

0

沒有,但是有什麼可以做的是更具體一點與您的選擇 - 請嘗試以下操作:

li:active img{ 
    border:1px solid black; 
} 

一路順風!

2

你會想要...

li:active img { 
    border:1px solid black; 
} 

這將風格li:active所有img元素。如果你只想風格後者立即的後裔,你將需要:

li:active > img { 
    border:1px solid black; 
} 

,我建議你在克里斯Coyier的文章「Child and Sibling Selectors」念起來了解更復雜的CSS。此外,還有更復雜的基於位置關係的CSS選擇器,如li:active + imgli:active ~ img,但這超出了本答案的範圍。

但是,您建議的實際上可以使用SASS,這是一個CSS預處理器。

0

你可以這樣來做:

li:active img{ 
    border:1px solid black; 
} 
0

可以使用後代選擇:li:active img {boder:1px solid black;}或孩子選擇li:active > img {boder:1px solid black;}如果imgli

0

CSS3的直接子允許嵌入式選擇哪裏有條件。有效的嵌套使用CSS CSS3規範的一個例子是:

@media screen and (max-width:800px) { 
    ul { 
     float: none; 
     max-width: auto; 
     width: auto; 
    } 
    div:first-of-type { 
     display: none; 
    } 
} 

這裏設置的條件是設置嵌套這些樣式當media類型是screen(又名臺式機),並且不大於800像素(max-width: 800px)。

0

你可以做,而不是執行以下操作:

li:active img{ 
    border:1px solid black; 
} 

你指的語法在CSS類似nested rules預處理器,如LESS。瀏覽器本身不支持此語法,而必須將其編譯爲有效的CSS語法。

#header { 
    color: black; 
    .navigation { 
    font-size: 12px; 
    } 
    .logo { 
    width: 300px; 
    } 
} 

變爲:

#header { 
    color: black; 
} 
#header .navigation { 
    font-size: 12px; 
} 
#header .logo { 
    width: 300px; 
} 

http://lesscss.org/features/#features-overview-feature-nested-rules

+0

'less'的問題是定義變量並因此限制重複並使其更容易更改,但它不是一種自然語言,它只是由瀏覽器直接解釋,因爲它必須「編譯」爲css運行。儘管你是相似的。 – 2014-10-29 09:13:03

+0

@SanuelJackson沒錯。我永遠不會建議客戶端處理,但是我認爲對LESS/SASS等預處理器的服務器端預編譯有巨大的好處。 '無點'例如是我們使用的http://www.dotlesscss.org/ – Curt 2014-10-29 09:15:11

+1

我還沒有挖得太深/較差的兔子洞(時間問題),但我確實看到,語言是絕對有用的。它確實爲那些使用標準CSS的人提供了一個曲線球,但如果OP有時間,這絕對值得學習 - 我自己也包括在內。 – 2014-10-29 09:19:13

0
li:active img{ 
border: 1px solid black; 
} 

這是正確的答案,如果你想使用2類或任何1條你把他們在開始。 注意:要連接2個元素,請使用空格。 希望這有助於。

相關問題