首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将绝对定位的元素与父级的父级对齐

如何将绝对定位的元素与父级的父级对齐
EN

Stack Overflow用户
提问于 2017-10-07 21:11:10
回答 3查看 41关注 0票数 0

我有以下导航场景:

导航栏是红色的,上面有一个导航li。蓝色区域是导航按钮的下拉菜单。下拉菜单是绝对定位的,因此与li元素的左边缘对齐。我想要的是下拉列表绝对定位,但在导航栏(红色容器)的左边缘对齐。

我已经尝试过left: 0,但由于某些原因,它在我的场景中不起作用。有没有其他方法可以让它与.navigation-bar对齐

它现在看起来是什么样子

它需要看起来像什么

EN

回答 3

Stack Overflow用户

发布于 2017-10-07 21:15:26

尝试对ul应用边距:0和填充:0。

票数 0
EN

Stack Overflow用户

发布于 2017-10-07 21:15:40

实际上是li上的填充和边距在移动它。

尝试将此代码添加到.navigation-bar ul li选择器上的css中:

代码语言:javascript
复制
padding: 0;
margin: 0;

最终输出:

代码语言:javascript
复制
<!DOCTYPE html>
<html>

<head>
  <title>test</title>
  <style>
    body,
    html {
      padding: 0;
      margin: 0;
    }
    
    .navigation-bar {
      width: 100%;
      display: block;
      color: white;
      background-color: red;
    }
    
    .navigation-bar ul li {
      display: inline-block;
      list-style-type: none;
      padding: 0;
      margin: 0;
    }
    
    .align-me {
      position: absolute;
      display: block;
      width: 1080px;
      color: white;
      background-color: blue;
    }
  </style>
</head>

<body>
  <div class="navigation-bar">
    <li>Navigation button</li>
    <div class="align-me">I need to be aligned to .navigation-bar</div>
  </div>
</body>

</html>

票数 0
EN

Stack Overflow用户

发布于 2017-10-07 21:16:51

正如pedram在评论中所说,您需要重置marginpadding属性。您可以编写ul { margin: 0; padding: 0; },但最好的做法(我也一直在使用它)是使用*选择器重置所有元素的marginpadding。编写您的标记将会容易得多:

代码语言:javascript
复制
* {
  margin: 0;
  padding: 0;
}
代码语言:javascript
复制
<!DOCTYPE html>

<html>
	<head>
		<title>test</title>
		<style>
			body, html {
				padding: 0;
				margin: 0;
			}
			.navigation-bar {
				width: 100%;
				display: block;
				color: white;
				background-color: red;
			}
			.navigation-bar ul li {
				display: inline-block;
				list-style-type: none;
			}
			.align-me {
				position: absolute;
				display: block;
				width: 1080px;
				color: white;
				background-color: blue;
			}
		</style>
	</head>

	<body>
		<div class="navigation-bar">
			<ul>
				<li>Navigation button</li>
				<div class="align-me">I need to be aligned to .navigation-bar</div>
			</ul>
		</div>
	</body>
</html>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46620531

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档