使用“位置:绝对”时图像没有移动到中心

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

我正在关注 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 非常陌生,如果这是一个很容易解决的问题,我很抱歉。

我尝试将字体更改为导师使用的字体,将图像更改为导师使用的字体,但这并没有解决问题。尝试使用不同的“位置”类型,但这也没有帮助。

以下是屏幕当前的外观: 图像不在中心

html css image position
1个回答
0
投票

您可以通过将其添加到 style.css 文件来设置图像 #logo 的样式:

#logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
© www.soinside.com 2019 - 2024. All rights reserved.