В моем фрагменте ниже вы увидите, что я пытаюсь превратить «Получить цитату» в более кнопочный стиль. Каждый раз, когда я добавляю отступ к этому элементу navInverse, это вызывает переход цвета фона к следующей строке. Я также пытаюсь добиться, чтобы эффект :after не имел места с объектом navInverse. Эффект After в настоящее время помещает красную линию под кнопку.
Если я добавлю следующий код в navInverse, он будет выглядеть как на изображении ниже. Вот как я хочу, чтобы появилось дополнение кнопки, за вычетом перекрывающейся части, которая сдвигается вниз.
Кроме того, я не могу понять, почему цвет navInverse не отображается как белый. У меня это закодировано как
color:#FFF;
vertical-align: middle;
padding: 10px 12px;
Кто-нибудь видит, что я делаю не так?
nav {
background: #FFF;
height: 70px;
width: 100%;
max-width: 100%;
box-shadow: 1px 1px #E5E5E5;
position: fixed;
top: 0;
z-index: 999;
box-sizing: border-box;
}
#nav-logo {
float: left;
height: 100%;
width: auto;
display: block;
position: relative;
margin-left: 5%;
}
#nav-logo img {
height: 80%;
width: auto;
position: absolute;
top: 50%;
transform: translateY(-50%);-webkit-transform: translateY(-50%);
}
#nav-list li {
display: inline-block;
margin: 0 17px;
}
#nav-list li:first-child {
margin-left: 0px;
}
#nav-list li:last-child {
margin-right: 0px;
}
#nav-list li a {
text-decoration: none;
font-family: 'Muli', sans-serif;
font-size: .9rem;
/*color: #4b4b4b;*/
color: #747678;
letter-spacing: 1px;
vertical-align: middle;
transition: all .3s;-webkit-transition: all .3s;
}
#nav-list li a:after {
content: '';
display: block;
width: 0;
margin-top: 6px;
background: #BE1E2D;
height: 2px;
transition: width .3s;
}
#nav-list li a:hover {
color: #4b4b4b;
transition: all .3s;-webkit-transition: all .3s;
}
#nav-list li a:hover:after {
width: 100%;
transition: width .3s;
}
#navInverse {
border-radius: 2px;
box-sizing: border-box;
font-family: 'Muli', sans-serif;
font-size: 1.4rem;
color: #FFF;
background: linear-gradient(to right bottom, #BE1E2D, #981824);
text-transform: uppercase;
text-decoration: none;
cursor: pointer;
}
#navInverse:after {
content: '';
display: none;
width: 0px;
height: 0px;
transition: none;
}<nav>
<div id = "nav-logo">
<a href = "/"><img src = "https://s3.us-east-2.amazonaws.com/mbkitsystems/logoBR.png" alt = "MB Kit Systems"></a>
</div>
<div id = "mobile-button"><img src = "" class = "hidden" alt = ""></div>
<div id = "nav-pop">
<div id = "nav-pop-close"></div>
<ul id = "nav-list">
<li><a href = "about">ABOUT</a></li>
<li><a href = "services.php">SERVICES</a></li>
<li><a href = "services">DESIGN</a></li>
<li><a href = "contact.php">CONTACT</a></li>
<li><a href = "contact.php" id = "navInverse">GET A QUOTE</a></li>
</ul>
</div>
</nav>





Вам нужно увеличить специфичность селектора, у обычного селектора (#nav-list li a) специфичность 3, но у селектора переопределения (#navInverse) есть 1, поэтому он переопределяется.
Один из способов повысить специфичность вашего селектора - сделать его #nav-list li a#navInverse.
Я не уверен, что это именно тот результат, который вам нужен, но это работает.
nav {
background: #FFF;
height: 70px;
width: 100%;
max-width: 100%;
box-shadow: 1px 1px #E5E5E5;
position: fixed;
top: 0;
z-index: 999;
box-sizing: border-box;
}
#nav-logo {
float: left;
height: 100%;
width: auto;
display: block;
position: relative;
margin-left: 5%;
}
#nav-logo img {
height: 80%;
width: auto;
position: absolute;
top: 50%;
transform: translateY(-50%);
-webkit-transform: translateY(-50%);
}
#nav-list li {
display: inline-block;
margin: 0 17px;
}
#nav-list li:first-child {
margin-left: 0px;
}
#nav-list li:last-child {
margin-right: 0px;
}
#nav-list li a {
text-decoration: none;
font-family: 'Muli', sans-serif;
font-size: .9rem;
/*color: #4b4b4b;*/
color: #747678;
letter-spacing: 1px;
vertical-align: middle;
transition: all .3s;
-webkit-transition: all .3s;
}
#nav-list li a:after {
content: '';
display: block;
width: 0;
margin-top: 6px;
background: #BE1E2D;
height: 2px;
transition: width .3s;
}
#nav-list li a:hover {
color: #4b4b4b;
transition: all .3s;
-webkit-transition: all .3s;
}
#nav-list li a:hover:after {
width: 100%;
transition: width .3s;
}
#nav-list li a#navInverse {
border-radius: 2px;
box-sizing: border-box;
font-family: 'Muli', sans-serif;
font-size: 1.4rem;
color: #FFF;
background: linear-gradient(to right bottom, #BE1E2D, #981824);
text-transform: uppercase;
text-decoration: none;
cursor: pointer;
}
#navInverse:after {
content: '';
display: none;
width: 0px;
height: 0px;
transition: none;
}<nav>
<div id = "nav-logo">
<a href = "/"><img src = "https://s3.us-east-2.amazonaws.com/mbkitsystems/logoBR.png" alt = "MB Kit Systems"></a>
</div>
<div id = "mobile-button"><img src = "" class = "hidden" alt = ""></div>
<div id = "nav-pop">
<div id = "nav-pop-close"></div>
<ul id = "nav-list">
<li><a href = "about">ABOUT</a></li>
<li><a href = "services.php">SERVICES</a></li>
<li><a href = "services">DESIGN</a></li>
<li><a href = "contact.php">CONTACT</a></li>
<li><a href = "contact.php" id = "navInverse">GET A QUOTE</a></li>
</ul>
</div>
</nav>