如何使垂直导航栏中的选项卡居中?
How do I center tabs in a vertical navigation bar?
所以我有一个垂直导航栏,但我无法将选项卡居中。文本离右边太远,当我将鼠标悬停在它上面时,突出显示的框不会延伸到边距。我的代码如下:
HTML:
<!DOCTYPE html>
<html>
<head>
<title>Matthew H. Goodman</title>
<link href="style2home.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<ul id="nav">
<li><a href="#">HOME</a></li>
<li><a href="#">CV</a></li>
<li><a href="#">RESEARCH</a></li>
<li><a href="#">CONTACT</a></li>
</ul>
</body>
</html>
CSS:
#nav {
margin-top: 200px;
left: 0;
width: auto;
height: auto;
border-radius: 10px;
position: absolute;
background-image: url("http://www.diiiz.com/variant/Argent%C3%A9.jpg");
}
#nav li {
position: relative;
list-style: none;
padding: 15px;
width: auto;
}
#nav li a {
position: relative;
display: block;
text-decoration: none;
font-size: 15px;
font-weight: bold;
color: white;
text-align: center;
}
#nav li a:hover {
color: #778899;
background-color: black;
}
您的 #nav
元素应用了一些填充,您可以通过添加来修复它:
#nav {padding:0px;}
要使背景覆盖整行,请在 a
中添加更多填充,并使用当前标记从 li
中删除填充。
li {padding:0px;}
a {padding:15px;}
您可以向 li 元素添加一个 hover
状态,但这会导致无法正确单击 a 元素的一些问题。
浏览器和一些 CSS 重置将默认规则添加到 UL/OL 等元素,以保持无样式 html 元素看起来一致。
ul#nav { padding-left: 0; }
我建议使用 CSS 重置(正常化、eric meyer 的重置等)让您从头开始。
使用 chrome/firefox/ie11 开发工具(F12,或右键单击并检查元素),转到 window 中的元素并将鼠标悬停在它上面以查看 margin/padding 规则。向下滚动右侧的 CSS 规则以查找应用它们的位置或单击 'computed styles' 查看所有规则。
对于悬停状态,
您需要将鼠标悬停在 li 上并单独处理颜色
#nav li:hover { background-color: black; }
#nav li:hover a { color: #778899; }
您还需要添加
#nav { overflow: hidden; }
保持你的边界半径
所以我有一个垂直导航栏,但我无法将选项卡居中。文本离右边太远,当我将鼠标悬停在它上面时,突出显示的框不会延伸到边距。我的代码如下:
HTML:
<!DOCTYPE html>
<html>
<head>
<title>Matthew H. Goodman</title>
<link href="style2home.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<ul id="nav">
<li><a href="#">HOME</a></li>
<li><a href="#">CV</a></li>
<li><a href="#">RESEARCH</a></li>
<li><a href="#">CONTACT</a></li>
</ul>
</body>
</html>
CSS:
#nav {
margin-top: 200px;
left: 0;
width: auto;
height: auto;
border-radius: 10px;
position: absolute;
background-image: url("http://www.diiiz.com/variant/Argent%C3%A9.jpg");
}
#nav li {
position: relative;
list-style: none;
padding: 15px;
width: auto;
}
#nav li a {
position: relative;
display: block;
text-decoration: none;
font-size: 15px;
font-weight: bold;
color: white;
text-align: center;
}
#nav li a:hover {
color: #778899;
background-color: black;
}
您的 #nav
元素应用了一些填充,您可以通过添加来修复它:
#nav {padding:0px;}
要使背景覆盖整行,请在 a
中添加更多填充,并使用当前标记从 li
中删除填充。
li {padding:0px;}
a {padding:15px;}
您可以向 li 元素添加一个 hover
状态,但这会导致无法正确单击 a 元素的一些问题。
浏览器和一些 CSS 重置将默认规则添加到 UL/OL 等元素,以保持无样式 html 元素看起来一致。
ul#nav { padding-left: 0; }
我建议使用 CSS 重置(正常化、eric meyer 的重置等)让您从头开始。 使用 chrome/firefox/ie11 开发工具(F12,或右键单击并检查元素),转到 window 中的元素并将鼠标悬停在它上面以查看 margin/padding 规则。向下滚动右侧的 CSS 规则以查找应用它们的位置或单击 'computed styles' 查看所有规则。
对于悬停状态, 您需要将鼠标悬停在 li 上并单独处理颜色
#nav li:hover { background-color: black; }
#nav li:hover a { color: #778899; }
您还需要添加
#nav { overflow: hidden; }
保持你的边界半径