汉堡菜单未正确居中

时间:2015-10-18 22:33:21

标签: html css hamburger-menu

我在纯CSS中创建了一个汉堡菜单,但问题是由于某种原因它以左侧为中心,而不是中间。我真的不明白为什么。

标记:

<section id="header">
    <a href="#menu" class="box-shadow-menu" id="navTrigger">
        <div class="navicon">
        </div>
    </a>
</section>

CSS:

#header {
    width: 100%;
    height: 45px;
    background-color: #4dc1df;
    position: fixed;
    z-index: 100;
}

.navicon {
    position: fixed;
    height: 45px;
    left: 50%;
    margin-left: -17.5px;
}

.box-shadow-menu {
    position: relative;
    display: block;
    height: 45px;
}

.box-shadow-menu:before {
    content: "";
    position: absolute;
    top: 10px;
    width: 35px;
    height: 4px;
    background: white;
    box-shadow: 0 10px 0 0 white, 0 20px 0 0 white;
}

演示:http://jsfiddle.net/jLhnr12p/1/

任何有助于妥善处理中心的帮助将不胜感激!

1 个答案:

答案 0 :(得分:2)

您的代码:

.navicon {
  position: fixed;
  left: 50%;
  right: 50%;
}

你不能这样居中,你可以通过将left属性设置为50%并设置负margin-left(navicon的一半是17.5px)来实现;

.navicon {
  left: 50%;
  margin-left: -17.5px; // or transform: translateX(-50%);
}