89

我已经实现了一个动态显示搜索选项的弹出框。我希望该框“浮动”在所有网站内容之上。目前,当显示该框时,它会取代其下方的所有内容并且看起来很糟糕。

我相信我已经尝试将框的 div 的 z-index 设置为高于其余页面内容的 z-index,但仍然没有运气。

4

6 回答 6

126

你想使用绝对定位

绝对位置元素相对于第一个具有非静态位置的父元素定位。如果没有找到这样的元素,则包含块是 html

例如 :

.yourDiv{
  position:absolute;
  top: 123px;
}

为了让它工作,父母需要是相对的(position:relative

在您的情况下,这应该可以解决问题:

.suggestionsBox{position:absolute; top:40px;}
#specific_locations_add{position:relative;}
于 2010-01-05T13:07:17.313 回答
16

利用

position: absolute;
top: ...px;
left: ...px;

定位 div。确保它没有带有 position: relative; 的父标签。

于 2010-01-05T13:03:46.143 回答
15

z-index:-1闪光和给z-index:100div..

于 2011-01-21T09:13:06.127 回答
2

是的,z-index 越高越好。它将您的内容元素放置在页面上所有其他元素的顶部。假设您对页面上的某些元素具有 z-index。寻找最高的,然后为您的弹出元素提供更高的 z-index。这样,它甚至会流过带有 z-index 的其他元素。如果页面上的任何元素中都没有 z-index,则应给出 z-index:2; 或更高的东西。

于 2011-06-08T14:08:18.843 回答
1

下面的代码正在工作,

<style>
    .PanelFloat {
        position: fixed;
        overflow: hidden;
        z-index: 2400;
        opacity: 0.70;
        right: 30px;
        top: 0px !important;
        -webkit-transition: all 0.5s ease-in-out;
        -moz-transition: all 0.5s ease-in-out;
        -ms-transition: all 0.5s ease-in-out;
        -o-transition: all 0.5s ease-in-out;
        transition: all 0.5s ease-in-out;
    }
</style>

<script>
 //The below script will keep the panel float on normal state
 $(function () {
        $(document).on('scroll', function () {
            //Multiplication value shall be changed based on user window
            $('#MyFloatPanel').css('top', 4 * ($(window).scrollTop() / 5));
        });
    });
 //To make the panel float over a bootstrap model which has z-index: 2300, so i specified custom value as 2400
 $(document).on('click', '.btnSearchView', function () {
      $('#MyFloatPanel').addClass('PanelFloat');
  });

  $(document).on('click', '.btnSearchClose', function () {
      $('#MyFloatPanel').removeClass('PanelFloat');
  });
 </script>

 <div class="col-lg-12 col-md-12">
   <div class="col-lg-8 col-md-8" >
    //My scrollable content is here
   </div>
   //This below panel will float while scrolling the above div content
   <div class="col-lg-4 col-md-4" id="MyFloatPanel">
    <div class="row">
     <div class="panel panel-default">
      <div class="panel-heading">Panel Head </div>
     <div class="panel-body ">//Your panel content</div>
   </div>
  </div>
 </div>
</div>
于 2019-03-16T09:52:36.450 回答
0

结果容器 divposition: relative意味着它仍在文档流中,并将更改其周围元素的布局。您需要使用它position: absolute来实现“浮动”效果。

您还应该检查您正在使用的标记,您有<li>没有 container 的phantom <ul>,您可能可以将div#suggestionsand替换div#autoSuggestionsList为单个<ul>并获得所需的结果。

于 2010-01-05T13:08:04.247 回答