css - 菜单不会居中

标签 css html

我试图让我的菜单/导航栏水平居中。我不太清楚我做错了什么/忘记了什么。在我的最后一个 li 之后也是正确的填充。如何删除它?

HTML

<div class="wrapper">
   <div class="header"></div>
   <div class="Header"></div>
   <ul class="menu">
     <li>Home</li>
     <li>Over mij</li>
     <li>Mijn diensten</li>
     <li>Contact</li>
   </ul>
</div>

CSS

.wrapper {
  width: 100%;
}

.menudiv {
  width: 80%;
  border: 1px red solid;
  margin: auto;
}

.menu {
  text-align: center;
  border: 1px red solid;
  position: relative;
  display:inline-block;         
  transform: translateX(-50%);
  left: 50%;
  color: black;
  padding-left: 20%;
  padding-right: 18%;
  min-width: 80%;
  max-width: 80%;       
}

.menu li {
  float: left;
  display: block;
  padding-right: 5%;
}

.menu li:after {
  content: '/';
  padding-left: 20px;
}

https://jsfiddle.net/sdzLn5hd/

最佳答案

那么,首先,您确定您的 HTML 代码应该是这样的吗?

<div class="Header">
</div>  
<ul class="menu">
   <li>Home </li>
   <li>Over mij </li>
   <li>Mijn diensten </li>
   <li>Contact </li>
</ul>  

代替:

<div class="Header">
    <ul class="menu">
       <li>Home </li>
       <li>Over mij </li>
       <li>Mijn diensten </li>
       <li>Contact </li>
    </ul>  
</div>  

我建议您先检查一下。

其次,您的菜单 居中(菜单项不是。也许这就是您的意思)。只需看一下您的 CSS 并向其添加 background-color 就可以一目了然。

.wrapper {

    width: 100%;

}

.menudiv {

    width: 80%;

    border: 1px red solid;

    margin: auto;

}

.menu {


    border: 1px red solid;

    padding: 55px 0;

    position: relative;

    display:inline-block;

    transform: translateX(-50%);

    left: 50%;

    color: black;

    width: 80%;

}

.menu li {

    float: left;

    display: block;

    padding-right: 5%;

}

.menu li:after {

    content:'/';

    padding-left: 20px;

}

div.wrapper {
    
    background-color: orange;
}
  
        <title>Webdesign Maarten</title>
        
    
    
    <body>
        <div class="wrapper">
            <div class="header">
                <!-- hier image te zetten JQuery prefereerbaar Sliding !-->
            </div>
            <div class="Header">
                <!-- menu float left indent met icoon gecentreerd opzicht v wrap. no list style -->
            </div>
            <ul class="menu">
                <li>Home</li>
                <li>Over mij</li>
                <li>Mijn diensten</li>
                <li>Contact</li>
            </ul>
        </div>
    </body>

</html>

现在,关于解决方案,我不确定您到底在寻找什么,但我可以向您推荐两种可能的解决方案。

解决方案一:

修改.menu li类如下:

.menu li {
    display: block;
    text-align: center;
}

请看下面:

.wrapper {
    width: 100%;
}
.menudiv {
    width: 80%;
    border: 1px red solid;
    margin: auto;
}
.menu {
    border: 1px red solid;
    padding: 55px 0;
    position: relative;
    display:inline-block;
    transform: translateX(-50%);
    left: 50%;
    color: black;
    width: 80%;
}
.menu li {
    display: block;
    text-align: center;
}
.menu li:after {
    content:'/';
    padding-left: 20px;
}
<title>Webdesign Maarten</title>
<body>
    <div class="wrapper">
        <div class="header">
            <!-- hier image te zetten JQuery prefereerbaar Sliding !-->
        </div>
        <div class="Header">
            <!-- menu float left indent met icoon gecentreerd opzicht v wrap. no list style -->
            <ul class="menu">
                <li>Home</li>
                <li>Over mij</li>
                <li>Mijn diensten</li>
                <li>Contact</li>
            </ul>
        </div>
    </div>
</body>

</html>

解决方案 2:

修改.menu.menu li类如下:

.menu {
        border: 1px red solid;
        padding: 55px 0;
        position: relative;
        display:inline-block;
        transform: translateX(-50%);
        left: 50%;
        color: black;
        width: 80%;
        text-align: center;   /*Add this property*/
    }

.menu li {
        display: block;
        text-align: center;
    }

请看下面:

.wrapper {
    width: 100%;
}
.menudiv {
    width: 80%;
    border: 1px red solid;
    margin: auto;
}
.menu {
    border: 1px red solid;
    padding: 55px 0;
    position: relative;
    display:inline-block;
    transform: translateX(-50%);
    left: 50%;
    color: black;
    width: 80%;
    text-align: center;
}
.menu li {
    display: inline-block;
    text-align: center;
}
.menu li:after {
    content:'/';
    padding-left: 20px;
}
<title>Webdesign Maarten</title>
<body>
    <div class="wrapper">
        <div class="header">
            <!-- hier image te zetten JQuery prefereerbaar Sliding !-->
        </div>
        <div class="Header">
            <!-- menu float left indent met icoon gecentreerd opzicht v wrap. no list style -->
            <ul class="menu">
                <li>Home</li>
                <li>Over mij</li>
                <li>Mijn diensten</li>
                <li>Contact</li>
            </ul>
        </div>
    </div>
</body>

</html>

关于css - 菜单不会居中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33369698/

相关文章:

css - Symfony2 - FormBuilder - 添加一个类到字段和输入

php - 类似于 php 中的 facebook 的新闻行情

javascript - jQuery:没有动画的 slideDown 令人不快地即时

javascript - 鼠标悬停时的 Css 从图像变为文本

javascript - 如何在登录验证中自定义验证消息位置?

javascript - 查看在 javascript 中单击了哪个元素?

c# - 从 .aspx 页面提供 CSS 在兼容性 View 中不适用于 Internet Explorer 8

html - 右对齐输入类型文件上传 HTML 中的文本

asp.net - Gridview 分页的CSS

css - HTML 5,类的使用