Наследование CSS некорректно работает для вкладок

#html #css

#HTML #css — файл

Вопрос:

У меня есть довольно простой CSS-код для моих вкладок. Проблема в том, что я добавляю это как часть более широкой базы CSS, и я продолжаю перезаписывать его по умолчанию. Например, у меня есть * { font-size: 8pt; } , который внедряется в мой новый добавленный CSS.

 /*
@import url('https://fonts.googleapis.com/css?family=Roboto');
*/

/*
@import url('https://use.fontawesome.com/releases/v5.7.2/css/all.css');
*/

/*
body {
    font-family: 'Roboto', sans-serif;
}
*/

.tabsWrapper {
    text-align: center;
    margin: 50px auto;
    font-family: 'Roboto', sans-serif !important;
}

.tabs {
    font-family: 'Roboto', sans-serif !important;
    margin-top: 50px;
    font-size: 15px;
    padding: 0px;
    list-style: none;
    background: #fff;
    box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.1);
    /*
    display: inline-block;
*/
    /*
    border-radius: 50px;
*/
    position: relative;
}

.tabs a {
    text-decoration: none;
    color: #777;
    text-transform: uppercase;
    padding: 10px 20px;
    display: inline-block;
    position: relative;
    z-index: 1;
    transition-duration: 0.6s;
}

.tabs a.active {
    color: #fff;
}

.tabs a i {
    margin-right: 5px;
}

.tabs .selector {
    display: none;
    height: 100%;
    position: absolute;
    left: 0px;
    top: 0px;
    right: 0px;
    bottom: 0px;
    z-index: 1;
    /*
    border-radius: 50px;
    */
    transition-duration: 0.6s;
    transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);
    background: #05abe0;
    background: -moz-linear-gradient(45deg, #05abe0 0%, #8200f4 100%);
    background: -webkit-linear-gradient(45deg, #05abe0 0%, #8200f4 100%);
    background: linear-gradient(45deg, #05abe0 0%, #8200f4 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#05abe0', endColorstr='#8200f4', GradientType=1);
}

.tabs-content {
    display: none;
}

.tabs-content.active {
    display: block;
}```
/*
@import url('https://fonts.googleapis.com/css?family=Roboto');
*/

/*
@import url('https://use.fontawesome.com/releases/v5.7.2/css/all.css');
*/

/*
body {
    font-family: 'Roboto', sans-serif;
}
*/

.tabsWrapper {
    text-align: center;
    margin: 50px auto;
    font-family: 'Roboto', sans-serif !important;
}

.tabs {
    font-family: 'Roboto', sans-serif !important;
    margin-top: 50px;
    font-size: 15px;
    padding: 0px;
    list-style: none;
    background: #fff;
    box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.1);
    /*
    display: inline-block;
*/
    /*
    border-radius: 50px;
*/
    position: relative;
}

.tabs a {
    text-decoration: none;
    color: #777;
    text-transform: uppercase;
    padding: 10px 20px;
    display: inline-block;
    position: relative;
    z-index: 1;
    transition-duration: 0.6s;
}

.tabs a.active {
    color: #fff;
}

.tabs a i {
    margin-right: 5px;
}

.tabs .selector {
    display: none;
    height: 100%;
    position: absolute;
    left: 0px;
    top: 0px;
    right: 0px;
    bottom: 0px;
    z-index: 1;
    /*
    border-radius: 50px;
    */
    transition-duration: 0.6s;
    transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);
    background: #05abe0;
    background: -moz-linear-gradient(45deg, #05abe0 0%, #8200f4 100%);
    background: -webkit-linear-gradient(45deg, #05abe0 0%, #8200f4 100%);
    background: linear-gradient(45deg, #05abe0 0%, #8200f4 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#05abe0', endColorstr='#8200f4', GradientType=1);
}

.tabs-content {
    display: none;
}

.tabs-content.active {
    display: block;
}  
 <body>
    <div class="tabsWrapper">
        <div class="tabs">
            <div class="selector"></div>
            <a href="javascript:void(0)" class="active" data-id="Tab-40w1lgn2"><i class="fas fa-bomb">Test
                </i>
            </a>
            <a href="javascript:void(0)" data-id="Tab-w2mo0zn9"><i class="fas fa-bomb">Test5
                </i>
            </a>
        </div>
    </div>
</body>  

Насколько я понимаю, если я добавлю !Важно для tabs CSS убедиться, что все, что находится ниже tabs, получает эту настройку, включая A / I и так далее. Но это не работает. Это работает, только если я уменьшу размер шрифта до элемента / I, который мне не нужен. Я хотел бы убедиться, что настройки правильно переходят к приведенным ниже элементам. Какой самый простой способ?

введите описание изображения здесь

Ответ №1:

Универсальный селектор будет применен к каждому элементу. Даже если размер шрифта установлен на .tabs , * для a и i дочерних элементов снова будет установлен размер шрифта.

Если вы хотите иметь правильное наследование, используйте

 body {
  font-size: 8pt;
}
  

Это сохранит 8pt размер до тех пор, пока элемент не определит другой размер.

Еще немного информации здесь

Комментарии:

1. Итак, если я буду избегать * {} моего предположения о том, что все, что находится под вкладками, получит надлежащий стиль, верно?

2. пока нет других, более специфичных селекторов для дочерних элементов, да

Ответ №2:

Может быть, это потому, что ваш include: @import url('https://fonts.googleapis.com/css?family=Roboto'); закомментирован?

Комментарии:

1. Нет, это не связано. Это строго связано с тем, что * { } везде опускается, если только у элемента нет прямого определения, предотвращающего это.