css 固定定位造成两个DIV重叠,如何清理?

2024年11月23日 02:35
有5个网友回答
网友(1):

重叠在一起需要改变默认的布局方式,将其中一个显示在上层需要设置深度顺序,这两点分别用如下样式完成

position: absolute; /*设置为绝对定位*/
z-index:999;        /*设置重叠的上下次序,值越大月在上方*/

示例如下

  1. 创建Html元素


    我是绝对定位,并且重叠在上方

我是默认定位

  • 设置css样式

    div.top{margin:50px;padding:20px;width:200px;height:200px;border:2px dashed #ebbcbe;}
    div.top div{width:100px;height:100px;padding:10px;color:white;}
    div.a{background:red;}
    div.b{background:green;position:absolute;top:100px;left:100px;z-index:999;}
  • 观察显示效果

  • 网友(2):

    按照你的表述,应该是使用了position,
    你这个是页脚的层级不够。由于你没贴代码
    我只能从哪些方面着手说起

    找到你的固定层,既然使用了absolute,那么应该有个相对定位与他想对应。绝对定位是脱离页面的,所以会造成后面的元素被遮挡。然它的父层,relative,相对定位是没有脱离的,也就是说,你需要把页脚代码放在定义了相对定位的层后面,没有定义,那就去定义。

    再有那就等重层级上下文章了,z-index数值越大显示越考上,一般和绝对定位同时使用,但是IE6,需要对它的父级相对定位定义。

    说了这些可能还不能帮助到你,毕竟没代码没真相。只能说说常规

    网友(3):

    首先要知道为什么会重叠,原因不外乎几个:
    1.2个div是父子级嵌套(布局问题)
    2.定位(position)
    3.用了浮动(float),却没清除浮动,但是这种造成的可能性比较小,这个主要是造成父级标签脱离文档流而造成布局错乱。
    根据以上的几种可能性,分析自己的代码,是HTML布局出问题呢,还是CSS得定位(position)用错了。

    网友(4):

    你可以贴出你的大概代码。
    不过我猜应该用浮动就能解决吧
    2个层都定一个float:left; 样式

    不行的话你再追问

    网友(5):

    查看display:的值,看看是否是block ,不是的话 改成 block ,如果是的话,查看margin值,或者left ,top值,尝试更改。

    相关问答
    最新问答