2016-06-13 57 views
1

我很努力地在鼠標懸停時更改部分背景顏色。我試圖將整個部分變成鏈接。目前,只有部分內的元素變成鏈接,而不是塊本身。無法獲得在鼠標懸停時更改的背景顏色

如果我在<a>之前刪除<section>,則整個塊將成爲鏈接,但背景幕不會在鼠標懸停時更改。我在菜單中有一個相同的場景,它的工作原理,所以我在這裏有點困惑。我也想知道爲什麼只有元素變成鏈接與一個部分,它在我的子菜單中相反。下面的章節代碼:

.ch-section { 
 
    position: relative; 
 
    min-height: 140px; 
 
    max-height: 140px; 
 
    width: 400px; 
 
    color: $ch-section-text; 
 
    font-size: 13px; 
 
    border-bottom: 1px solid $body-1px-line; 
 
} 
 
.ch-section a { 
 
    display: block; 
 
    width: 400px; 
 
    text-decoration: none; 
 
} 
 
.ch-section a.active { 
 
    font-weight: bold; 
 
} 
 
.ch-section a:hover:not(.active) { 
 
    background-color: yellow; 
 
    color: $sn-list-link-active; 
 
}
<section class="ch-section"> 
 
    <a href="#"> 
 
    <span class="ch-section-selected not"></span> 
 
    <img class="ch-section-image" src="assets/images/profileimg2.png" alt="img"> 
 
    <span class="ch-section-user"> 
 
     <span class="ch-section-status online"></span> 
 
     <span class="ch-section-name">Lindset T. Peters</span> 
 
     <span class="ch-section-location">Location, Province</span> 
 
    </span> 
 
    <time class="ch-section-date">8:48 AM</time> 
 
    <i class="fa fa-e1-message-sent ch-section-message"></i> 
 
    <span class="ch-section-snippet">Hey, it was really good to see you over the weekend, I look forward to...</span> 
 
    </a> 
 
</section>

+0

這似乎爲我工作。也許你有瀏覽器兼容性問題。或者,您可能需要澄清您的期望目標/問題是什麼?無論如何,懸停狀態在Chrome中適用於我。另外,「......爲什麼元素變成鏈接......」部分本身就是另一個問題,應該單獨提出。 – Joshua

+0

什麼背景? 你的css不包含任何'背景'命令 – Roysh

+0

如果是這個部分,你可以添加'section:hover {background:你的圖像或顏色在這裏}' – Roysh

回答

3

我與得到一個段背景顏色在改變 鼠標掙扎。我試圖將整個部分變成鏈接。現在右 ,只有部分內的元素變成鏈接,而不是 本身。

如果我刪除之前的整個塊成爲一個 鏈接,但後臺基於鼠標懸停不會更改。

這是因爲你有asection的孩子,所以讓家長(正如我在以前的問題,你不得不做的)。

.ch-section { 
 
    position: relative; 
 
    min-height: 140px; 
 
    max-height: 140px; 
 
    width: 400px; 
 
    color: $ch-section-text; 
 
    font-size: 13px; 
 
    border-bottom: 1px solid $body-1px-line; 
 
} 
 
a { 
 
    text-decoration: none; 
 
} 
 
a .ch-section { 
 
    display: block; 
 
    width: 400px; 
 
} 
 
a.active .ch-section { 
 
    font-weight: bold; 
 
} 
 
a:hover:not(.active) .ch-section { 
 
    background-color: yellow; 
 
    color: $sn-list-link-active; 
 
}
<a href="#"> 
 
    <section class="ch-section"> 
 

 
    <span class="ch-section-selected not"></span> 
 
    <img class="ch-section-image" src="assets/images/profileimg2.png" alt="img"> 
 
    <span class="ch-section-user"> 
 
     <span class="ch-section-status online"></span> 
 
    <span class="ch-section-name">Lindset T. Peters</span> 
 
    <span class="ch-section-location">Location, Province</span> 
 
    </span> 
 
    <time class="ch-section-date">8:48 AM</time> 
 
    <i class="fa fa-e1-message-sent ch-section-message"></i> 
 
    <span class="ch-section-snippet">Hey, it was really good to see you over the weekend, I look forward to...</span> 
 

 
    </section> 
 
</a>

+0

這完美的作品。迪帕斯你達人! – LiveWithPassion

+0

在沒有真正檢查規格的情況下,它的*聲音非常不可靠,因此將錨元素作爲「

」元素的父元素。我並不是說答案是錯誤的,但OP的CSS/HTML結構可能需要進行更大程度的修改(在理想世界中......)? – Martin

+1

HTML5允許這樣做。 https://davidwalsh.name/html5-elements-links – dippas

1

這裏的實際問題是,你沒有設置你的a標籤的高度。但是,將a標籤高度設置爲100%時,您會注意到它仍然不起作用。這是因爲section沒有指定固定高度。相反,您將min-heightmax-height指定爲相同的高度,這並不合理。相反,如果你指定height:140px,它將按預期工作:

.ch-section { 
 
    position: relative; 
 
    height: 140px; 
 
    width: 400px; 
 
    font-size: 13px; 
 
} 
 
.ch-section a { 
 
    display: block; 
 
    height: 100%; 
 
    text-decoration: none; 
 
} 
 
.ch-section a.active { 
 
    font-weight: bold; 
 
} 
 
.ch-section a:hover:not(.active) { 
 
    background-color: yellow; 
 
}
<section class="ch-section"> 
 
    <a href="#"> 
 
    <span class="ch-section-selected not"></span> 
 
    <img class="ch-section-image" src="assets/images/profileimg2.png" alt="img"> 
 
    <span class="ch-section-user"> 
 
     <span class="ch-section-status online"></span> 
 
     <span class="ch-section-name">Lindset T. Peters</span> 
 
     <span class="ch-section-location">Location, Province</span> 
 
    </span> 
 
    <time class="ch-section-date">8:48 AM</time> 
 
    <i class="fa fa-e1-message-sent ch-section-message"></i> 
 
    <span class="ch-section-snippet">Hey, it was really good to see you over the weekend, I look forward to...</span> 
 
    </a> 
 
</section>

+0

這也解決了我的問題。仔細檢查我的子導航代碼,有填充,這必須是爲什麼工作。 – LiveWithPassion

相關問題