代码之家  ›  专栏  ›  技术社区  ›  user48202

CSS相对定位问题,调整后的覆盖仍占据原始图像位置-CSS

  •  1
  • user48202  · 技术社区  · 15 年前

    我试图最终做一个覆盖图像鼠标器,而不是创建两倍的图像加载,我有一个蒙面覆盖图像为所有9个图像。

    我将使用“visibility:(hidden or visible)”在鼠标上方显示图像。

    我遇到的问题是,当“锁定”图像调整到原始图像的顶部后,它仍然影响着我的间距,好像它从未移动过一样。

    例子如下: http://www.pixology.net/ciy/

    代码:

    <div id="main">&nbsp;<br /><br />
    <table width="700" height="700" border="0" align="center" cellpadding="10" cellspacing="2">
      <tr>
        <td><img src="images/main1.png" alt="One" width="214" height="214" /><img src="images/lock.png" alt="lock" class="lockon"/></td>
        <td><img src="images/main2.png" alt="Two" width="214" height="214" /><img src="images/lock.png" alt="lock" class="lockon"/></td>
        <td><img src="images/main3.png" alt="Three" width="214" height="214" /></td>
      </tr>
      <tr>
        <td><img src="images/main4.png" alt="Four" width="214" height="214" /></td>
        <td><img src="images/main5.png" alt="Five" width="214" height="214" /></td>
        <td><img src="images/main6.png" alt="Six" width="214" height="214" /></td>
      </tr>
      <tr>
        <td><img src="images/main7.png" alt="Seven" width="214" height="214" /></td>
        <td><img src="images/main8.png" alt="Eight" width="214" height="214" /></td>
        <td><img src="images/main9.png" alt="Nine" width="214" height="214" /></td>
      </tr>
    </table>
    
    </div>
    

    CSS:

    #main {
        height:800px;
        width:800px;
        margin: 0px auto;
        background-color:#CCCCCC;
        }
    
    #main .lockon {
        position:relative; 
        top:-214px; 
        visibility:visible;
        }
    #main .lockoff {
        position:relative; 
        top:-214px; 
        visibility:hidden;
        }
    
    1 回复  |  直到 15 年前
        1
  •  1
  •   prodigitalson    15 年前

    我现在的问题是 “锁定”图像被调整为打开 在原始图像的顶部,它仍然是 影响我的间隔好像是 从未动过。

    这本质上就是相对位置的工作原理——它在“流动”中保留空间。如果您不想保留空间,请使用绝对定位-或使用否定的 margin-top . 除此之外,使用 display: hidden 只是隐藏元素-而不是它在 display: none 就布局而言,将使元素完全不在DOM中。

    为了将绝对定位原点附加到contianer元素上,需要制作容器 position: relative 在这种情况下,容器是您的 td . 但我不知道这是怎么回事,所以你可能想把这两个图像放在一个 div TD . 但如果你这样做,我只会将样式应用到 div 把你的图像变成背景图像 div 使用类/ID组合切换。