2016-12-05 6 views
2

Haben benutzerdefinierte CSS für aktive li-Elemente der Navbar hinzugefügt. Aber sie scheinen die standardmäßige schwarze Hintergrundfarbe zu wählen. Ich möchte die Hintergrundfarbe auf # 428BCA ändern. Andere Elemente der Navigationsleiste ändern ihre Farben entsprechend dem Code.Active navbar link Hintergrundfarbe kleben auf seine Standard

Mein CSS-Code ist wie folgt:

carousel-inner > .item > img, .carousel-inner > .item > a > img { 
width: 100%; 
margin: auto; 
height: 850px; 
} 
body { 
position: relative; 
} 
#section1 {padding-top:50px;height:500px;color: #fff; background-color: #1E88E5;} 
#section2 {padding-top:50px;height:500px;color: #fff; background-color: #673ab7;} 
#section3 {padding-top:50px;height:500px;color: #fff; background-color: #ff9800;} 
#section41 {padding-top:50px;height:500px;color: #fff; background-color: #00bcd4;} 
#section42 {padding-top:50px;height:500px;color: #fff; background-color: #009688;} 
.navbar { 
position:fixed; 
top:0; 
z-index:10; 
width:100%; 
background-color:black; 
opacity: 0.9; 
} 
#nav-right>.active{ 
background-image:none; 
background-color: #428BCA; 
color: white; 
} 
#nav-right>.active>li>a, #nav-right>.active>li>a:hover, #nav-right>.active>li>a :focus{ 
background-image:none; 
background-color: #428BCA; 
color: white; 
} 
#nav-right li a { 
color: #428BCA; 
} 
#nav-right li a:hover{ 
background-color: #428BCA; 
color: white; 
} 
#drop-menu > .active > a, #drop-menu > .active > a:hover, #drop-menu> .active > a:focus { 
background-image: linear-gradient(to bottom, #17AA76, #149466); 
background-repeat: repeat-x; 
color: #FFFFFF; 
} 
#drop-menu li a:hover { 
background-image:none; 
background-color:#16A170; 
} 
#drop-menu li a{ 
background-image:none; 
color: black; 
} 

ich die Geige bin Entsendung genau mein Problem zu erklären:

https://jsfiddle.net/mukundm/d0Lhvc1z/24/

Bitte helfen Sie mir mit diesem. Es ist nur schlecht CSS Praxis

+0

dieses .navbar-inverse Versuchen .navbar-nav> .active> a {background: # 428BCA wichtig} – Nandhu

+0

ich sehen kann: # 428BCA als Hintergrund .. können Sie einen korrekten Schnappschuss von dem geben, was Sie genau versuchen – Geeky

+0

@Nandhu, habe ich das versucht, die Textfarbe ändert sich, aber die Hintergrundfarbe ändert sich nicht. Es tut mir leid, dass ich versehentlich Farbe statt Hintergrundfarbe geschrieben habe .... Danke für den Rat übrigens :) –

Antwort

0

Sie sollten die CSS Hintergrund-Eigenschaft auf die #nav-right > .active > a statt #nav--right > .active im CSS-Code geben. Dies liegt daran, dass der Bootstrap keine Hintergrundeigenschaft auf das Element <li> anwendet, sondern stattdessen auf das Element <a> anstelle des Elements <li>. Und wenn die Verknüpfung aktiviert wird, wird die aktive Klasse zum Element <li> hinzugefügt. So sollten Sie Ihre CSS-Code wie folgt aussehen:

carousel-inner > .item > img, .carousel-inner > .item > a > img { 
width: 100%; 
margin: auto; 
height: 850px; 
} 
body { 
position: relative; 
} 
#section1 {padding-top:50px;height:500px;color: #fff; background-color: #1E88E5;} 
#section2 {padding-top:50px;height:500px;color: #fff; background-color: #673ab7;} 
#section3 {padding-top:50px;height:500px;color: #fff; background-color: #ff9800;} 
#section41 {padding-top:50px;height:500px;color: #fff; background-color: #00bcd4;} 
#section42 {padding-top:50px;height:500px;color: #fff; background-color: #009688;} 
.navbar { 
position:fixed; 
top:0; 
z-index:10; 
width:100%; 
background-color:black; 
opacity: 0.9; 
} 
/* Edited Style */ 
#nav-right>.active > a, #nav-right>.open>a{ 
background-image:none; 
background-color: #428BCA; 
color: white; 
} 
/* Edited style ends */ 
#nav-right>.active>li>a, #nav-right>.active>li>a:hover, #nav-right>.active>li>a :focus{ 
background-image:none; 
background-color: #428BCA; 
color: white; 
} 
#nav-right li a { 
color: #428BCA; 
} 
#nav-right li a:hover{ 
background-color: #428BCA; 
color: white; 
} 
#drop-menu > .active > a, #drop-menu > .active > a:hover, #drop-menu> .active > a:focus { 
background-image: linear-gradient(to bottom, #17AA76, #149466); 
background-repeat: repeat-x; 
color: #FFFFFF; 
} 
#drop-menu li a:hover { 
background-image:none; 
background-color:#16A170; 
} 
#drop-menu li a{ 
background-image:none; 
color: black; 
} 
+0

Hallo Nishant! Ihre Lösung funktioniert, aber dies ändert auch die Hintergrundfarbe meiner aktiven Dropdown-Menü-Links. Der CSS-Code, den ich für diese Dropdown-Links geschrieben habe, schlägt fehl. –

+0

Sie müssen die Klasse '# nav-right> .open> a' ebenfalls stylen. Die offene Klasse wird hinzugefügt, falls das Dropdown-Menü in den Navigationslinks geöffnet wird. Bearbeitete die Antwort, so dass Sie es testen können. –

+0

Nichts passiert mit der Änderung ... –

0

Veränderung in der Bootstrap-Stil als

.navbar-inverse .navbar-nav > .active > a, .navbar-inverse .navbar-nav > .open > a{ 

    /* background-image: linear-gradient(to bottom, #080808 0px, #0f0f0f 100%); 
    background-repeat: repeat-x; 
    box-shadow: 0 3px 9px rgba(0, 0, 0, 0.25) inset; */ 
    color: #fff !important; 
    background: #428bca; 
} 
+0

Hallo Anubhav! Ihre Lösung funktioniert, aber dies ändert auch die Hintergrundfarbe meiner aktiven Dropdown-Menü-Links. Der CSS-Code, den ich für diese Dropdown-Links geschrieben habe, schlägt fehl. –

0

bitte diesen Code auf Ihrer Lösung

li.active a{ 
    background: #428BCA!important; 
    color:#fff!important; 
} 
+0

Hallo Santosh! Ihre Lösung funktioniert, aber dies ändert auch die Hintergrundfarbe aller meiner Dropdown-Menü-Links auf einmal. Der CSS-Code, den ich für diese Dropdown-Links geschrieben habe, schlägt fehl. –

+0

Ich habe sogar versucht, '! Wichtig' zu dem Dropdown-Link CSS hinzuzufügen, aber es hat nicht funktioniert. –

+0

Setzen Sie eine benutzerdefinierte Klasse oder ID in die UL-Klasse. Li.active a {code} –

0

Vermeiden important! gelten. Stattdessen fügen Sie diese:

#nav-right li.active a { 
    background: #428BCA; 
    color: white; } 

PS: Mehr darüber, warum nicht !important verwenden: What are the implications of using "!important" in CSS?

+0

Hallo Underfrog. Ihre Lösung funktioniert, aber dies ändert auch die Hintergrundfarbe meiner aktiven Dropdown-Menü-Links. Der CSS-Code, den ich für diese Dropdown-Links geschrieben habe, schlägt fehl. –

Verwandte Themen