css - 在列/垂直中居中文本,CSS Grid
问题描述
我有一个简单的网格(https://jsfiddle.net/3f5oLjxu/1/),如何让网格左侧的链接垂直居中,而不是位于顶部。CSS:
.grid {
display: grid;
grid-template-columns: 1fr 3fr;
margin: 0px 12%;
}
.grid>* {
border: 1px solid lightgray;
padding: 15px;
}
<div class="grid">
<nav>
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">Interior Painting</a></li>
<li><a href="#">Exterior Painting</a></li>
<li><a href="#">Deck Painting</a></li>
<li><a href="#">Power Wash</a></li>
<li><a href="#">Wallpaper Remvoal</a></li>
<li><a href="#">Contact</a></li>
</ul>
</nav>
<section>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Placeat dignissimos error expedita debitis, eligendi a, dolorum velit, doloremque est repellat perferendis consectetur non similique mollitia maiores officiis totam voluptatibus libero.Lorem ipsum
dolor sit amet, consectetur adipisicing elit. Distinctio non provident sunt, voluptatem omnis. Porro nisi architecto expedita quae odit distinctio sint illo, tempora possimus dolore at, reprehenderit corrupti voluptatibus.
</section>
</div>
<!-- close grid -->
justify-content
我已经尝试了, justify-items
, align-self
,的各种组合margin: auto;
,将其nav
变成一个flex
项目,将ul
变成一个flex
项目等......在此先感谢您的帮助。
解决方案
您可以使用flexbox执行此操作: https ://yoksel.github.io/flex-cheatsheet/
它易于学习,是当今网站中非常常见的工具。
用和制作
.grid
一个flex
项目flex-basis: 100%;
flex-flow: row nowrap;
制作
.nav
一个 flex 容器,并将其在中心的项目与align-items: center;
或者,如果你只想在你的nav
元素上使用 flex 而别处,做
nav{
display: flex;
align-items: center;
}
完全足够了,如果您不希望整个布局具有灵活的方式
.grid {
display: flex;
flex-flow: row nowrap;
flex-basis: 100%;
margin: 0px 12%;
}
.nav{
display: flex;
align-items: center;
}
.grid>* {
border: 1px solid lightgray;
padding: 15px;
}
<div class="grid">
<div class="nav">
<nav>
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">Interior Painting</a></li>
<li><a href="#">Exterior Painting</a></li>
<li><a href="#">Deck Painting</a></li>
<li><a href="#">Power Wash</a></li>
<li><a href="#">Wallpaper Remvoal</a></li>
<li><a href="#">Contact</a></li>
</ul>
</nav>
</div>
<section>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Placeat dignissimos error expedita debitis, eligendi a, dolorum velit, doloremque est repellat perferendis consectetur non similique mollitia maiores officiis totam voluptatibus libero.Lorem ipsum
dolor sit amet, consectetur adipisicing elit. Distinctio non provident sunt, voluptatem omnis. Porro nisi architecto expedita quae odit distinctio sint illo, tempora possimus dolore at, reprehenderit corrupti voluptatibus.
dignissimos error expedita debitis, eligendi a, dolorum velit, doloremque est repellat perferendis consectetur non similique mollitia maiores officiis totam voluptatibus libero.Lorem ipsum
dolor sit amet, consectetur adipisicing elit. Distinctio non provident sunt, voluptatem omnis. Porro nisi architecto expedita quae odit distinctio sint illo, tempora possimus dolore at, reprehenderit corrupti voluptatibus.
</section>
</div>
<!-- close grid -->
推荐阅读
- julia - 排除 LightGraphs 中未连接的节点
- wechat - 如何在微信小程序中进行微信支付?
- javascript - 如何将光标对齐到居中占位符文本的开头?
- bash - Git:如何检查 CI 运行的差异是否在 src (!src/**) 之外修改了文件
- math - 这个表达式“C<>M<>Y”是什么意思?
- python - 从长期气候数据的文本文件创建 Pandas 数据框
- macos - 无效的命令“SSLEngine”
- android - 如何使用不同的屏幕更改脚手架浮动操作按钮的操作。喷气背包组成
- vue.js - vue如何调用另一个组件的函数
- angular - Sorting on json properties function works, but how to define it with strong type checking turned on?