gpt4 book ai didi

CSS下拉菜单将页面内容向下推

转载 作者:技术小花猫 更新时间:2023-10-29 12:00:00 26 4
gpt4 key购买 nike

这可能(希望如此)是一个非常简单的问题,但我似乎无法让它发挥作用,所以我会求助于这里的专家。我正在使用一个非常简单的 CSS 下拉菜单,只涉及一点 JQuery。问题是,当我将鼠标悬停在下拉菜单上并打开时,它会将页面上的所有内容向下推到其下方,而不是在其上方打开。我试过弄乱 z-index 但这似乎不是问题所在。任何提示都会很棒,提前致谢。

这是 HTML;抱歉,它不是非常漂亮,我不得不撕掉一堆东西以使其简单和通用。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<HTML style="zoom: 100%; ">
<HEAD>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js" type="text/javascript"></script>
</HEAD>
<BODY class="bodyclass" style="background:#BCE2F1; height: 100%;">

<DIV id="maincontainer" style="min-height: 100%;">
<STYLE type="text/css">
#cssdropdown, #cssdropdown ul { font-size: 9pt; background-color: black; list-style: none; }
#cssdropdown, #cssdropdown * { padding: 0; margin: 0; }
#cssdropdown li.headlink { width: 140px; float: left; margin-left: -1px; border: 1px black solid;
background-color: white; text-align: center; }
#cssdropdown li.headlink a { display: block; color: #339804; padding: 3px; text-decoration: none; }
#cssdropdown li.headlink a:hover { background-color: #F8E0AC; font-weight: bold; }
#cssdropdown li.headlink ul { display: none; border-top: 1px black solid; text-align: left; }
#cssdropdown li.headlink:hover ul { display: block; text-decoration: none; }
#cssdropdown li.headlink ul li a { padding: 5px; height: 15px; }
#cssdropdown li.headlink ul li a:hover { background-color: #CCE9F5; text-decoration: none; font-weight: normal; }
/* #cssdropdown a { color: #CCE9F5; } */
#cssdropdown ul li a:hover { text-decoration: none; }
#cssdropdown li.headlink { background-color: white; }
#cssdropdown li.headlink ul { background-color: white; background-position: bottom; padding-bottom: 2px; }
</STYLE>
<SCRIPT language="JavaScript">
$(document).ready(function(){
$('#cssdropdown li.headlink').hover(
function() { $('ul', this).css('display', 'block'); },
function() { $('ul', this).css('display', 'none'); });
});
</SCRIPT>

<DIV class="navigation_box" style="border: none;">
<DIV class="innercontent">
<DIV style="background: white; float: left; padding: 5px; border: solid 1px black;">
LOGO
</DIV>
<DIV class="navmenu" style="float: right; bottom: 0; font-size: 9pt; text-align: right;">
<SPAN>Logged in as user@example.com</SPAN><BR>
<UL id="cssdropdown">
<LI class="headlink">
<A href="http://localhost:3000/one">One</A>

<UL style="display: none; ">
<LI><A href="http://localhost:3000/one">Option One</A></LI>
<LI><A href="http://localhost:3000/one">Option Two</A></LI>
<LI><A href="http://localhost:3000/one">Option Three</A></LI>
<LI><A href="http://localhost:3000/one">Option Four</A></LI>
</UL>
</LI>
<LI class="headlink">
<A href="http://localhost:3000/two">Two</A>

<UL style="display: none; ">
<LI><A href="http://localhost:3000/two">Option Two-One</A></LI>
<LI><A href="http://localhost:3000/two">Option Two-Two</A></LI>
<LI><A href="http://localhost:3000/two">Option Two-Three</A></LI>
</UL>
</LI>
<LI class="headlink" style="width: 80px;">
<A href="http://localhost:3000/three">Three</A>
</LI>
<LI class="headlink" style="width: 300px; padding-top: 2px; height: 19px;">
<FORM action="http://localhost:3000/search" method="post">
<P>
Search:
<INPUT id="searchwords" name="searchwords" size="20" type="text" value="">
<INPUT name="commit" type="submit" value="Find">
</P>
</FORM>
</LI>
<LI class="headlink" style="width: 60px;">
<A href="http://localhost:3000/four">Four</A>
</LI>
<LI class="headlink" style="width: 60px;">
<A href="http://localhost:3000/logout">Logout</A>
</LI>
</UL>
</DIV>
</DIV>
</DIV>
<DIV id="contentwrapper" style="clear:both">
<DIV class="innercontent" style="margin: 0px 20px 20px 20px;">
<H1>Some test content here to fill things out a little bit.</H1>
</DIV>
</DIV>
</DIV>
<DIV id="footer" style="clear: both; float: bottom;">
<DIV class="innercontent" style="font-size: 10px;">
Copyright 2008-2010
</DIV>
</DIV>
</BODY>

最佳答案

这是一个非常糟糕的情况,不需要 Javascript 来完成可以通过 CSS 本身完成的事情。不管怎样,你所要做的就是改变:

#cssdropdown li.headlink ul { display: none; border-top: 1px black solid; text-align: left;}

到:

#cssdropdown li.headlink ul { display: none; border-top: 1px black solid; text-align: left;position:absolute;}

这是一个极其简单干净的下拉菜单示例。希望它能帮助你一点。我添加了很多注释来帮助您了解 CSS 对 HTML 做了什么。

    <style type="text/css">

/* Get ride of default margin's and padding */
ul, li {
margin: 0;
padding: 0;
}

/* Display parent unordered list items horizontally */
ul li {
float: left;
list-style: none; /* Get rid of default Browser styling */
margin-right: 10px; /* Add some space between items */
}

/* Hide inset unordered Lists */
ul li ul {
display: none;
}

/* Un-Hide inset unordered Lists when parent <li> is hovered over */
ul li:hover ul {
display: block;
position: absolute;
}

/* Clear the any element that may be "float: left;" (Essentially moves the item to the next line */
ul li:hover ul li {
clear: left;
}

</style>
<ul>
<li>
<a href="#" title="">Link 1</a>
<ul>
<li><a href="#" title="">Link 1.1</a></li>
<li><a href="#" title="">Link 1.2</a></li>
<li><a href="#" title="">Link 1.3</a></li>
<li><a href="#" title="">Link 1.4</a></li>
<li><a href="#" title="">Link 1.5</a></li>
<li><a href="#" title="">Link 1.6</a></li>
</ul>
</li>
<li>
<a href="#" title="">Link 2</a>
<ul>
<li><a href="#" title="">Link 2.1</a></li>
<li><a href="#" title="">Link 2.2</a></li>
<li><a href="#" title="">Link 2.3</a></li>
<li><a href="#" title="">Link 2.4</a></li>
<li><a href="#" title="">Link 2.5</a></li>
<li><a href="#" title="">Link 2.6</a></li>
</ul>
</li>
<li>
<a href="#" title="">Link 3</a>
<ul>
<li><a href="#" title="">Link 3.1</a></li>
<li><a href="#" title="">Link 3.2</a></li>
<li><a href="#" title="">Link 3.3</a></li>
<li><a href="#" title="">Link 3.4</a></li>
<li><a href="#" title="">Link 3.5</a></li>
<li><a href="#" title="">Link 3.6</a></li>
</ul>
</li>
</ul>

关于CSS下拉菜单将页面内容向下推,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2678663/

26 4 0