【问题标题】:CSS drop down divCSS 下拉 div
【发布时间】:2025-12-30 20:10:06
【问题描述】:

我的页面上有一个 div 框和一个链接。我编写了简单的 javascript,在开始时隐藏 div 框,然后单击链接后,该框再次出现。

问题是,当 div 出现时,它会将下面的内容下推。我希望它只出现在它们“上方”。就像一个下拉菜单,但这只是一个 div 标签。

这是我的标记:

  <div class="slide-heading">
<div class="slide-laws">
 <a href="#" class="toggle-slide-laws accessible-link"><img src="/images/paragraph.jpg" alt="paragraph"></a>
                <!-- THE LINK TOGGLES THE DIV BELLOW -->
 <div>
  <a href="/clientarea/utils/law/id/2832" rel="external-new-window" style="color: #ba8800;"><strong>124/2006 - O bezpečnosti a ochrane zdravia pri práci a o zmene a doplnení niektorých zákonov</strong></a><br />
  <a href="/clientarea/utils/law/id/2832/p/2/a/1" rel="external-new-window">§2, odsek 1</a><br />
  <a href="/clientarea/utils/law/id/2832/p/2/a/2" rel="external-new-window">§2, odsek 2</a><br />

  <a href="/clientarea/utils/law/id/2832/p/5/a/2" rel="external-new-window">§5, odsek 2</a><br />
 </div>
</div>
<h3>Kapitola 1</h3>
<p>Slide A</p>
<div class="clear">&nbsp;</div>
  </div>
            <p>I DON'T WANT THIS PARAGRAPH TO BE PUSHED DOWN WHEN THE BOX APPEARS.</p> 

此链接切换下面的 div:

<a href="#" class="toggle-slide-laws accessible-link"><img src="/images/paragraph.jpg" alt="paragraph"></a>

当您单击链接时,该框会出现或消失。

我目前的风格:

#content div.slide-laws {
 float: right;
 width: 30em;
 line-height: 1.3em;
 font-size: .9em;
}
#content div.slide-laws a.toggle-slide-laws {
 float: right;
}
#content div.slide-laws div {
 text-align: left;
 float: left;
 margin-bottom: 4px;
}

【问题讨论】:

    标签: html css


    【解决方案1】:

    @AvatarKava 这将为 a 元素设置样式。我认为

    #content div.slide-laws div
    {
        z-index: 9999;
        position: absolute;
        top: 0px;
        right: 0px;
    }
    

    会成功的。

    【讨论】:

    • 哎呀,最后错过了最后一个参考:D 支持你的并编辑我的
    【解决方案2】:

    我会说出现的 DIV 需要绝对或相对位置和高 z-index

    【讨论】:

      【解决方案3】:

      好的,我自己解决了这个问题。这些样式有效(在 FF 和 IE 中测试):

      #content div.slide-laws {
          float: right;
          width: 30em;
          line-height: 1.3em;
          font-size: .9em;
      }
      #content div.slide-laws a.toggle-slide-laws {
          float: right;
      }
      #content div.slide-laws div {
          text-align: left;
          float: left;
          z-index: 99999;
          position: absolute;
          top: 4em;
          right: 0;
          background: #eee;
          border: 1px solid #ccc;
          padding: 1em;
      }
      

      【讨论】:

      • 一件小事:你不需要浮动绝对定位的元素。
      【解决方案4】:

      内容 div.slide-laws {

      float: right;
      width: 30em;
      line-height: 1.3em;
      font-size: .9em;
      

      }

      内容 div.slide-laws a.toggle-slide-laws {

      float: right;
      

      }

      内容 div.slide-laws div {

      text-align: left;
      float: left;
      z-index: 99999;
      position: absolute;
      top: 4em;
      right: 0;
      background: #eee;
      border: 1px solid #ccc;
      padding: 1em;
      

      }

      【讨论】:

      • 这只是 Richard Knop 答案的副本。
      • 停止窃取答案以获得声誉积分。每个人都对这个人投了反对票。