html - 子菜单的下拉菜单位置

标签 html css drop-down-menu

我试图创建一个简单的下拉菜单,但我不明白... 我现在看了一些教程,子菜单的位置很糟糕。我想要一个“正常”的下拉菜单,没什么特别的。问题可能是绝对位置,但在教程中他也使用了它。下拉菜单位于第二点 (Produkte)。这是我的页面:Page和代码:

*{
    padding: 0px;
    margin: 0px;
    font-family: Raleway;
    line-height: 20px;
	color: #003399;
}

body{
    background-image: url(images/hintergrund.png);
}

section{
    margin-top: 50px;
    width: 1100px;
    background: white;
    border: 2px solid black;
	box-shadow: 8px 8px 10px 0px rgba(0,0,0,0.75);
    
    margin-left: auto;
    margin-right: auto;
    padding: 20px;
    background-color: #fcb774;
}

article{
    width: 100%;
}

article:after{
   content: '';
   display: block;
   clear: both;
}

.bild{
    height: 200px;
    width: 200px;
    float: left;
    border: 2px solid black;
	box-shadow: 8px 8px 10px 0px rgba(0,0,0,0.75);
    overflow: hidden;
}

.bild:hover{
    cursor:pointer;
}

.text{
    float: right;
    width: 860px;
    word-wrap: break-word;
    height: 200px;
    border: 2px solid black;
	box-shadow: 8px 8px 10px 0px rgba(0,0,0,0.75);
    background-color: white;
}

hr{
    margin-top: 50px;
    margin-bottom: 50px;
    border: 1px solid black;
}

nav{
    width: 100%;
}

nav ul{
    background-color: #fcb774;
    margin: 0px;
    padding: 0px;
    text-align: center;
	font-size: 0;
	border-bottom: 2px solid black;
	box-shadow: 8px 8px 10px 0px rgba(0,0,0,0.75);
}

nav ul li{
    display: inline-block;
	font-size: 16px;
}

nav ul li a{
    display: block;
    padding: 10px 20px 10px 20px;
    transition: all 0.5s;
    text-decoration: none;
}

nav ul li a:hover{
    background-color: white;
    text-decoration: underline;
}

.dropdown{
    display:none;
    position: absolute;
    top: 30px;
    left: 0;
    width: 100px;
}

nav ul li:hover .dropdown{
    display: block;
}
<html>
    <head>
        <title>Homepage</title>
        <link rel="stylesheet" href="index.css">
        <link href='http://fonts.googleapis.com/css?family=Raleway:600' rel='stylesheet' type='text/css'>
        
        
        <!-- include jQuery library -->
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
        <!-- include Cycle plugin -->
        <script type="text/javascript" src="http://malsup.github.com/jquery.cycle.all.js"></script>

        <script type="text/javascript">
            $(document).ready(function() {
                $('.slide1').cycle({
                    fx: 'fade',
                    next: '.slide1',
                    timeout: 0
                });
            })
		
			$(document).ready(function() {
                $('.slide2').cycle({
                    fx: 'fade',
                    next: '.slide2',
                    timeout: 0
                });
            });
            
            $(document).ready(function() {
                $('.slide3').cycle({
                    fx: 'fade',
                    next: '.slide3',
                    timeout: 0
                });
            });
        </script>            
    </head>
    <body>
        
        <nav>
            <ul>
                <li><a href="#">Startseite</a></li>
                <li><a href="#">Produkte</a>
                    <ul class="dropdown">
                        <li><a>T-Shirts</a></li>
                        <li><a>Ansteckbuttons</a></li>
                        <li><a>SexToys</a></li>
                    </ul>
                </li>
                <li><a href="#">Kontakt</a></li>
            </ul>
        </nav>
        
        <section>
            <article>
                <div class="bild slide1">
					<img src="images/tshirt1.png" width="200" height="200" />
					<img src="images/tshirt2.png" width="200" height="200" />
                </div>
                <div class="text">
					<h1>T-Shirts</h1>
                </div>
            </article>
            
            <hr>
            
            <article>
                <div class="bild slide2">
					<img src="images/tshirt3.png" width="200" height="200" />
					<img src="images/tshirt4.png" width="200" height="200" />
                </div>
                <div class="text">
					<h1>T-Shirts</h1>
                </div>
            </article>
            
            <hr>
            
            <article>
                <div class="bild slide3">
					<img src="images/tshirt3.png" width="200" height="200" />
					<img src="images/tshirt4.png" width="200" height="200" />
                </div>
                <div class="text">
					<h1>T-Shirts</h1>
                </div>
            </article>
            
        </section>
    </body>
</html>

最佳答案

使用 position: absolute 将元素从文档流中移除,并自然地成为相对于文档的元素。您需要使用 position: relative 将子菜单包含在其父项中。像这样将其添加到您的父 li 中:

nav ul li {
   display: inline-block;
   font-size: 16px;
   position: relative; //add
}

FIDDLE

关于html - 子菜单的下拉菜单位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27909170/

相关文章:

javascript添加onclick不成功

php - 上传图片,没用

javascript - Angular Material css 不适用于 Slider

javascript - 动态生成的 “floating divs” 宽度均匀但高度不均匀,对齐问题

html - 下拉菜单中无法获得的元素ie8

css - 带有选择的 float DIV 在布局中创建空列,为什么?

javascript - 如何使用 javascript 显示隐藏的表格行?

javascript - 工具提示有时会保留在滑动 div 内元素的页面上

html - 导航栏未显示所有标题

html - CSS 选择器选择 n 个元素后的第一个元素