如何使导航响应?

How can I make the navigation responsive?

我尝试让我的导航响应灵敏,但我做不到。正如您在我的 style.css 中看到的那样,我已经尝试了一些方法。我的 header 已经响应,但我无法管理导航。

这是我在 desktop/laptop 上的网站。

这是我在手机上的网站。我希望导航也像上图一样位于中心。

html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,address,cite,code,del,dfn,em,img,ins,q,small,strong,sub,sup,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{border:0;margin:0;padding:0}article,aside,figure,figure img,figcaption,hgroup,footer,header,nav,section,video,object{display:block}a img{border:0}figure{position:relative}figure img{width:amount}figure{margin:0;padding:0;}


body
{
    background-color: #F9F9F9;
    height: 100%;
    font-size: 20px;
    top: 0;
    left: 0;
}

header
{
    width: 100%;
    height: 300px;
    background: url("images/woman-wearing-white-long-sleeved-shirt-973401.jpg");
    background-repeat: no-repeat;


    background-repeat: no-repeat;
    background-position: center 35%;
    background-size: cover;
    overflow: hidden;
}

.opacity
{
    width: 100%;
    height: 300px;
    background: rgba(96, 59, 59, 0.7);
    overflow: hidden;
}


.navigation
{
    width: 700px;
    margin: auto;
    background-color: black;
    color: white;
    text-align: center;
    border-radius: 30px;
    margin-top: -20px;
    margin-right: 25%;
}

.navigation_list
{
    list-style-type: none;
    padding: 10px;
}

.navigation_list_item
{
    display: inline-block;
    padding-left: 20px;
    padding-right: 20px;
}



@media screen and (max-width: 768px){
    header{
        width: 100%;
    }

    .opacity{
        width: 100%;
    }

    .logo{
        width: 474px;
        height: 369px;
        background-repeat: no-repeat;
        background-size: 50%;
        margin-left: 30%;
        margin-top: 50px;
    }

    .navigation
    {
        width: 700px;
        margin: auto;
        background-color: black;
        color: white;
        text-align: center;
        border-radius: 30px;
        margin-top: -20px;
        margin-right: 25%;
    }

    .navigation_list
    {
        list-style-type: none;
        padding: 10px;
    }

    .navigation_list_item
    {
        display: inline-block;
        padding-left: 20px;
        padding-right: 20px;
    }
}
<!DOCTYPE html>
<html>
<link rel="stylesheet" href="style.css">
<body>
<header>


        <div class="opacity">
            <div class="logo">
            </div>
        </div>
</header>
    <section>
<nav class="navigation">
<ul class="navigation_list">
    <li class="navigation_list_item">Over ons</li>
    <li class="navigation_list_item">Filosofie</li>
    <li class="navigation_list_item">Prijslijst</li>
    <li class="navigation_list_item">Specialisaties</li>
    <li class="navigation_list_item">Contact</li>
</ul>
</nav>
    </section>

</body>
</html>

我希望有人能帮我解决这个问题。感谢您的努力!

你需要做这样的事情

.navigation
{
    width: 100%;
    margin: auto;
    color: white;
    text-align: center;
    margin-top: -20px;
    margin-right: 25%;
}

.navigation_list
{
    max-width: 700px;
    list-style-type: none;
    padding: 10px;
    background-color: black;
    margin: 0 auto;
    border-radius: 30px;
}

将导航设置为 100% 并将宽度移动到 ul(导航列表)并将边距设置为 0 auto

还有一点要注意,你需要在页面头部添加视口

<meta name="viewport" content="width=device-width, initial-scale=1.0">

为了使您的页面响应,您可以阅读 the view port here

希望这对您有所帮助

对于简单的响应式设计,请尝试以下修改: - 添加此块

section {
    display: flex;
}
  • 删除那些行

    margin-right: 25%; /* two occurences */