#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>

Saya berjuang untuk memindahkan judul halaman saya ke bagian atas dan tengah halaman. Saya sudah mencoba berbagai hal tetapi sepertinya tidak ada yang berhasil. Berikut adalah gambar halamannya:

Web page ScreenShot

Anda bisa melihat heading (Kuis 2020) berada di sebelah kiri wadah yang saya buat bukan di bagian atas dan tengah halaman. Terlampir juga beberapa kode CSS.

0
HannahO 23 Desember 2020, 18:34

3 jawaban

Jawaban Terbaik

Saya telah mengubah 2 hal dalam kode Anda untuk memusatkannya. Pertama-tama saya menambahkan kelas ke div Anda yang mengelilingi h1 header-wrapper dan menambahkan flex: 0 0 100%; untuk menjadikannya lebar penuh

Saya telah menambahkan flex-wrap: wrap; ke tubuh Anda

#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>
0
Nico Shultz 23 Desember 2020, 15:50

Anda dapat menggunakan flexbox ke wadah induk dari heading dan memusatkannya menggunakan properti justify-content: center css.

.header-container {
  display:flex;
  justify-content:center;
}
<!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 class="header-container">
        <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>
0
Zargham Khan 23 Desember 2020, 15:48

Ada lebih dari satu cara untuk melakukan ini dan itu benar-benar tergantung pada seperti apa sisa halaman situs Anda nantinya, tetapi di sini ada dua cara.

Cara 1: Pemosisian mutlak. Hapus div yang membungkus heading Anda agar ini berfungsi.

#header {
    position: absolute;
    text-align: center;
    top: 0;
}

Cara 2: Lepaskan flex dari bodi, lalu gunakan margin untuk wadah Anda.

.container {
    width: 1000px;
    max-width: 50%;
    background-color: white;
    border-radius: 20px;
    padding: 20px;
    box-shadow: 0 0 10px 2px;
    margin: 3rem auto; /* adjust 3rem to desired top and bottom margin */
}
body {
    --hue: var(--hue-neutral);
    padding: 0;
    margin: 0;
    width: 100vw;
    height: 100vh;
    background-color: hsl(var(--hue), 74%, 75%);
}
0
David Frederick 23 Desember 2020, 15:54