html - 将 child 置于其 parent 的中心

标签 html css

在我的 <ul> 内我当然有一些<li> .这些列表项需要垂直居中,背景必须是全宽和全高。

我尝试的方法是使用 align-items: center;<ul> 上我试过 align-self: center;<li>

这是我现在的代码:

.desktop-menu-left {
    display: grid;
    grid-template-columns: auto auto auto auto auto auto;
    height: 100%;
    padding: 0;
    margin: 0;
}

.desktop-menu-left li {
    height: 100%;
}

.desktop-menu-left li a {
    height: 100%;
    padding: 0 10px;
}
<ul class="desktop-menu-left">
  <li class="darkblue"><a href="#">Opleidingen</a></li>
  <li class="orange"><a href="#">Leren bij *</a></li>
  <li class="green"><a href="#">Open huis</a></li>
  <li class="pink"><a href="#">Voor bedrijven</a></li>
  <li class="darkorange"><a href="#">Over *</a></li>
  <li class="lightblue"><a href="#">Niews</a></li>
</ul>

最佳答案

我试了一下你的代码。
这是你想要达到的结果吗?

/* Added here */
html,
body {
  height: 100%;
  width: 100%;
  position: relative;
}

/* Added colors */
.darkblue {
  background-color: darkblue;
}

.orange {
  background-color: orange;
}

.green {
  background-color: green;
}

.pink {
  background-color: pink;
}

.darkorange {
  background-color: darkorange;
}

.lightblue {
  background-color: lightblue;
}

.desktop-menu-left {
  display: grid;
  grid-template-columns: auto auto auto auto auto auto;
  height: 100%;
  padding: 0;
  margin: 0;
}

.desktop-menu-left li {
  height: 100%;
  list-style-type: none; /* Added */
}

.desktop-menu-left li a {
  padding: 0 10px;
  /* Added */
  position: relative;
  top: 50%;
  transform: translateY(-50%);
}
<body>
  <ul class="desktop-menu-left">
    <li class="darkblue"><a href="#">Opleidingen</a></li>
    <li class="orange"><a href="#">Leren bij *</a></li>
    <li class="green"><a href="#">Open huis</a></li>
    <li class="pink"><a href="#">Voor bedrijven</a></li>
    <li class="darkorange"><a href="#">Over *</a></li>
    <li class="lightblue"><a href="#">Niews</a></li>
  </ul>
</body>

我经常将这个中心方法作为一个类来使用,以便于重用它,像这样:
.center-y { top: 50%;变换:翻译Y(-50%); }

希望对您有所帮助。

关于html - 将 child 置于其 parent 的中心,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50118636/

相关文章:

javascript - 在现代浏览器中是否没有已知的方法可以使用 jQuery 获取已访问的链接?

javascript - [Tooltipster Plugin]- 知道div是否已经有tooltipster

html - 匹配列表元素符号与 `<div>` 中文本的对齐方式

css - 将页面分成两部分

javascript - 如何通过单击按钮切换 div 的可见性

html - 使小页面填满浏览器高度

jquery sortable 在删除带有淡入淡出的元素时中断,在删除不带淡入淡出的元素时可以

javascript - 解析复杂的 HTML 表格

html - 如何将图像像素转换为 Canvas 中的S曲线形状

jquery - 使用单个 css 选择器选择多个 div ID