我用flexbox创建了一个导航栏。我很满意,但我认为导航有点偏右。我怎样才能把它移到左边,使它具有和以前一样的响应能力?
* {
margin: 0;
padding: 0;
box-sizing: inherit;
}
*::after,
*::before {
margin: 0;
padding: 0;
box-sizing: inherit;
}
ul {
margin: 0;
padding: 0;
list-style: none;
}
.header {
width: 100%;
background-color: #f4f4f4;
height: 08rem;
display: flex;
justify-content: space-around;
align-items: center;
-webkit-box-shadow: 0px 0px 14px 0px rgba(0, 0, 0, 0.75);
-moz-box-shadow: 0px 0px 14px 0px rgba(0, 0, 0, 0.75);
box-shadow: 0px 0px 14px 0px rgba(0, 0, 0, 0.75);
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
column-gap: 15rem;
}
.nav {
text-transform: uppercase;
font-family: "Lato";
}
.main-nav {
display: flex;
font-size: 2rem;
}
.main-nav__link {
padding: 0rem 1.5rem;
text-decoration: none;
text-align: center;
display: block;
color: #34495e;
}
.main-nav__link:hover {
color: #718daa;
}
.logo {
font-family: "Montserrat";
}
.logo__link {
color: #34495e;
text-transform: uppercase;
letter-spacing: 0.2rem;
font-weight: 700;
text-decoration: none;
}
html {
box-sizing: border-box;
font-size: 62.5%;
}
<div class="container">
<header class="header">
<!-- insert logo image -->
<!-- <img src="img/logo.png" alt="Tolani Logo" class="logo"> -->
<!-- or -->
<!-- Use A Logo Image -->
<h1 class="logo"><a href="/" class="logo__link">Tolani Alumni</a></h1>
<nav class="nav">
<ul class="main-nav">
<li class="main-nav-list"><a class="main-nav__link" href="#">Home</a></li>
<li class="main-nav-list"><a class="main-nav__link" href="#">About</a></li>
<li class="main-nav-list"><a class="main-nav__link" href="#">College</a></li>
<li class="main-nav-list"><a class="main-nav__link" href="#">Events</a></li>
<li class="main-nav-list"><a class="main-nav__link" href="#">BOk</a></li>
</ul>
</nav>
<button class="btn btn-login">Login</button>
</header>
</div>
我怎样才能把一个flex元素移到中间,并保持它以前的一些响应性
3条答案
按热度按时间hs1rzwqc1#
也许你可以试着改变。导航属性到
1.位置:绝对;
bkhjykvo2#
我对你的代码做了一些小的修改,并用注解标记了它们。现在可以使用差距属性。在logo和导航栏之间留出空间。
实际上,我将logo和nav链接 Package 在同一个容器中,对其应用了flex属性,并在头部添加了一些填充。
您需要编写媒体查询,使其对其他设备做出响应。
wtzytmuj3#
以下是我所做的更改:
type="button"
html { box-sizing: border-box; font-size: 62.5%; }
移到顶部,以便更好地级联ul
更改为.main-nav
,因为我添加了这个列表,所以它是“坏的”-使用CSS的类而不是元素标签,除非您正在开发一个“库”,如bootstrap或类似的.main-nav
CSS全部移到一个位置。如果你有一个以上的可能你的CSS需要更多的工作.nav
和.header
,因为我更喜欢自顶向下,这就是CSS中的C(级联).main-nav__link
和.logo__link
更改为.main-nav-link
和.logo-link
,因为我讨厌CSS中的下划线,因为很难说有多少,我不喜欢混合破折号和下划线height: 08rem; to height: 8rem;
,因为它更清晰.main-nav { margin: 0; padding: 0;
,因为这些已在上面设置*
,与其他人,而不是一个单独的组没有理由ul.main-nav{ font-size: 0; }
放在处理边距上,并将大小放在li.main-nav-list{ font-size: 2rem; }
ref上:How to remove the default margin of inline li elements?<h1 class="logo"></h1>
未显示font-size: 16px;
,在body { font-size: 0.625em; }
上设置10 px字体,因为大多数浏览器默认为16 px大小和10/16 = 0。625在我设置Flex(中心)为小屏幕 Package 后
精简且无ul/li示例:这是最重要的部分: