将导航栏固定
如果我想讲导航栏固定在页面上方应该怎么弄呢?
我直接给header区加上position:fixed会导致我的居中定位有问题导航栏贴在左上角
html代码
1 2 3 4 5 6 7 8 9 10 11 | < 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代码
1 2 3 4 5 6 7 8 9 10 11 | /*通用模块*/ * { 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回答
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | 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%显示贯穿整个页面。直接设置:
1 2 3 4 5 6 7 8 | header { height : 80px ; background : #2e2e2e ; position : fixed ; /*设置宽度即可*/ width : 100% ; top : 0 ; } |
即可。我们说的这一种方法只是针对没有100%显示想要居中的header的效果设置的
1 2 3 4 5 6 7 8 9 10 | 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积分~
来为老师/同学的回答评分吧