Как изменить цвет содержимого вкладки для каждой таблетки в начальной загрузке?
Я настроил закладку Bootstrap / Pills Nav. У меня есть 3 вкладки: "принять", "пожертвовать" и присоединиться. Я хочу, чтобы фон содержимого соответствовал цвету активной вкладки.
<div id="exTab1" class="container">
<ul class="nav nav-pills">
<li class="active"><a class="adopt-tab" href="#1a" data-toggle="tab">ADOPT</a></li>
<li><a class="donate-tab" href="#2a" data-toggle="tab">DONATE</a></li>
<li><a class="join-tab" href="#3a" data-toggle="tab">JOIN</a></li>
</ul>
</div>
До сих пор мне удалось установить его так, чтобы каждая таблетка имела свой цвет, а содержимое первой вкладки соответствовало цвету таблетки. Тем не менее, содержимое другой вкладки в настоящее время использует тот же цвет...
#exTab1 .tab-content {
color : white;
padding : 5px 15px;
background-color: #EF476F;
}
Я предполагаю, что должен связать его с идентификатором (#1a, #2a, #3a), но я не нашел способ для каждой вкладки иметь разные цвета.
Вот ссылка codepen, которая, надеюсь, объясняет, что я имею в виду.
3 ответа
Числа не должны использоваться в качестве первого символа для id=""
атрибуты, поэтому #exTab1 .tab-content > #2a
CSS селектор не работает. Тем не менее, вы можете выбрать идентификаторы вкладок в CSS, как это...
https://www.codeply.com/go/uhGzMhFlQs
#exTab1 .tab-content > [id='1a'] {
background-color: #EF476F;
}
#exTab1 .tab-content > [id='2a'] {
background-color: #FF6663;
}
#exTab1 .tab-content > [id='3a'] {
background-color: #FFD166;
}
Обновление для Bootstrap 4
Вот рабочий пример для Bootstrap 4. .active
Теперь класс должен быть размещен на nav-link
и CSS обновлены соответственно. Кроме того, это не очень хорошая практика давать элементы id=
которые начинаются с цифр (1a, 2a, 3a и т. д.). Рассмотрите возможность переименования вкладок в a1
, a2
, a3
, так далее...
Помимо исправления цвета фона, вам нужно настроить CSS, который вы используете для .tab-content
также. Ваш исходный код установил цвет фона для родительского элемента div, что вызывает проблемы при изменении фона дочерних элементов (т. Е. Панели вкладок).
.container {
margin-top: 32px;
}
/* tab content */
#exTab1 .tab-content {
color : white;
}
.tab-pane {
padding : 5px 15px;
background-color: #EF476F;
}
/* my attempt at individual tab styling */
#exTab1 .tab-content > #2a {
background-color: #FF6663;
}
/* pills styling */
#exTab1 .nav-pills > li > a {
border-radius: 0;
}
div#exTab1.container {
padding-bottom: 64px;
}
li.active {
background: #E9C46A;
}
.nav-pills > li > a.adopt-tab {
color: #EF476F;
border: none;
}
.nav-pills > li.active > a.adopt-tab {
background-color: #EF476F;
color: white;
border: none;
}
.nav-pills > li > a.donate-tab {
color: #FF6663;
border: none;
}
.nav-pills > li.active > a.donate-tab, .tab-pane.donate-tab {
background-color: #FF6663;
border: none;
}
.nav-pills > li > a.join-tab {
color: #FFD166;
border: none;
}
.nav-pills > li.active > a.join-tab, .tab-pane.join-tab {
background-color: #FFD166;
border: none;
}
/*form stuff*/
form {
padding: 32px;
}
label {
font-family: 'Roboto', sans-serif !important;
font-size: 18px;
font-weight: normal;
letter-spacing: .05em;
}
input {
border: none;
}
.input-group input {
height: 40px;
}
.form-group select {
height: 40px;
}
span.input-group-addon {
border: none;
}
select {
border: none;
}
.butn {
display: inline-block;
width: 80%;
margin-bottom: 0;
margin-top: 43.6px;
height: 40px;
background: none;
border: 3px solid #fff;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
cursor: pointer;
overflow: hidden;
color: #fff;
}
В этом случае каждая вкладка должна иметь свой цвет. Так что каждый tab-pane
имеет определенный класс для установки определенного цвета для содержимого вкладки. Добавьте этот код в свой CSS.
/** this changes needs in you existing CSS **/
#exTab1 .tab-content {
color : white;
padding : 0;
background-color: #fff;
}
/*New css to add*/
.tab-pane.adopt-tab {
background-color: #EF476F;
}
.tab-pane.donate-tab {
background: #FF6663;
}
.tab-pane.join-tab {
background-color: #FFD166;
}