我正在尝试使用HTML和CSS为网站编写导航栏。我有一张Twitter图标的图片,我想把它放在右侧。我已经尝试在图片及其包含的标签上使用float:right,但不起作用。有人能告诉我如何实现吗?以下是我的代码:
body {
margin: 0;
padding: 0;
font-family: "Arial";
}
header {
height: 60px;
width: 100%;
}
.nav {
display: flex;
height: 60px;
width: 100%;
vertical-align: middle;
box-shadow: 0 0 0 2px #C3C3C3;
position: absolute;
}
img.logo {
height: 50px;
width: 50px;
margin: 0 20px;
}
ul {
display: flex;
list-style-type: none;
margin: 0;
padding: 0;
overflow: hidden;
background-color: #FFF;
}
li a {
display: block;
color: white;
text-align: center;
padding: 21px 16px;
margin: 0 10px;
text-decoration: none;
color: #7D848E
}
li a:hover {
background-color: #111;
}
img.twitter {
height: 40px;
width: 40px;
margin: 10px 10px;
}
a.twitter {
display: block;
float: right;
}
<body>
<div class="nav">
<a href="#">
<img class="logo" src="/static/arch.png">
</a>
<ul>
<li><a href="#">ITEM</a></li>
<li><a href="#">ITEM</a></li>
<li><a href="#">ITEM</a></li>
<li><a href="#">ITEM</a></li>
</ul>
<a class="twitter" href="http://www.twitter.com">
<img class="twitter" src="/static/twitter.png">
</a>
</div>
</body>
margin-left: auto;
添加到a.twitter
类中 - 我对 flex 不够了解,无法提供详细的解释,但这个方法是有效的。 - StudioTime.nav
上使用justify-content: space-between;
属性。 - Tanasos