Дайте <nav> границу

0

Я использую элементы HTML5, поэтому я создаю <nav> панель с <nav>. Я хотел бы дать <nav> границу сверху и границу внизу, но код не будет работать. Что я сделал не так?

Вот мой код для HTML

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Home</title>
<link href="css/fphmain.css" rel="stylesheet" type="text/css">
</head>

<body>

<header>
</header>

<div id="content">
<nav>
  <ul>
    <li><a href="about.html">About</a></li>
    <li><a href="books.html">Books</a></li>
    <li><a href="tracts.html">Tracts</a></li>
    <li><a href="publications.html">Publications</a></li>
    <li><a href="order.html">Order</a></li>
    <li><a href="donate.html">Donate</a></li>
    <li><a href="contact.html">Contact</a></li>    
    </ul>
</nav>

</div>
</body>
</html>

Вот мой CSS

@charset "utf-8";
/* CSS Document */

#content {
    width:980px;
    margin-right:auto;
    margin-left:auto;
}

nav {
    width:100%;
}

nav ul {
    margin:0;
    padding:0;
}

nav ul li {
    float: left;
    list-style-type: none;
    padding: 3px 5px 3px 5px;
}

nav ul li a {
    text-decoration:none;
    color:#000;
}
Теги:
nav
border

4 ответа

1

В вашей таблице стилей нет CSS, который создавал бы границу вашего элемента nav.

Вам нужно добавить CSS с border-bottom и border-top правилами стиля, которые создавали бы такие границы. Например, если вы хотите, чтобы черная рамка была толщиной в один пиксель сверху и снизу элемента nav, вы должны применить правило стиля, например:

nav {
    border-top: 1px solid black;    /* in place of the word "black", 
                                       you can use #000000 or rgb(0,0,0) */
    border-bottom: 1px solid black;
} 

Если вам не нужны другие элементы рядом с nav (другими словами, если вы хотите, чтобы все остальные элементы были либо выше, либо ниже), вы можете применить display: block; правило на море, а также clear: both; ,

1

Вы не добавили CSS рамки, и поплавки внутри не были очищены:

nav {
    border-top: 1px solid blue;
    border-bottom: 1px solid red;
} 
nav:after {
    content: "";
    display: block;
    clear: both;
}
0

Вы не можете правильно видеть границы, даже если они применяются к nav поскольку для элемента nave требуется clearfix, из-за элементов с плавающим списком. Ознакомьтесь с Nicolas Gallagher micro clearfix.

.cf:before,
.cf:after {
    content: " ";
    display: table;
}

.cf:after {
    clear: both;
}
0

если вы не придаете высоту своему nav, вы можете использовать: overflow:hidden; ,

Он будет обертывать любого флотационного дочернего элемента и будет стоять в стороне от смежного элемента floatting.

просто используйте: nav {overflow:hidden;border-top:solid;border-bottom:solid;},

нет необходимости в width:100%; для элемента блока.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню