您现在的位置是:网站首页> 编程资料编程资料
CSS 同级元素position:fixed和margin-top共同使用的问题css中子元素设置margin-top为什么影响了父元素margin-top塌陷问题的现象与解决的具体方法margin-top负值解决label 文字与input 垂直居中对齐问题父元素与子元素之间的margin-top问题(css hack)子元素margin-top导致父元素移动的问题解决
2021-09-04
926人已围观
简介 这篇文章主要介绍了CSS 同级元素position:fixed和margin-top共同使用的问题的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
问题描述
想用CSS实现顶部固定的效果:

尝试margin-top加position:fixed实现,代码如下:
Test 123asidemain
结果header没有定位在顶部,而是空出了content的margin-top距离:

按照position:fixed的定义,header已经脱离文档流,应该不会受到content布局影响,但结果并非如此。
问题探究
1.content的margin-top改为padding-top:可实现预期效果。
2.content同时设置margin-top和padding-top:仍会空出margin-top的距离。
3.body设置padding-top:会空出body的padding-top的距离,可实现预期效果。
4.body设置margin-top:会空出max(body->margin-top,content->margin-top)的距离。
5.给header设置top,如top: 0;:不受body和content的布局影响。
TBD:之后补充详细的测试代码和效果图( ̄∇ ̄)...
总结
归根结底是margin-top塌陷问题对position:fixed的影响。首先,对于position:fixed元素,如果不指定top,它在垂直方向上的参考原点是body盒模型的content的上边界。如果指定top,它在垂直方向上的参考原点才是我们常说的视窗(viewport)的上边界,left和水平方向同理。这里的参考原点是指fixed元素布局时的参考对象,一旦确定,即便页面被下拉,body上边界上移,fixed元素位置也不再改变。其次,因为margin-top塌陷问题,设置content的margin-top后,body的content部分会下移,即参考原点下移,所以fixed元素会空出margin-top的距离。
所以,可以从两方面解决这个问题:
1.将参考原点改为视窗:给fixed元素设置top。
2.解决margin-top塌陷问题,更多方法见下方链接:
1)给body设置padding-top。
2)给body设置border,border颜色和背景色一致。
3)给body设置position:fixed,这种会导致body的滚动条消失。
先将就看着呀~忙过这阵来完善(允悲)(允悲)。。。
TBD:content名字和盒模型content重啦待改...
- 不懂position:fixed?=>position|MDN
- 不懂margin-top塌陷?=>margin-top塌陷问题的现象与解决
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
相关内容
- margin-top塌陷问题的现象与解决的具体方法css中子元素设置margin-top为什么影响了父元素CSS 同级元素position:fixed和margin-top共同使用的问题margin-top负值解决label 文字与input 垂直居中对齐问题父元素与子元素之间的margin-top问题(css hack)子元素margin-top导致父元素移动的问题解决
- CSS中overflow-y: visible;不起作用的原因分析及解决方法css 设置overflow:scroll 滚动条的样式 深入理解CSS overflow:hidden——溢出,坍塌,清除浮动css中text-overflow属性与文本截断详解详解CSS中zoom属性或overflow:auto属性清除浮动的作用使用CSS的overflow属性防止float撑开div的方法CSS属性text-overflow的使用问题使用CSS隐藏元素滚动条的示例代码css 给div添加滚动并隐藏滚动条
- 纯css实现立体摆放图片效果的实例代码CSS3实现的3D立体文字时钟效果源码基于CSS3制作立体效果导航菜单CSS3实现的鼠标经过立体翻转切换特效源码CSS实现有立体感的横向按钮式菜单效果代码一款纯css3实现的3D立体翻转导航特效源码基于HTML5+CSS3实现鼠标悬停3D立体式图片效果源码html5+css3实现的会翻动的3D立体图书效果源码
- css实现二维码扫码框的示例代码CSS Transition通过改变Height实现展开收起元素从QQtabBar看css命名规范BEM的详细介绍css实现两栏布局,左侧固定宽,右侧自适应的多种方法CSS 实现Chrome标签栏的技巧CSS实现两列布局的N种方法CSS实现隐藏搜索框功能(动画正反向序列)CSS3中Animation实现简单的手指点击动画的示例详解CSS中的特指度和层叠问题详解overflow:hidden的作用(溢出隐藏、清除浮动、解决外边距塌陷)关于CSS浮动与取消浮动的问题
- CSS绘制三角形的实现代码(border法)利用css绘制三角形的方法及拓展纯CSS绘制三角形箭头图案技术解析Html+CSS绘制三角形图标css绘制透明三角形用CSS3绘制三角形的简单方法纯CSS绘制三角形箭头效果用CSS代码绘制三角形 纯CSS绘制三角形的代码CSS中三角形的绘制与巧妙应用实例详解
- 利用CSS3动画实现圆圈由小变大向外扩散的效果实例CSS3地图动态实例代码(圆圈向外扩散)HTML5结合CSS3实现的光感圆圈动画特效源码jquery+css3动态圆圈运动背景特效代码jQuery+css3实现漂亮的以圆圈方式显示的彩色时钟效果CSS实现圆形放大镜狙击镜效果 只有圆圈里的放大
- 使用CSS实现无滚动条滚动的两种方法CSS Transition通过改变Height实现展开收起元素从QQtabBar看css命名规范BEM的详细介绍css实现两栏布局,左侧固定宽,右侧自适应的多种方法CSS 实现Chrome标签栏的技巧CSS实现两列布局的N种方法CSS实现隐藏搜索框功能(动画正反向序列)CSS3中Animation实现简单的手指点击动画的示例详解CSS中的特指度和层叠问题详解overflow:hidden的作用(溢出隐藏、清除浮动、解决外边距塌陷)关于CSS浮动与取消浮动的问题
- rem布局原理解析css基于媒体查询和 rem 的响应式布局实践详解html5页面 rem 布局适配方法移动端rem布局的两种实现方法详解H5 活动页之移动端 REM 布局适配方法浅谈移动端的自适应布局问题(响应式、rem/em、Js动态)使用CSS3的rem属性制作响应式页面布局的要点解析
- css将两个元素水平对齐的方法(兼容IE8)CSS水平对齐示例介绍CSS教程:水平对齐(text-align)-CSS教程-网页制作-网页教学网
- 实现CSS圆环的5种方法(小结)css制作收缩圆环旋转效果实例代码css3 clip实现圆环进度条的示例代码图解CSS3制作圆环形进度条的实例教程CSS实现圆环旋转加载动画
