html - CSS - 如何正确放置绝对 div

标签 html css position border absolute

我有以下代码:

.menu{
 border: solid red; 
 border-width: 1px 1px 0px 1px;
 background-color:black;
 color:white;
 width: 60px;
}

.dropdown{
 position:absolute;
 background-color: grey;
 width:100px;
}

.dropdown ul{
 list-style:none;
 padding:10px;
 margin: 0;
}

.zoom{
  zoom:300%;
}
<div class="menu zoom">
  Click me
  <div class="dropdown">
    <ul>
      <li>Item 1</li>
      <li>Item 2</li>
      <li>Item 3</li>
    </ul>
  </div>
</div>

如何在不移除边框的情况下将下拉菜单放置在与父菜单相同的 x 位置?我已经尝试过 'box-sizing: border-box',但不知何故它不起作用。

最佳答案

在父元素和子元素上设置 position: relative set position left 为与父元素的左边框宽度相同的负值。

.menu {
  border: solid red;
  border-width: 1px 1px 0px 1px;
  background-color: black;
  color: white;
  width: 60px;
  position: relative;
}
.dropdown {
  position: absolute;
  background-color: grey;
  width: 100px;
  left: -1px;
}
.dropdown ul {
  list-style: none;
  padding: 10px;
  margin: 0;
}
.zoom {
  zoom: 300%;
}
<div class="menu zoom">
  Click me
  <div class="dropdown">
    <ul>
      <li>Item 1</li>
      <li>Item 2</li>
      <li>Item 3</li>
    </ul>
  </div>
</div>

关于html - CSS - 如何正确放置绝对 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43277682/

相关文章:

jquery - 单击切换菜单

php - 导航未在我的视频集顶部显示为背景

c# - 你能推荐一个格式化 C# 代码的 CSS 样式表吗?

javascript - 使用ajax加载文本文件内容

html - 标题前面的导航栏,滚动时始终位于屏幕顶部

html - 绝对元素不放在相对元素之上

javascript - jQuery load() 函数更改输入文本的高度

html - 是否可以制作 HTML/CSS 折线的一部分,贝塞尔曲线?

html - 修复sidenav-全长

html - 屏幕底部相对于其图像的位置按钮