I've implemented a popup box that dynamically displays search options. I want the box to "float" above all of the site content. Currently, when the box is displayed it displaces all of the content below it and looks bad. You can see an example at http://www.employeratlas.com/advancedsearch by clicking the "Add Specific Locations" option. I would suggest typing in "new york" for a good example. I believe I've already tried setting the z-index of the box's div to above that of the remaining page content, but still no luck. Thanks.
Use
position: absolute;
top: ...px;
left: ...px;
To position the div. Make sure it doesn't have a parent tag with position: relative;
You want to use absolute positioning.
An absolute position element is positioned relative to the first parent element that has a position other than static. If no such element is found, the containing block is html
For instance :
.yourDiv{
position:absolute;
top: 123px;
}
To get it to work, the parent needs to be relative (position:relative
)
In your case this should do the trick:
.suggestionsBox{position:absolute; top:40px;}
#specific_locations_add{position:relative;}
The results container div has position: relative
meaning it is still in the document flow and will change the layout of elements around it. You need to use position: absolute
to achieve a 'floating' effect.
You should also check the markup you're using, you have phantom <li>
s with no container <ul>
, you could probably replace both the div#suggestions
and div#autoSuggestionsList
with a single <ul>
and get the desired result.