水平对齐标题和主内容中的内容

问题描述 投票:0回答:1

将标题与页面主体居中以便无论屏幕分辨率如何它们都保持居中的最简单方法是什么?

我的标头容器是这样的:

.header-container {
  display: flex;
  position: relative;
  margin: 2rem 1rem;
  justify-content: center;
  max-width: 100%;
}

我的主容器是这样的:

.main-container {
  display: grid;
  justify-content: center;
  grid-template-columns: repeat(3, minmax(100px, 400px));
  column-gap: 2rem;
  row-gap: 3rem;
}

如果它们都居中但大小不同,如何水平对齐它们?

我尝试使用此内容和网格来对齐或调整内容,但它会裁剪我的整个页面,并使我的页面整体看起来很糟糕:

* {
  box-sizing: border-box;
}

body {
  display: flex;
  flex-direction: column;
  height: 100vh;
  margin: 0;
  padding: 0;
  align-items: center;
}

.header-container {
  display: flex;
  position: relative;
  margin: 2rem 1rem;
  justify-content: center;
  width: 100%;
}

.main-container {
  display: grid;
  justify-content: center;
  grid-template-columns: repeat(3, minmax(100px, 400px));
  column-gap: 2rem;
  row-gap: 3rem;
  width: 100%;
}

.header-item {
  background-color: lightblue;
  padding: 1rem;
}

.main-item {
  background-color: lightcoral;
  padding: 2rem;
}
<header class="header-container">
  <div class="header-item">Header Item</div>
  <div class="header-item">Header Item</div>
  <div class="header-item">Header Item</div>
  <div class="header-item">Header Item</div>
  <div class="header-item">Header Item</div>
  <div class="header-item">Header Item</div>
</header>

<main class="main-container">
  <p>Main item</p>
  <p>Main item</p>
  <p>Main item</p>
  <p>Main item</p>
</main>

css flexbox css-grid
1个回答
0
投票

有办法调整数量,根据宽度对齐。

你想尝试一下吗?

* {
  box-sizing: border-box;
}

body {
  display: flex;
  flex-direction: column;
  height: 100vh;
  margin: 0;
  padding: 0;
  align-items: center;
}

.header-container {
  display: flex;
  position: relative;
  margin: 2rem 1rem;
  justify-content: center;
  width: 100%;
}

.main-container {
  display: grid;
  justify-content: center;
  grid-template-columns: repeat(6, minmax(100px, 400px));
  column-gap: 0;
  row-gap: 3rem;
  width: 100%;
}

.header-item {
  background-color: lightblue;
  padding: 1rem;
  flex-grow: 1;
  text-align: center;
}

.main-item {
  margin: 0;
  background-color: lightcoral;
  padding: 1rem;
  text-align: center;
}
<header class="header-container">
  <div class="header-item">Header Item</div>
  <div class="header-item">Header Item</div>
  <div class="header-item">Header Item</div>
  <div class="header-item">Header Item</div>
  <div class="header-item">Header Item</div>
  <div class="header-item">Header Item</div>
</header>

<main class="main-container">
  <p class="main-item">Main item</p>
  <p class="main-item">Main item</p>
  <p class="main-item">Main item</p>
  <p class="main-item">Main item</p>
  <p class="main-item">Main item</p>
  <p class="main-item">Main item</p>
  <p class="main-item">Main item</p>
  <p class="main-item">Main item</p>
</main>

© www.soinside.com 2019 - 2024. All rights reserved.