首页 > 解决方案 > 如何将文本移动到页面的顶部和中心?

问题描述

#header {
  margin-top: 0.5em;
  margin-left: 2em;
  margin-right: 2em;
  text-align: center;
}

*,
*::before,
*::after {
  box-sizing: border-box;
  font-family: 'Roboto', sans-serif;
}

#question {
  font-family: 'Dosis', sans-serif;
  font-size: 38px;
  padding: 30px 10px;
}

body {
  --hue: var(--hue-neutral);
  padding: 0;
  margin: 0;
  display: flex;
  width: 100vw;
  height: 100vh;
  justify-content: center;
  align-items: center;
  background-color: hsl(var(--hue), 74%, 75%);
}

.container {
  width: 1000px;
  max-width: 50%;
  background-color: white;
  border-radius: 20px;
  padding: 20px;
  box-shadow: 0 0 10px 2px;
}

.btn-grid {
  display: grid;
  grid-template-columns: repeat(2, auto);
  gap: 20px;
  margin: 20px, 0;
}

.btn {
  --hue: var(--hue-neutral);
  border: 2px solid hsl(var(--hue), 54%, 12%);
  background-color: hsl(var(--hue), 81%, 40%);
  border-radius: 5px;
  padding: 10px 10px 10px 10px;
  color: black;
  outline: none;
  font-size: 25px;
}

.start-btn,
.next-btn {
  font-size: 1.5rem;
  padding: 10px, 10px;
}

.controls {
  margin: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.hide {
  display: none;
}
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Christmas Quiz</title>
  <link href="./styles.css" type="text/css" rel="stylesheet">
  <script defer src="script.js"></script>
  <link rel="preconnect" href="https://fonts.gstatic.com">
  <link href="https://fonts.googleapis.com/css2?family=Dosis&display=swap" rel="stylesheet">
  <link rel="preconnect" href="https://fonts.gstatic.com">
  <link href="https://fonts.googleapis.com/css2?family=Dosis&family=Roboto:wght@500&display=swap" rel="stylesheet">
</head>

<body>
  <div>
    <h1 id="header">2020 Quiz</h1>
  </div>
  <div class="container">
    <div id="question-container" class="hide">
      <div id="question">Question</div>
      <div id="answer-buttons" class="btn-grid">
        <button class="btn">Answer 1</button>
        <button class="btn">Answer 2</button>
        <button class="btn">Answer 3</button>
        <button class="btn">Answer 4</button>
      </div>
    </div>
    <div class="controls">
      <button id="start-btn" class="start-btn btn">Start</button>
      <button id="next-btn" class="next-btn btn hide">Next</button>
    </div>
  </div>
</body>

</html>

我正在努力将页面的标题移动到页面的顶部和中心。我尝试了不同的方法,但似乎没有任何效果。这是页面的图片:

网页截图

您可以看到标题(2020 Quiz)位于我创建的容器的左侧,而不是页面的顶部和中心。还附上了一些CSS代码。

标签: htmlcss

解决方案


我在您的代码中更改了两件事以使其居中。首先,我在 h1 周围的 div 中添加了一个类,header-wrapper并添加flex: 0 0 100%;以使其全宽

我已经添加flex-wrap: wrap;到你的身体

#header {
  margin-top: 0.5em;
  margin-left: 2em;
  margin-right: 2em;
  text-align: center;
}

*,
*::before,
*::after {
  box-sizing: border-box;
  font-family: 'Roboto', sans-serif;
}

#question {
  font-family: 'Dosis', sans-serif;
  font-size: 38px;
  padding: 30px 10px;

}



body {
  --hue: var(--hue-neutral);
  padding: 0;
  margin: 0;
  display: flex;
  width: 100vw;
  height: 100vh;
  justify-content: center;
  align-items: center;
  background-color: hsl(var(--hue), 74%, 75%);
  flex-wrap: wrap;
}



.container {
  width: 1000px;
  max-width: 50%;
  background-color: white;
  border-radius: 20px;
  padding: 20px;
  box-shadow: 0 0 10px 2px;
}

.btn-grid {
  display: grid;
  grid-template-columns: repeat(2, auto);
  gap: 20px;
  margin: 20px, 0;
}

.btn {
  --hue: var(--hue-neutral);
  border: 2px solid hsl(var(--hue), 54%, 12%);
  background-color: hsl(var(--hue), 81%, 40%);
  border-radius: 5px;
  padding: 10px 10px 10px 10px;
  color: black;
  outline: none;
  font-size: 25px;
}




.start-btn,
.next-btn {
  font-size: 1.5rem;
  padding: 10px, 10px;
}

.controls {
  margin: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.hide {
  display: none;
}

.header-wrapper {
  flex: 0 0 100%;
}
<div class="header-wrapper">
  <h1 id="header">2020 Quiz</h1>
</div>
<div class="container">
  <div id="question-container" class="hide">
    <div id="question">Question</div>
    <div id="answer-buttons" class="btn-grid">
      <button class="btn">Answer 1</button>
      <button class="btn">Answer 2</button>
      <button class="btn">Answer 3</button>
      <button class="btn">Answer 4</button>
    </div>
  </div>
  <div class="controls">
    <button id="start-btn" class="start-btn btn">Start</button>
    <button id="next-btn" class="next-btn btn hide">Next</button>
  </div>
</div>


推荐阅读