2016-02-27 218 views
1

我試圖在按鈕上獲得簡單的懸停效果,該按鈕已經適用於按鈕背景&文本,但不適用於FontAwesome-Icon。該圖標僅在非懸停狀態下顯示。我已經嘗試過大部分組合FontAwesome懸停效果不起作用

fa-chevron-right:hover:before {color: X;} 

.vc_btn-icon3:hover .fa-chevron-right { color: X;} 

等多種組合,但我不能讓它開始工作的正確途徑。你可否告訴我我的錯誤在哪裏以及它的樣子?這是我已經得到的。請注意,因爲我使用的是wordpress主題,所以有很多類。我作爲一個新人這使得它更難geht正確的事情:/

HTML

<div class="shortcode-action-container action-button"> 
    <a href="LINK" class="btn-shortcode dt-btn-l dt-btn default-btn-color 
    default-btn-hover-color default-btn-bg-color default-btn-bg-hover-color 
    fadeIn animate-element animation-builder" 
    target="_blank" id="dt-btn-1"> 
    <span>Mehr Informationen 
    <i class="vc_btn3-icon fa fa-chevron-right"></i></span></a></div> 

CSS

#dt-btn-1 { 
background-color:#002E5B; 
color: #fff; 
font-family: Montserrat; 
font-size: 14px; 
line-height: 23px; 
font-weight: 700; 
background: #002E5B; 
border: solid 3px transparent; 
padding: 8px 21px; 
} 

.vc_btn3-icon { 
margin-left: 0.5em; 
margin-right: 0px !important; 

.fa-chevron-right:before { 
font-family: FontAwesome; 
color: #002e5b; 
content: "\f054"; 
font-size: 14px; 
line-height: 14px; 
color: #fde428; 
} 

#dt-btn-1:hover { 
background: none; 
background: transparent !important; 
background-color: transparent !important; 
border-color: #fff !important; 
border-radius: 3px; 
color: #002e5b !important; 
border: solid 3px #fff; 
-webkit-transition: all .2s ease-in-out; 
transition: all .2s ease-in-out; 
} 

謝謝!

+0

請原諒,我還要補充一點,我只想徘徊時改變FontAwesome圖標的顏色。該圖標顯示爲無懸停效果。有了懸停效果,沒有圖標或圖標可能具有與整個背景相同的背景顏色 – DoUtDes

+1

,因爲這是您的第一篇文章,似乎已解決,您可以單擊@Aziz答案旁邊的刻度線來接受它。它也許應該得到讚賞,以及表示讚賞。 – David

回答

1

爲目標的圖標的正確方法是使用下面的選擇:

#dt-btn-1:hover .fa-chevron-right:before { ... } 

這裏是一個工作演示:

a {text-decoration: none;} 
 

 
#dt-btn-1 { 
 
    background-color: #002E5B; 
 
    color: #fff; 
 
    font-family: Montserrat; 
 
    font-size: 14px; 
 
    line-height: 23px; 
 
    font-weight: 700; 
 
    background: #002E5B; 
 
    border: solid 3px transparent; 
 
    padding: 8px 21px; 
 
} 
 

 
.vc_btn3-icon { 
 
    margin-left: 0.5em; 
 
    margin-right: 0px !important; 
 
} 
 

 
.fa-chevron-right:before { 
 
    font-family: FontAwesome; 
 
    color: #002e5b; 
 
    content: "\f054"; 
 
    font-size: 14px; 
 
    line-height: 14px; 
 
    color: #fde428; 
 
    transition: all .2s ease-in-out; 
 
} 
 

 
#dt-btn-1:hover { 
 
    background: none; 
 
    background: transparent !important; 
 
    background-color: transparent !important; 
 
    border-color: #fff !important; 
 
    border-radius: 3px; 
 
    color: #002e5b !important; 
 
    border: solid 3px #fff; 
 
    -webkit-transition: all .2s ease-in-out; 
 
    transition: all .2s ease-in-out; 
 
} 
 

 
#dt-btn-1:hover .fa-chevron-right:before { 
 
    color: red; 
 
}
<div class="shortcode-action-container action-button"> 
 
    <a href="LINK" class="btn-shortcode dt-btn-l dt-btn default-btn-color 
 
    default-btn-hover-color default-btn-bg-color default-btn-bg-hover-color 
 
    fadeIn animate-element animation-builder" target="_blank" id="dt-btn-1"> 
 
    <span> 
 
     Mehr Informationen 
 
     <i class="vc_btn3-icon fa fa-chevron-right"></i> 
 
    </span> 
 
    </a> 
 
</div>

請注意,你的CSS代碼無效,因爲:

.vc_btn3-icon { 
margin-left: 0.5em; 
margin-right: 0px !important; 

} < - 缺少

.fa-chevron-right:before { 

working jsFiddle demo

+0

嘿阿齊茲, 你讓我的一天!有沒有辦法很容易地找到正確的選擇器,也許有像螢火蟲或某種工具。像那樣?無論如何,你的解決方案運作良好。非常感謝你的幫助,我已經花了幾個小時才找到正確的css選擇器!謝謝! :) – DoUtDes

+0

您可以隨時使用開發人員檢查器查看您需要定位哪個元素,甚至可以使用它的CSS使用'style'窗口進行活動,以確保您想要進行的更改能夠正常工作。對於':hover',總是建議先從父項開始(通常是定位標記或按鈕),然後添加想要在懸停狀態下更改的子元素,如下所示:'parent:hover child {change; }'在你的情況下,父母是'#dt-btn-1'和我們想改變的孩子是'.fa-chevron-right:之前' – Aziz

+1

非常感謝你阿齊茲,我會牢記這一點!有一個偉大的夜晚,一天,一週,一個月和一年。祝你最好:) – DoUtDes