我应该如何填充导航栏的颜色? - css
How should I fill with color the nav-bar? - css
我想制作一个网站菜单,我用 HTML 和 CSS 制作了以下代码。问题是在主页与主页和联系人之间有一个空格。有解决这个问题的想法吗?
li {
text-decoration: none;
display: inline;
}
a {
text-decoration: none;
color: white;
padding: 3vh;
font-family: 'Oswald', sans-serif;
background-color: #595959;
}
#about, #gallery, #contact {
float: right;
}
#home {
float: left;
}
a:hover {
background-color: #969696;
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>NavBar Tutorial</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="main.css">
<link href="https://fonts.googleapis.com/css2?family=Oswald:wght@500&display=swap" rel="stylesheet">
</head>
<body>
<header>
<nav>
<li><a href="#" id="home">Home</a></li>
<li><a href="#" id="about">About</a></li>
<li><a href="#" id="gallery">Gallery</a></li>
<li><a href="#" id="contact">Contact</a></li>
</nav>
</header>
</body>
</html>
li {
text-decoration: none;
display: inline;
}
a {
text-decoration: none;
color: white;
padding: 3vh;
font-family: 'Oswald', sans-serif;
background-color: #595959;
}
a:hover {
background-color: #969696;
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>NavBar Tutorial</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="main.css">
<link href="https://fonts.googleapis.com/css2?family=Oswald:wght@500&display=swap" rel="stylesheet">
</head>
<body>
<header>
<nav>
<li><a href="#" id="home">Home</a></li>
<li><a href="#" id="about">About</a></li>
<li><a href="#" id="gallery">Gallery</a></li>
<li><a href="#" id="contact">Contact</a></li>
</nav>
</header>
</body>
</html>
您正在对您的菜单项应用浮动 属性,这不是必需的。
解决方案非常简单。
在您的 CSS 中,您说过关于、图库和联系方式具有浮动权限。
所以当你说 home 元素必须向左浮动时,这会将这 3 个元素带到右边。
所以它会将它向左对齐,从而在它们之间创建白色 space。如果你想删除白色 space 并将所有这 4 个元素对齐在一起,如下所示:https://imgur.com/a/e4ayr6b
那么代码就简单了:
#about,
#gallery,
#contact {
float: left;
}
现在这个向左浮动将使其他 3 个元素与主页按钮对齐。
然后家里还有float: left
。
如果您不希望这样,那么您的问题并不是说元素应该向左对齐还是什么。你刚才说白色 space 应该被删除。所以上面的解决方案就可以了。
希望对您有所帮助
我想你可能真的在找这样的东西。我已将您的项目更改为 类 与 ID,因为这是更好的做法。
我也不会在 a
元素上设置填充,因为您可能需要在其他地方使用它。下面是向您展示所需效果的起点,但您应该使用相同的代码重新开始,但修改您的 CSS 类,以便您的 header 具有特定的 类 vs 立即影响整个网站 属性,因为它会在以后引起问题。
li {
text-decoration: none;
display: inline;
}
a {
text-decoration: none;
color: white;
padding: 3vh;
font-family: 'Oswald', sans-serif;
background-color: #595959;
}
.right-item {
float: right;
}
.left-item {
float: left;
}
a:hover {
background-color: #969696;
}
.nav-wrap {
background-color: #595959;
height: 60px;
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>NavBar Tutorial</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="main.css">
<link href="https://fonts.googleapis.com/css2?family=Oswald:wght@500&display=swap" rel="stylesheet">
</head>
<body>
<header>
<nav>
<div class="nav-wrap">
<li><a href="#" class="left-item">Home</a></li>
<li><a href="#" class="right-item">About</a></li>
<li><a href="#" class="right-item">Gallery</a></li>
<li><a href="#" class="right-item">Contact</a></li>
</div>
</nav>
</header>
</body>
</html>
li {
text-decoration: none;
display: inline;
}
a {
text-decoration: none;
color: white;
padding: 3vh;
font-family: 'Oswald', sans-serif;
background-color: #595959;
}
a:hover {
background-color: #969696;
}
nav{
text-align:right;
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>NavBar Tutorial</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="main.css">
<link href="https://fonts.googleapis.com/css2?family=Oswald:wght@500&display=swap" rel="stylesheet">
</head>
<body>
<header>
<nav>
<li><a href="#" id="home">Home</a></li>
<li><a href="#" id="about">About</a></li>
<li><a href="#" id="gallery">Gallery</a></li>
<li><a href="#" id="contact">Contact</a></li>
</nav>
</header>
</body>
</html>
虽然这对于真实世界的网站来说并不理想。希望对你有帮助
我想制作一个网站菜单,我用 HTML 和 CSS 制作了以下代码。问题是在主页与主页和联系人之间有一个空格。有解决这个问题的想法吗?
li {
text-decoration: none;
display: inline;
}
a {
text-decoration: none;
color: white;
padding: 3vh;
font-family: 'Oswald', sans-serif;
background-color: #595959;
}
#about, #gallery, #contact {
float: right;
}
#home {
float: left;
}
a:hover {
background-color: #969696;
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>NavBar Tutorial</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="main.css">
<link href="https://fonts.googleapis.com/css2?family=Oswald:wght@500&display=swap" rel="stylesheet">
</head>
<body>
<header>
<nav>
<li><a href="#" id="home">Home</a></li>
<li><a href="#" id="about">About</a></li>
<li><a href="#" id="gallery">Gallery</a></li>
<li><a href="#" id="contact">Contact</a></li>
</nav>
</header>
</body>
</html>
li {
text-decoration: none;
display: inline;
}
a {
text-decoration: none;
color: white;
padding: 3vh;
font-family: 'Oswald', sans-serif;
background-color: #595959;
}
a:hover {
background-color: #969696;
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>NavBar Tutorial</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="main.css">
<link href="https://fonts.googleapis.com/css2?family=Oswald:wght@500&display=swap" rel="stylesheet">
</head>
<body>
<header>
<nav>
<li><a href="#" id="home">Home</a></li>
<li><a href="#" id="about">About</a></li>
<li><a href="#" id="gallery">Gallery</a></li>
<li><a href="#" id="contact">Contact</a></li>
</nav>
</header>
</body>
</html>
您正在对您的菜单项应用浮动 属性,这不是必需的。
解决方案非常简单。
在您的 CSS 中,您说过关于、图库和联系方式具有浮动权限。 所以当你说 home 元素必须向左浮动时,这会将这 3 个元素带到右边。
所以它会将它向左对齐,从而在它们之间创建白色 space。如果你想删除白色 space 并将所有这 4 个元素对齐在一起,如下所示:https://imgur.com/a/e4ayr6b 那么代码就简单了:
#about,
#gallery,
#contact {
float: left;
}
现在这个向左浮动将使其他 3 个元素与主页按钮对齐。
然后家里还有float: left
。
如果您不希望这样,那么您的问题并不是说元素应该向左对齐还是什么。你刚才说白色 space 应该被删除。所以上面的解决方案就可以了。
希望对您有所帮助
我想你可能真的在找这样的东西。我已将您的项目更改为 类 与 ID,因为这是更好的做法。
我也不会在 a
元素上设置填充,因为您可能需要在其他地方使用它。下面是向您展示所需效果的起点,但您应该使用相同的代码重新开始,但修改您的 CSS 类,以便您的 header 具有特定的 类 vs 立即影响整个网站 属性,因为它会在以后引起问题。
li {
text-decoration: none;
display: inline;
}
a {
text-decoration: none;
color: white;
padding: 3vh;
font-family: 'Oswald', sans-serif;
background-color: #595959;
}
.right-item {
float: right;
}
.left-item {
float: left;
}
a:hover {
background-color: #969696;
}
.nav-wrap {
background-color: #595959;
height: 60px;
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>NavBar Tutorial</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="main.css">
<link href="https://fonts.googleapis.com/css2?family=Oswald:wght@500&display=swap" rel="stylesheet">
</head>
<body>
<header>
<nav>
<div class="nav-wrap">
<li><a href="#" class="left-item">Home</a></li>
<li><a href="#" class="right-item">About</a></li>
<li><a href="#" class="right-item">Gallery</a></li>
<li><a href="#" class="right-item">Contact</a></li>
</div>
</nav>
</header>
</body>
</html>
li {
text-decoration: none;
display: inline;
}
a {
text-decoration: none;
color: white;
padding: 3vh;
font-family: 'Oswald', sans-serif;
background-color: #595959;
}
a:hover {
background-color: #969696;
}
nav{
text-align:right;
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>NavBar Tutorial</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="main.css">
<link href="https://fonts.googleapis.com/css2?family=Oswald:wght@500&display=swap" rel="stylesheet">
</head>
<body>
<header>
<nav>
<li><a href="#" id="home">Home</a></li>
<li><a href="#" id="about">About</a></li>
<li><a href="#" id="gallery">Gallery</a></li>
<li><a href="#" id="contact">Contact</a></li>
</nav>
</header>
</body>
</html>
虽然这对于真实世界的网站来说并不理想。希望对你有帮助