Как изменить цвет содержимого вкладки для каждой таблетки (вкладки) в начальной загрузке? - PullRequest
0 голосов
/ 02 мая 2018

Я настроил закладку 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 ]

0 голосов
/ 02 мая 2018

Помимо исправления цвета фона, вам также потребуется настроить 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;

}
0 голосов
/ 02 мая 2018

Числа не должны использоваться в качестве первого символа для атрибутов id="", поэтому селектор CSS #exTab1 .tab-content > #2a не работает. Однако вы можете выбрать идентификаторы вкладок в 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 и т. Д. *

Обновлено для Bootstrap 4.3.1 + Высота заполнения

0 голосов
/ 02 мая 2018

В этом случае каждая вкладка должна иметь свой цвет. Таким образом, каждый 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;
}
...