获得左边距并且无法弄清楚为什么
Getting a left margin and cannot figure out why
我正在创建移动下拉菜单,但出于某种原因,我的导航列表没有占据整个 width:100%;
页面。是的,但是我在下拉菜单旁边得到了某种左边距。我试过设置 margin-left: 0;
,但这没有帮助。我什至看不到我设置的边距在哪里。我也试过设置 padding-left: 0;
。没有任何效果。
请在 640px 以下的视口中查看。有人看到我做错了什么吗?
$('span.nav-btn').click(function () {
$('ul.nav-list').slideToggle(500);
})
$(window).resize(function (){
if ( $(window).width() > 600 ) {
$('ul.nav-list').removeAttr('style');
}
});
html ,body {
margin: 0;
height: 100%;
font-family: "Droid Sans", sans-serif;
}
.header {
width: 100%;
height: 100px;
background-color: #191919;
}
.header_wrap {
margin: auto 10%;
}
.logo {
float: left;
padding: 25px 0;
font-size: 2.2em;
}
.logo a {
text-decoration: none;
color: #FFF;
}
.nav-list {
text-decoration: none;
float: right;
list-style: none;
z-index: 99999;
}
/*.nav-list li {
text-decoration: none;
display: inline-block;
padding: 35px 20px;
color: #FFF;
}*/
.nav-list > a {
display: inline-block;
padding: 35px 20px;
text-decoration: none;
}
.nav-list > a > li {
text-decoration: none;
font-size: 1.2em;
color: #FFF;
}
@media screen and (max-width:640px) {
.logo {
padding: 8px 0;
font-size: 1.3em;
}
.header_wrap {
margin: 0 5%;
}
.nav-list {
padding: 0;
text-align: center;
display: none;
top: 100px;
width: 100%;
z-index: 999999999;
position: absolute;
}
.nav-list > a {
display: block;
border-bottom: 1px solid #FFF;
width: 100%;
background-color: rgba(0, 0, 0, 0.7);
}
.nav-btn {
display: block;
text-align: right;
cursor: pointer;
padding-top: 20px;
}
.nav-btn:before {
background-image: url('http://greekgodmythology.com/icons/white-menu.png');
background-size: 28px 28px;
background-repeat: no-repeat;
width: 28px;
height: 28px;
content:"";
display: block;
float: right;
}
<header class="header">
<div class="header_wrap">
<div class="logo"><a href="">ABC</a></div>
<span class="nav-btn"></span>
<ul class="nav-list">
<a href="#"><li>A</li></a>
<a href="#"><li>B</li></a>
<a href="#"><li>C</li></a>
</ul>
</div>
</header>
这是添加边距的规则。
@media screen and (max-width:640px) {
.header_wrap {
margin: 0 5%;
}
}
您正在将 top/bottom 边距设置为 0
,将 left/right 边距设置为 5%
。此元素包含您的下拉列表,因此尊重 .header_wrap
.
的父元素的边距
设置为margin: 0;
。尽管这可能会扰乱菜单中其他元素的对齐方式。但这就是利润率的来源。
一个解决方案是不要将导航放置在 .header_wrap
内。
<header class="header">
<div class="header_wrap">
<div class="logo">
<a href="">ABC</a>
</div>
<span class="nav-btn"></span>
</div>
<ul class="nav-list">
<a href="#"><li>A</li></a>
<a href="#"><li>B</li></a>
<a href="#"><li>C</li></a>
</ul>
</header>
我正在创建移动下拉菜单,但出于某种原因,我的导航列表没有占据整个 width:100%;
页面。是的,但是我在下拉菜单旁边得到了某种左边距。我试过设置 margin-left: 0;
,但这没有帮助。我什至看不到我设置的边距在哪里。我也试过设置 padding-left: 0;
。没有任何效果。
请在 640px 以下的视口中查看。有人看到我做错了什么吗?
$('span.nav-btn').click(function () {
$('ul.nav-list').slideToggle(500);
})
$(window).resize(function (){
if ( $(window).width() > 600 ) {
$('ul.nav-list').removeAttr('style');
}
});
html ,body {
margin: 0;
height: 100%;
font-family: "Droid Sans", sans-serif;
}
.header {
width: 100%;
height: 100px;
background-color: #191919;
}
.header_wrap {
margin: auto 10%;
}
.logo {
float: left;
padding: 25px 0;
font-size: 2.2em;
}
.logo a {
text-decoration: none;
color: #FFF;
}
.nav-list {
text-decoration: none;
float: right;
list-style: none;
z-index: 99999;
}
/*.nav-list li {
text-decoration: none;
display: inline-block;
padding: 35px 20px;
color: #FFF;
}*/
.nav-list > a {
display: inline-block;
padding: 35px 20px;
text-decoration: none;
}
.nav-list > a > li {
text-decoration: none;
font-size: 1.2em;
color: #FFF;
}
@media screen and (max-width:640px) {
.logo {
padding: 8px 0;
font-size: 1.3em;
}
.header_wrap {
margin: 0 5%;
}
.nav-list {
padding: 0;
text-align: center;
display: none;
top: 100px;
width: 100%;
z-index: 999999999;
position: absolute;
}
.nav-list > a {
display: block;
border-bottom: 1px solid #FFF;
width: 100%;
background-color: rgba(0, 0, 0, 0.7);
}
.nav-btn {
display: block;
text-align: right;
cursor: pointer;
padding-top: 20px;
}
.nav-btn:before {
background-image: url('http://greekgodmythology.com/icons/white-menu.png');
background-size: 28px 28px;
background-repeat: no-repeat;
width: 28px;
height: 28px;
content:"";
display: block;
float: right;
}
<header class="header">
<div class="header_wrap">
<div class="logo"><a href="">ABC</a></div>
<span class="nav-btn"></span>
<ul class="nav-list">
<a href="#"><li>A</li></a>
<a href="#"><li>B</li></a>
<a href="#"><li>C</li></a>
</ul>
</div>
</header>
这是添加边距的规则。
@media screen and (max-width:640px) {
.header_wrap {
margin: 0 5%;
}
}
您正在将 top/bottom 边距设置为 0
,将 left/right 边距设置为 5%
。此元素包含您的下拉列表,因此尊重 .header_wrap
.
设置为margin: 0;
。尽管这可能会扰乱菜单中其他元素的对齐方式。但这就是利润率的来源。
一个解决方案是不要将导航放置在 .header_wrap
内。
<header class="header">
<div class="header_wrap">
<div class="logo">
<a href="">ABC</a>
</div>
<span class="nav-btn"></span>
</div>
<ul class="nav-list">
<a href="#"><li>A</li></a>
<a href="#"><li>B</li></a>
<a href="#"><li>C</li></a>
</ul>
</header>