我在纯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/。
任何有助于妥善处理中心的帮助将不胜感激!
答案 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%);
}