解决div层叠时的空间问题和白边或者黑边以及浮动定位问题

Posted 勇敢*牛牛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决div层叠时的空间问题和白边或者黑边以及浮动定位问题相关的知识,希望对你有一定的参考价值。

解决div盒子重叠时的空间问题,重叠覆盖现象

可能你遇到过上下结构的布局,下面DIV内容重叠上面DIV内容上,盒子位置与自己预定的位置不一致,那么如何来解决这个问题呢???

  • 如果当前盒子受到不明的盒子的干扰,或者是盒子div不换行相互重叠,十有八九是因为受到的float浮动的影响,要是前面用的多了,或者受到了float的影响那么,就用 clear: both; 属性给清除掉这个影响。
  • z-index: -1; 我的导航栏是固定的吧(固定在顶部),导航栏后面是不是就是主题main部分了,那我滑动的时候是怎么样的呀,是不是下面的面部分应该层叠显示在导航栏下一层呀,那你想,这个电脑屏幕是有X,Y的平面,那么也有空间上的Z轴呀,那这个**z-index: -1;**属性就是将页面下移一个层级,因为相同元素的显示层级是默认值0;


亚黑色背景的nav导航栏和红色框都是两个div盒子,那么导航栏是固定的,红色黑子里面的内容移动时是需要在导航栏的后面,那么你该修饰什么?

  • 是不是这个盒子层叠性的优先级呀!

没写z-index: -1;之前是:

与我原来的设计意图不符
写z-index: -1;之后是:

这样以来就解决了这个问题!!!!

  • 还有一些页面出现白边,咋样也占不满全屏,那是因为你的body内标签内有默认的margin: ; 属性,解决办法是重新定义全局内,外边距
*{
    margin: 0 0;
    padding: 0 0;
}
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>解决问题</title>
    <style>
        * {
            margin: 0 0;
            padding: 0 0;
        }

        .a {
            width: 100%;
            height: 40px;
            border: 2px solid red;
            background-color: tan;
        }
    </style>
</head>

<body>
    <div class="a">

    </div>
</body>

</html>

  • 因为浮动而产生的的与效果不符的盒子布局

目的效果:

最终显示:
解决办法:
1、确定内容多少的话->直接给“.a”设置高度即可;

2、不确定内容多少的话->清除浮动;
-------在“.a”盒子闭合前加clear样式清除浮动。



设置两个盒子css命名分别为“.aa”和“.bb”;
aa设置float:left、背景为白色、高度设置50px、边框为黑色;
bb没有设置浮动、背景颜色为灰色、高度为80px、边框为红色;

2、实例效果:

目的效果:aa和bb布局是左右并列结构,aa在左,bb在右;

实际效果:在浏览器中看到效果是“.aa”对应DIV盒子浮动覆盖在“.bb”对应DIV盒子之上,但内容没有覆盖;

原因分析:“.aa”对应DIV盒子使用了浮动,而同级“.bb”对应DIV盒子没有使用浮动;一个浮动,一个不浮动导致两个DIV不是在同个“平面”上,但内容不会照成覆盖现象,只有DIV形成覆盖现象。

4、解决方案

    要么都不使用浮动;

    要么都使用float浮动;

    要么对没有使用float浮动的DIV设置margin样式。

以上是关于解决div层叠时的空间问题和白边或者黑边以及浮动定位问题的主要内容,如果未能解决你的问题,请参考以下文章

div绝对定位与相对定位以及float属性?

使用Global Mapper14--去除tif影像黑边/白边

[APIO2008]

bzoj3624

[国家集训队2]Tree I

浮动和渐变色,定位position,元素的层叠顺序