将导航栏固定
如果我想讲导航栏固定在页面上方应该怎么弄呢?
我直接给header区加上position:fixed会导致我的居中定位有问题导航栏贴在左上角
html代码
<header> <div class="container"> <a href="next.html"><img src="logo.jpg"></a> <nav> <a href="#">HOME</a> <a href="#">PORTFOLIO</a> <a href="#">TEAM</a> <a href="#">CONTACT OS</a> </nav> </div> </header>
css代码
/*通用模块*/ * {font-family: Microsoft YaHei UI;font-size: 14px;margin: 0;padding: 0;border: none;} a {text-decoration: none;} /*导航栏区域*/ header {height: 80px;background: #2e2e2e;position:fixed;} header {box-shadow: 0px 3px 3px 0px #808080;} header > .container {width: 1200px;margin: 0 auto;} header > .container > a {display: block;float: left;margin: 20px 25px;} header > .container > nav {float: right;} header > .container > nav > a {line-height: 80px;color: #fff;height: 80px;width: 125px;float: left;text-align: center;} header > .container > nav > a:hover {background: #78b917;}
13
收起
正在回答
2回答
header { height: 80px; background: #2e2e2e; position: fixed; /*position: fixed;会脱离文档流,因此需要设置位移量*/ top:0; left:50%; /*设置50%以后,这50%+container自身的宽度>居中的宽度,因此还需要减去container自身宽度的一半*/ margin-left:-600px; } header { box-shadow: 0px 3px 3px 0px #808080; }
原理写在注释里面了,建议参注释和代码进行理解,祝学习愉快!
卡布琦诺
2017-09-29 15:14:06
如果你想让header的宽度100%显示贯穿整个页面。直接设置:
header { height: 80px; background: #2e2e2e; position: fixed; /*设置宽度即可*/ width:100%; top:0; }
即可。我们说的这一种方法只是针对没有100%显示想要居中的header的效果设置的
header { height: 80px; background: #2e2e2e; position: fixed; /*position: fixed;会脱离文档流,因此需要设置位移量*/ top: 0; left: 50%; /*设置50%以后,这50%+container自身的宽度>居中的宽度,因此还需要减去container自身宽度的一半*/ margin-left: -600px; }
希望可以帮到你~
HTML5与CSS3实现动态网页 2018
- 参与学习 1887 人
- 提交作业 4643 份
- 解答问题 5760 个
有HTML和CSS基础,却不知道如何进阶?本路径带你通过系统学习,完成从“会做网页”到“做出好的动态网页”的蜕变,迈出成为前端工程师的第一步。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星