Я пытаюсь получить мой элемент навигации в центре, но он не будет работать для более старых версий Internet Explorer или Chrome. Это также не изменит стиль. Как я могу заставить это сосредоточиться и измениться? Вот код:
Навигатор:
<nav id="Nav">
<a href="TMR Library.html">Library</a> |
<a href="TMR Contact.html">Contact</a> |
<a href="TMR About.html">About</a>
</nav>
CSS
#Nav {
margin:0 auto;
font-size: 40px;
color: #22b14c;
font-family: "Papyrus";
}
Есть много способов сосредоточить элементы:
Маржа:
С установленной шириной или display: inline-block;
вы можете использовать:
margin-left: auto;
margin-right: auto;
text-align
:
С установленной шириной или display: inline-block;
вы можете добавить это к родительскому:
text-align: center;
Абсолютный путь:
position: absolute;
left: 50%;
margin-left: width/2;
или
position: absolute;
left: 50%;
transform: translate(0, -50%);
Также не беспокойтесь слишком много о ie7 и ниже, поскольку большинство людей используют более высокие версии ie или другого браузера, хотя это должно работать до тех пор, пока ie6
Еще одна вещь, на которую нужно обратить внимание, это то, что вы хотите использовать ul для своего навигатора. Я знаю, по опыту, что он отлично работает, хотя если вы когда-нибудь захотите добавить раскрывающийся список на навигационную панель, то это намного сложнее.
Используйте ниже:
text-align: center;
вместо
margin 0 auto;
Примечание. Предполагалось, что вы не хотите указывать ширину. В противном случае вы можете просто использовать margin
как уже указано в других ответах.
EDIT: Чтобы использовать теги <nav>
и другие теги HTML5 с более низкой версией IE, вы можете использовать HTML5shiv.js (включив скрипт ниже).
<script src='http://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.6.2/html5shiv.js' type='text/javascript'></script>
Использование:
#Nav
{
margin-left:auto;
margin-right:auto;
width: 12em;
font-size: 40px;
color: #22b14c;
font-family: "Papyrus";
}
margin: 0 auto;
не имеет смысла без указания ширины.
Поскольку это элемент блока, он будет распространяться на 100% по всей странице, попробуйте дать ему ширину
#Nav {
display:Block;
width:500px;
margin:0 auto;
font-size: 40px;
color: #22b14c;
font-family: "Papyrus";
}
margin:0 auto;
nav
элементnav
; однакоwidth
указана. @ user2784439, без указанияwidth
, поля не могут расширяться до краев, потому чтоblock
элементы, такие какnav
имеют ширину по умолчанию100%
.ul
сli
элементами, которые содержат ссылки. Таким образом, гораздо проще создавать подменю.