marginleft负值(fixed定位margin负值,如图为啥呢么margin上左要负一半)

本文目录
- fixed定位margin负值,如图为啥呢么margin上左要负一半
- 样式padding-left和margin-left有什么区别
- float之后为什么margin赋值负值不会掉下去,而rigth一个正值却会掉下去
fixed定位margin负值,如图为啥呢么margin上左要负一半
fixed定位是以浏览器窗口进行定位,在你的代码里具体位置是由top和left控制的。
而margin数值里的负值同样会影响元素的位置,具体原因请参考网上关于margin负值的相关资料,例如下图是我找到的:
样式padding-left和margin-left有什么区别
边界margin和补白padding(依据国内出版社的翻译惯例,margin被翻译成边界,padding被翻译成补白,译者依照习惯翻译。但译者认为,margin翻译成外边距,padding翻译成内边距更为直白和形象。你可以依据自己的习惯来适应这两种不同的译法。——译者注)是隔开元素最常用的两个属性。边界是元素外边的距离,而补白则是元素内部的距离。
***隐藏网址***
float之后为什么margin赋值负值不会掉下去,而rigth一个正值却会掉下去
这里涉及到float元素上的负margin到底是什么意思。根据css标准,float元素上的负margin表示把下面的元素向对应方向移动,并且覆盖上一个元素(这里是指html中元素的声明顺序)。
比如上例,body中main写在left上面,它们都是float元素,所以为了使left和main元素处于一行,只能把left元素向左移动100%,即margin-left: -100%,此时的显示效果就是left覆盖在main上面了且位于行首,并且算上margin,占据了整整100%的宽度;然后就是把right放到最右边,此时只需要让他向左移动200px就够了,因为right本身就是200px,所以就是margin-left:-200px
需要注意的是,元素在html中的声明顺序决定了浏览器的渲染顺序,上例中的main left和right的声明顺序对css规则影响很大,其实你上面那个也可以这样写:两个对比一下你会理解的更透彻!
《style》
body {
margin: 0;
padding: 0;
min-width: 600px;
}
.main,
.left,
.right{
float: left;
}
.main {
width: 100%;
/* 把main向左拉200px,并且覆盖于left之上*/
margin-left: -200px;
}
.main_body {
margin: 0 210px;
background: #888;
height: 200px;
}
.left,
.right {
width: 200px;
height: 200px;
background: #F60;
}
.right{
/* 把right向左拉200px,并且覆盖于main之上*/
margin-left: -200px;
}
《/style》
《body》
《!--注意这里顺序调了--》
《div class="left"》Left《/div》
《div class="main"》
《div class="main_body"》Main《/div》
《/div》
《div class="right"》Right《/div》
《/body》

更多文章:
javac不可映射字符(java 编译出现GBK的不可映射字符,为什么会这样,之前一直都没问题的)
2025年10月3日 17:30
justified是什么意思英语(请问:justified for 是什么意思,是固定搭配吗)
2026年7月14日 04:00
security设置(惠普电脑HPClientSecurity如何设置禁止访问1394设备)
2026年7月27日 21:00
大佬们,这个游戏怎么玩啊?你知道上古卷轴为什么一直被叫老滚吗 直到我的膝盖中
2025年5月26日 21:00
关于php的参考文献书籍类(php相关的英文参考文献有哪些高分求解!!)
2025年8月1日 07:15
允许null值什么意思(数据库ssms允许null值为什么是非空的意思)
2026年8月4日 23:30
















