Как удалить эффект: after для определенного идентификатора, когда класс применяет эффект

В моем фрагменте ниже вы увидите, что я пытаюсь превратить «Получить цитату» в более кнопочный стиль. Каждый раз, когда я добавляю отступ к этому элементу navInverse, это вызывает переход цвета фона к следующей строке. Я также пытаюсь добиться, чтобы эффект :after не имел места с объектом navInverse. Эффект After в настоящее время помещает красную линию под кнопку.

Если я добавлю следующий код в navInverse, он будет выглядеть как на изображении ниже. Вот как я хочу, чтобы появилось дополнение кнопки, за вычетом перекрывающейся части, которая сдвигается вниз.

Кроме того, я не могу понять, почему цвет navInverse не отображается как белый. У меня это закодировано как

color:#FFF;
vertical-align: middle;
padding: 10px 12px;

Как удалить эффект: after для определенного идентификатора, когда класс применяет эффект

Кто-нибудь видит, что я делаю не так?

Jsfiddle

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>
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
1
0
23
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вам нужно увеличить специфичность селектора, у обычного селектора (#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>

Другие вопросы по теме