NodeJS 如何使用CSS使HTML元素(即Div)的顶部恰好从其父元素的底部开始

ccgok5k5  于 2023-06-22  发布在  Node.js
关注(0)|答案(2)|浏览(136)

我想做的是让子元素直接从父元素的底部开始。我知道这个问题已经被问过很多次了,但是我一直在阅读这些答案,并不是每个解决方案都能解决我的问题。它们基本上都说要把父元素放到“position:relative”和子元素到“position:“绝对”,这是我确信是真的,我只是仍然错过了一些东西。
首先,看看我的React代码(非常简单的代码,仅用于此学习目的):

import './App.css';

function App() {
  return (
    <div className="App">
      <div className="d1">
        <ul className="ul1">
          <li className="li1">Home</li>
          <li className="li1">About</li>
          <li className="li1">Contact</li>
        </ul>
      </div>
    </div>
  );
}

export default App;

看看我的CSS代码:

.App {
  border: 1px solid red;
  height: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
}

.d1 {
  position: relative;
  border: 1px solid blue;
  margin: 10px;
  min-height: 80px;
  min-width: 100px;

}

.ul1 {
  border: 1px solid green;
  position: absolute;
  height: 80px;
  top: 100%;

}

现在看下面的snip。我想要的是绿色的列表从蓝色突出显示的div的底部开始。最上面的图像是我能得到的。底部的图像,如果我想实现注意,我硬编码的位置上的底部的图像,所以这就是我如何能够得到它只是为了这一剪。在实践中,我希望它在该位置动态显示。

3gtaxfhh

3gtaxfhh1#

.ul1 {
  border: 1px solid green;
  position: absolute;
  height: 80px;
  top: 100%;
/* add these style here */
  list-style-type: none;
  margin: 0;
}
guykilcj

guykilcj2#

您遇到的问题是由于自动添加到ul元素的边距:

只需将margin-top: 0;添加到ul即可:

仅供参考:该边距由用户代理样式表设置。一些开发者会在他们想要重置的任何元素上设置margin: 0;,或者使用normalize.css来覆盖提供的默认值。它可以帮助防止您在此处遇到的意外问题。

相关问题