关于布局问题及负外边距几点初步认识

  • 几点特征:
    -1.首先是这样设置完全有效(即为有效的css属性)
    -2.符合正常的文档流
    当负外边距设置在没有浮动的的元素上时并不会破坏正常的文档流,所以你使用负外边距将元素向上微调时候,后面的元素也会向上微调。
    -3.负外边距基本被所有现代浏览器兼容(包括IE6的大部分情况)
    -4.使用float属性后,负边距会有不同的表现
关于布局问题及负外边距几点初步认识_第1张图片
负边距模型图.gif
  • 当一个元素(非浮动元素)设置负margin-left或margin-top时,会将元素向上或向左拉。

-当一个元素(非浮动元素)设置负margin-bottom或margin-right时,并不会将元素,并不会向下或向右拉,而是将后面的元素向上或向右拉,从而覆盖住自己的一部分。

在浮动中使用负margin

  • 如果对一个浮动元素使用负边距,它会产生一个空白的空间,其他的元素则能够覆盖住这一部分。
  • 如果负边距和宽度一样大的话,它就会被完全覆盖掉。因为外边距,内边距,边框和内容加起来等于元素的宽度。如果负外边距等于元素的宽度的话,那么该元素的宽度就会变成0px。
    简单测试一下:可见盒子2将盒子1给覆盖掉了

参考文章

常见的几种布局方式

  • 1.单列布局(一栏布局)
  • 2.双列布局
    • 一列固定宽度,另一列宽度只适应;
  • 3.三列布局
    • 两列固定宽度,中间自适应;
  • 4.圣杯布局
    • 是三列布局,两边固定宽度,中间自适应
    • 中间内容元素在 dom 元素次序中优先位置
    • 显著的缺点在于当边栏宽度大于主体部分宽度时,边栏会下移,发生位置错乱
  • 5.双飞翼布局
    • 采用margin改变边距的方式解决了圣杯布局位置错乱的问题

代码部分

1.单栏布局
2.三栏布局
3.圣杯布局
4.双飞翼布局
5.风景列表

你可能感兴趣的:(关于布局问题及负外边距几点初步认识)