我想要对齐顶部导航菜单右侧的项目,这是一个固定位置的菜单,因此text- align : right;将不起作用。
到目前为止,我尝试的是:对于正常的显示器(计算机/笔记本电脑),我尝试这样做:
.navbar {
position: fixed;
width: 100%;
}
.navbar .menu_items {
margin-left: 75% /*this leaves a 25% on the right for the menu items *%
} 这对于正常的显示效果很好,但是当最小化浏览器的窗口时,菜单项会堆叠在剩下的25%的宽度中。
我想过对不同大小的屏幕进行媒体查询,这样效率很低。
以下是我的代码:
CSS
body, header{
margin: 0;
padding: 0;
}
.navbar {
position: fixed;
background-color: rgb(90,80,50);
width: 100%;
border-bottom: 2px solid rgb(70,60,30);
box-shadow: 2px 2px 3px 1px rgb(70,60,30);
}
.menu-items {
margin: 0;
padding: 1em 1em 1em 0em;
}
.navbar .menu-items li {
padding: inherit;
font-size: 1.5em;
display: inline;
}
.navbar .menu-items li a:link,
.navbar .menu-items li a:visited {
padding: inherit;
padding-left: 0.5em;
text-decoration: none;
color: #eee;
}
.navbar .menu-items li a:hover {
background-color: rgb(70,60,30)
}Html
<!DOCTYPE html>
<html>
</html>
<header>
<nav class="navbar">
<ul class="menu-items">
<li><a href="#">Home</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Contact</a></li>
</ul>
</nav>
</header>
<div class="body">
<br> <hr> <br> <hr> <hr> <br> <hr> <br> <hr> <hr> <br> <hr> <br> <hr> <hr> <br> <hr> <br> <hr> <hr> <br> <hr> <br> <hr> <hr> <br> <hr> <br> <hr> <hr> <br> <hr> <br> <hr> <hr> <br> <hr> <br> <hr> <hr> <br> <hr> <br> <hr> <hr> <br> <hr> <br> <hr> <hr> <br> <hr> <br> <hr> <hr> <br> <hr> <br> <hr> <hr> <br> <hr> <br> <hr> <hr> <br> <hr> <br> <hr> <hr> <br> <hr> <br> <hr> <hr> <br> <hr> <br> <hr> <hr> <br> <hr> <br> <hr>
</div>
</html>发布于 2019-10-07 06:04:24
您可以通过将nav设置为display: flex并将ul设置为margin-left: auto来实现此目的。当项目处于弹性上下文中时,任何给定侧的自动边距都会将它们推到框的末尾。
.navbar{
display: flex;
}
.navbar > .menu-items{
margin-left: auto;
}
body,
header {
margin: 0;
padding: 0;
}
.navbar {
position: fixed;
background-color: rgb(90, 80, 50);
width: 100%;
border-bottom: 2px solid rgb(70, 60, 30);
box-shadow: 2px 2px 3px 1px rgb(70, 60, 30);
}
.menu-items {
margin: 0;
padding: 1em 1em 1em 0em;
}
.navbar .menu-items li {
padding: inherit;
font-size: 1.5em;
display: inline;
}
.navbar .menu-items li a:link,
.navbar .menu-items li a:visited {
padding: inherit;
padding-left: 0.5em;
text-decoration: none;
color: #eee;
}
.navbar .menu-items li a:hover {
background-color: rgb(70, 60, 30)
}<header>
<nav class="navbar">
<ul class="menu-items">
<li><a href="#">Home</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Contact</a></li>
</ul>
</nav>
</header>
<div class="body">
<br>
<hr> <br>
<hr>
<hr> <br>
<hr> <br>
<hr>
<hr> <br>
<hr> <br>
<hr>
<hr> <br>
<hr> <br>
<hr>
<hr> <br>
<hr> <br>
<hr>
<hr> <br>
<hr> <br>
<hr>
<hr> <br>
<hr> <br>
<hr>
<hr> <br>
<hr> <br>
<hr>
<hr> <br>
<hr> <br>
<hr>
<hr> <br>
<hr> <br>
<hr>
<hr> <br>
<hr> <br>
<hr>
<hr> <br>
<hr> <br>
<hr>
<hr> <br>
<hr> <br>
<hr>
<hr> <br>
<hr> <br>
<hr>
<hr> <br>
<hr> <br>
<hr>
<hr> <br>
<hr> <br>
<hr>
<hr> <br>
<hr> <br>
<hr>
</div>
发布于 2019-10-07 05:48:25
flex的正确语法:
/*CSS*/
#parent {
display: flex;
flex-direction: row;/*not required, default value is row*/
justify-content: flex-end;
}但您也可以在项目上使用float: right;
发布于 2019-10-07 14:49:24
您可以使用以下代码
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
<title>Hello, world!</title>
<style type="text/css">
body,
header {
margin: 0;
padding: 0;
}
.navbar-light .navbar-brand {
color: #ffffff!important;
margin-left: 30px;
}
.navbar {
position: fixed;
background-color: rgb(90, 80, 50)!important;
width: 100%;
border-bottom: 2px solid rgb(70, 60, 30);
box-shadow: 2px 2px 3px 1px rgb(70, 60, 30);
padding: 20px 0;
}
.navbar .navbar-nav {
margin: 0;
padding: 0;
}
.navbar .navbar-nav li {
padding: inherit;
font-size: 1.5em;
display: inline;
}
.navbar .navbar-nav li a:link,
.navbar .navbar-nav li a:visited {
padding: 10px 45px;
text-decoration: none;
color: #eeeeee!important;
}
.navbar .navbar-nav li a:hover {
background-color: rgb(70, 60, 30)
}
.navbar-light .navbar-toggler {
color: #fff !important;
border-color: #fff !important;
margin-right: 30px;
}
</style>
</head>
<body>
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<a class="navbar-brand" href="#">Navbar</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav ml-auto">
<li class="nav-item active">
<a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">About</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Contact</a>
</li>
</ul>
</div>
</nav>
<div class="body">
<br>
<hr>
<br>
<hr>
<hr>
<br>
<hr>
<br>
<hr>
<hr>
<br>
<hr>
<br>
<hr>
<hr>
<br>
<hr>
<br>
<hr>
<hr>
<br>
<hr>
<br>
<hr>
<hr>
<br>
<hr>
<br>
<hr>
<hr>
<br>
<hr>
<br>
<hr>
<hr>
<br>
<hr>
<br>
<hr>
<hr>
<br>
<hr>
<br>
<hr>
<hr>
<br>
<hr>
<br>
<hr>
<hr>
<br>
<hr>
<br>
<hr>
<hr>
<br>
<hr>
<br>
<hr>
<hr>
<br>
<hr>
<br>
<hr>
<hr>
<br>
<hr>
<br>
<hr>
<hr>
<br>
<hr>
<br>
<hr>
<hr>
<br>
<hr>
<br>
<hr>
<hr>
<br>
<hr>
<br>
<hr>
</div>
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
</body>
</html>
https://stackoverflow.com/questions/58260774
复制相似问题