#html #css #twitter-bootstrap
#HTML #css #twitter-bootstrap
Вопрос:
Я использую навигацию Bootstrap: она имеет следующую структуру:
<nav class="navbar navbar-inverse">
<!--<div class="container">
<a class="navbar-brand" href="#">SOME TITLE</a>
</div>-->
<div class="navbar-header" align="center">
<a class="navbar-brand shortcuts" href="#">Subtitle</a>
</div>
<ul class="nav navbar-nav mine lis">
<li><a href="second.jsp">Link1</a></li>
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">List of links</a>
<ul class="dropdown-menu">
<li><a href="#">SLink1</a></li>
<li><a href="#">SLink2</a></li>
</ul>
</li>
<li><a href="#">Link3</a></li>
</ul>
</nav>
И у меня есть основной документ, который включает в себя навигацию:
<body>
<header>
<jsp:include page="header.jsp"/>
<jsp:include page="navbar.jsp"/>
</header>
...
Мне нужно добавить дополнительный стиль к ссылкам навигации, поэтому я попытался:
<style>
a {color:red;}
</style>
и
<style>
.navbar a {color:yellow;}
</style>
Но ни то, ни другое не работает! В чем проблема?
РЕДАКТИРОВАТЬ: <style>..</style>
часть включена <html><head>...</head>
.
Комментарии:
1. вы пробовали использовать !imporant ?
2. Чтобы переопределить базовый css bootstrap, вы должны использовать !важно, как сказал Марко.
3. Большое спасибо! Это сработало для меня, я не знал об этом, сделайте ответ, и я отмечу его как решаемый.
4. @Marko дайте ответ, чтобы op мог принять. рабочая скрипка jsfiddle.net/bg7fh21L
5. @parsecer но имейте в виду, что нужно ! важно только тогда, когда ему нужно больше всего, иначе старайтесь избегать !важно.
Ответ №1:
Как мы упоминали в комментариях, вам необходимо переопределить css bootstrap, поэтому using !important
применяет новые правила CSS и отвечает на ваш вопрос 🙂
Кроме того, убедитесь, что вы не используете тег !important слишком часто, это не очень хорошая практика
Ответ №2:
Проблема в том, что bootstrap использует следующий CSS для оформления ссылки:
.navbar-inverse .navbar-nav>.active>a
Ваш CSS пытается перезаписать это, но это не удается, потому что он имеет более низкую спецификацию.
Чтобы исправить это, вы могли бы:
- Измените свои стили, чтобы они были более конкретными
- Внесите изменения в сам bootstrap (у них есть доступный настройщик
Комментарии:
1. Он не включает стиль внутри заголовка.
2. Или (плохая практика) использовать
!important
Ответ №3:
Если вы хотите переопределить класс начальной загрузки, просто добавьте class или id в свой родительский контейнер и добавьте к нему префикс ваших стилей, этого должно хватить. CSS всегда выбирает наиболее конкретный доступный селектор, если они совпадают, тогда он принимает последний вариант