我正在关注 this 教程,导师在 26:30 使用“position:absolute”将 .png 徽标图像移动到屏幕中央。我无法获得相同的结果 - 我的图像保留在屏幕的右侧。我的字体和图像与导师的不同,但字体是 Regular 400,图像是 250x250 .png,就像导师的一样。
这是我的index.html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Pixelify+Sans&display=swap" rel="stylesheet">
<title>Snake</title>
<link rel="stylesheet" href="style.css">
<script src="script.js" defer></script>
</head>
<body>
<div>
<div class="scores">
<h1 id="score">000</h1>
<h1 id="highScore">000</h1>
</div>
<div class="game-border-1">
<div class="game-border-2">
<div class="game-border-3">
<div id="game-board"></div>
</div>
</div>
</div>
</div>
<h1 id="instruction-text">Press "Space" to start!<h1>
<img id="logo" src="game-logo.png" alt="snake-logo">
</body>
</html>
这是我的 style.css:
body {
display: flex;
align-items:center;
justify-content: center;
height: 100vh;
margin: 0;
font-family: "Pixelify Sans", sans-serif;
font-optical-sizing: auto;
font-weight: 400;
font-style: normal;
}
body {
background-color: #5c71e9;
}
#game-board {
border-radius: 100px;
display: grid;
grid-template-columns: repeat(20, 20px);
grid-template-rows: repeat(20, 20px);
margin: 5px;
}
.game-border-1 {
border: #010101 solid 10px;
border-radius: 30px;
box-shadow: inset 0 0 0 10px #010101;
}
.game-border-2 {
border: #454344 solid 8px;
border-radius: 26px;
box-shadow: inset 0 0 0 10px #454344;
}
.game-border-3 {
border: #b2b3b5 solid 30px;
border-radius: 20px;
box-shadow: inset 0 0 0 5px #b2b3b5;
background-color: #010101;
}
#instruction-text {
position: absolute;
top: 62.5%;
color: #fefdf9;
text-shadow: #b2b3b5 0px 3px 0px;
width: 400px;
font-size: 25px;
text-align: center;
text-transform: capitalize;
padding: 30px;
margin: 0;
}
.scores {
display: flex;
justify-content: space-between;
}
#score {
color: #fefdf9;
}
#score,
#highScore {
font-size: 40px;
font-weight: bolder;
margin: 10px 0;
}
#highScore {
color: #010101;
display: none;
}
.snake {
background-color: #fefdf9;
border: #454344 1px dotted;
}
.food {
background-color: #ff0000;
border: #fefdf9 5px solid;
}
#logo {
position: absolute;
}
知道问题出在哪里吗?我对 HTML 和 CSS 非常陌生,如果这是一个很容易解决的问题,我很抱歉。
我尝试将字体更改为导师使用的字体,将图像更改为导师使用的字体,但这并没有解决问题。尝试使用不同的“位置”类型,但这也没有帮助。
以下是屏幕当前的外观: 图像不在中心
您可以通过将其添加到 style.css 文件来设置图像 #logo 的样式:
#logo {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}