我有一个页脚,我正在尝试将<nav>
栏居中。
我使用了margin: 0 auto;
,但是它不起作用。我知道我可以使用position: absolute
或relative
,但我不想使用它们。
footer {
height: 300px;
background-color: black;
margin-top: 50px;
}
footer nav {
width: 100%;
display: inline-block;
margin: 0 auto;
}
footer ul {
clear: left;
float: left;
list-style: none;
margin: 0;
padding: 0;
position: relative;
left: 50%;
text-align: center;
}
footer ul li {
display: block;
float: left;
list-style: none;
margin: 0;
padding: 30px 20px;
position: relative;
right: 50%;
}
footer ul li a {
color: white;
font-size: 20px;
text-transform: uppercase;
text-decoration: none;
font-family: 'Source Sans Pro', sans-serif;
}
<footer>
<nav>
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">My Story</a></li>
<li><a href="#">Listings</a></li>
<li><a href="#">Contact Me</a></li>
</ul>
</nav>
</footer>
答案 0 :(得分:2)
您那里确实有太多CSS ...
解决问题的重要一件事是不要在同一元素上使用display: inline-block
和任何float
(float
防止居中)。
如果您在display: inline-block
项上使用li
,在其容器(text-align: center
)上使用ul
,则基本上可以解决此问题。
但是我也删除了很多不必要的原始CSS,请参见下面的代码段。
footer {
height: 300px;
background-color: black;
margin-top: 50px;
}
footer ul {
list-style: none;
margin: 0;
padding: 0;
text-align: center;
}
footer ul li {
display: inline-block;
list-style: none;
margin: 0;
padding: 30px 20px;
}
footer ul li a {
color: white;
font-size: 20px;
text-transform: uppercase;
text-decoration: none;
font-family: 'Source Sans Pro', sans-serif;
}
<footer>
<nav>
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">My Story</a></li>
<li><a href="#">Listings</a></li>
<li><a href="#">Contact Me</a></li>
</ul>
</nav>
</footer>
答案 1 :(得分:1)
使用Flex:
footer {
background-color: black;
}
footer nav {
height: 300px;
}
footer ul {
display: flex;
justify-content: center;
align-items: center;
height: 100%;
list-style: none;
}
footer ul li {
padding: 30px 20px;
}
footer ul li a {
color: white;
font-size: 20px;
text-transform: uppercase;
text-decoration: none;
font-family: 'Source Sans Pro', sans-serif;
}