Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 当媒体查询开始时,为什么导航会离开屏幕左侧?_Html_Css_Layout_Media Queries - Fatal编程技术网

Html 当媒体查询开始时,为什么导航会离开屏幕左侧?

Html 当媒体查询开始时,为什么导航会离开屏幕左侧?,html,css,layout,media-queries,Html,Css,Layout,Media Queries,当屏幕低于450px时,徽标消失,为导航留出空间,但导航随后会离开屏幕左侧约20px 我相信这是相关的代码-我可能包含了更多必要的内容。CSS: @media screen and (max-width: 450px) { img#logo { display: none; width: 0; } nav { width: 100%; min-width: 100%; } } div#top{ position:

当屏幕低于450px时,徽标消失,为导航留出空间,但导航随后会离开屏幕左侧约20px

我相信这是相关的代码-我可能包含了更多必要的内容。CSS:

@media screen and (max-width: 450px) {
    img#logo {
    display: none;
    width: 0;
    }
    nav {
    width: 100%;
    min-width: 100%;
    }
}
div#top{
        position: fixed;
        top: 0px;
        width: 100%;
        height: 130px;
        z-index: 5;

}
img#logo {
        border: 0;
        float: left;    
        width: 20%;
        margin-right: 2%;
        margin-left: 2%;
        margin-top: 5px;
        max-width: 123px;
        }


nav {       position: fixed;
            top: 0px;
            right: 0px;
            width: 70%;
            float: right;
            padding: 2%;
            height: 60px;
            max-height: 60px;
            margin: 5px 5px;
            }
nav button {
            padding: 0 4px;
            height: 28px;
            font: 16px;
}

nav button ul {
            position: relative;
            display: none;
}

nav button:hover ul, nav button:focus ul {
            display: block;
            z-index: 6;
            list-style: none;
            padding: 4px;
}

nav button:hover li, nav button:focus li {
            padding: 4px;
}
nav a {
        text-decoration: none;
        color: white;
}
nav a:hover, nav a:focus {
            color: #9dab71;
}
以下是相关的HTML:

<div id="top">
<a href="default.html"><img id="logo" src="http://www.briligg.com/images/briligg-loopless-blue.png" 
alt="briligg home" /></a>
<nav>
<button><a href="futuremoon.html#begin">Purpose</a></button>
<button><a href="moonvsmars.html">Moon vs Mars</a>
   <ul>
     <li><a href="moonvsmars.html#ambiance">Ambiance</a></li>
     <li><a style="border-bottom: 1px solid #666666;" href="moonvsmars.html#communication">Communication</a></li>
     <li><a href="thereandback.html">There and Back</a></li>
</ul>
</button>
<button><a href="beingthere.html">Being There</a>
<ul>
        <li><a href="beingthere.html#domination">World Domination</a></li>
        <li><a href="beingthere.html#chickens">Chickens</a></li>
        <li><a href="beingthere.html#gravity">Down with Gravity</a></li>
        <li><a href="beingthere.html#moonstar">The Moonstar</a></li>
        </ul>
</button>
</nav>
</div>


您已将导航元素的
最小宽度
设置为100%。。。由于长方体模型的工作方式,添加填充和边距会迫使元素比视口宽

您可以通过添加
框大小:边框框到您的导航元素。这将强制将任何填充或边框包含为宽度。请参阅更多详细信息


我建议你阅读一下盒子模型是如何工作的,并相应地调整你的填充和边距。

嘿,那太好了——我不知道这个属性存在。我曾尝试将填充和边距设为0,但没有效果。谢谢(当然,我必须使导航最小宽度为100%,这样它就不会在窄屏幕上缠绕到两行上。)