Изменить положение кнопки в HTML & CSS? - PullRequest
1 голос
/ 08 марта 2020

Я написал файл CSS для моей страницы HTML, но это испортило мою страницу. Кнопка «Стоп» находится за игровым фреймом.

1) Как мне переместить кнопку «Стоп» вверху, чтобы правильно выровнять ее с кнопкой «Начало».

2) Как стрелки вниз должны выходить за пределы экрана. слегка сдвиньте его вверх, чтобы они правильно отображались?

3) Как добавить цвет на заработанные очки и нажать, чтобы начать игру?

The image is avilable here

HTML код:

<html>
<head>
    <link rel="icon" href="./arrows/clubbackground.jpg" type="image/gif" sizes="16x16">
    <script src="https://code.jquery.com/jquery-1.11.2.min.js"></script>
    <script src="jsRev.js" type="text/javascript"></script>
    <link rel="stylesheet" type="text/css" href="style.css">
    <title>DDR-Project 1</title>
</head>
<body>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="BackgroundScene">
  <div id="DanceScoreboard">
    <div id="GameStopped"><button id="StartBtn" class="btnStyle" onclick="gameStarted=true;">Begin Game</button>
      <br><br><br>
      <div class="Status">Click Begin Game to start</div>
    </div>
    <div id="GameRunning"><button id="StopBtn" class="btnStyle" onclick="self.close()">Stop Game</button>
      <div id="Status" class="Status"></div>
    </div>
    <div id="dancePoints" class="Points">Points Earned:
      <div class="OutputText" id="CorrectCount">0</div>
    </div>
  </div>
  <div class="stage"></div>
  <!-- ENDS .STAGE -->
  <div id="controls">
    <img id="left" src="./arrows/staticLeft.png">
    <img id="up" src="./arrows/staticUp.png">
    <img id="down" src="./arrows/staticDown.png">
    <img id="right" src="./arrows/staticRight.png">
  </div>
  <!-- ENDS #CONTROLS -->

</body>
</html>

CSS файл:

.stage {
    width: 1150px;    
    height: 500px;
    margin:0;
    padding:0;
    background-image: url('./arrows/clubbackground.jpg');
    background-repeat: no-repeat;
    background-size: contain;
    position: relative;
    text-align: center;
    opacity: 90%;

}

#controls {
    padding-left: 350px;

}
/*#left {

}
#up {

}
#down {

}
#right {

}*/
.btnStyle {
    border-radius: 4px;
    border: medium solid #000000;
    background-color:rgb(92, 250, 246);
    font-family: "Arial", Impact, Charcoal, sans-serif;
    font-weight: bold;
    font-size:20px;
    color: #ffffff;
    padding: 5px 30px;
    margin:8px 70px;
}

#StartBtn{
    position: fixed;
    left: 100px;
    text-shadow: 2px 2px 4px black;
}

#StopBtn{
    position: fixed;
    left: 500px;
    down: 10px;
    border-radius: 4px;
    border: medium solid #000000;
    background-color:rgb(92, 250, 246);
    font-family: "Arial", Impact, Charcoal, sans-serif;
    font-weight: bold;
    font-size:20px;
    color: #ffffff;
    text-shadow: 2px 2px 4px black;
    padding: 5px 30px;
    margin:8px 70px;
}

Ответы [ 4 ]

1 голос
/ 08 марта 2020

Я не большой поклонник position:fixed, возможно, вам придется использовать что-то вроде этого.

.stage {
    width: 1150px;    
    height: 500px;
    margin:0;
    padding:0;
    background-image: url('./arrows/clubbackground.jpg');
    background-repeat: no-repeat;
    background-size: contain;
    position: relative;
    text-align: center;
    opacity: 90%;

}

#controls {
    padding-left: 350px;

}

.btnStyle {
    border-radius: 4px;
    border: medium solid #000000;
    background-color:rgb(92, 250, 246);
    font-family: "Arial", Impact, Charcoal, sans-serif;
    font-weight: bold;
    font-size:20px;
    color: #ffffff;
    padding: 5px 30px;
    margin:8px 70px;
}

#StartBtn{
    position: absolute;
    left: 100px;
    text-shadow: 2px 2px 4px black;
}

#StopBtn{
    position: absolute;
    left: 400px;
    top:5px;
    border-radius: 4px;
    border: medium solid #000000;
    background-color:rgb(92, 250, 246);
    font-family: "Arial", Impact, Charcoal, sans-serif;
    font-weight: bold;
    font-size:20px;
    color: #ffffff;
    text-shadow: 2px 2px 4px black;

}

.OutputText{
color: red;
}
<div id="BackgroundScene">
  <div id="DanceScoreboard">
    <div id="GameStopped"><button id="StartBtn" class="btnStyle" onclick="gameStarted=true;">Begin Game</button>
      <br><br><br>
      <div class="Status">Click Begin Game to start</div>
    </div>
    <div id="GameRunning"><button id="StopBtn" class="btnStyle" onclick="self.close()">Stop Game</button>
      <div id="Status" class="Status"></div>
    </div>
    <div id="dancePoints" class="Points">Points Earned:
      <div class="OutputText" id="CorrectCount">0</div>
    </div>
  </div>
  <div class="stage"></div>
  <!-- ENDS .STAGE -->
  <div id="controls">
    <img id="left" src="./arrows/staticLeft.png">
    <img id="up" src="./arrows/staticUp.png">
    <img id="down" src="./arrows/staticDown.png">
    <img id="right" src="./arrows/staticRight.png">
  </div>
  <!-- ENDS #CONTROLS -->
1 голос
/ 08 марта 2020

Вы можете использовать таблицы для управления позиционированием в ваших HTML проектах. Вероятно, это не самый эффективный способ, но он удобен для начинающих.

<html>
<head>
    <link rel="icon" href="./arrows/clubbackground.jpg" type="image/gif" sizes="16x16">
    <script src="https://code.jquery.com/jquery-1.11.2.min.js"></script>
    <script src="jsRev.js" type="text/javascript"></script>
    <link rel="stylesheet" type="text/css" href="style.css">
    <title>DDR-Project 1</title>
</head>
<body>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="BackgroundScene">
  <div id="DanceScoreboard">
    **<table>
       <tr>
          <td>
              <div id="GameStopped"><button id="StartBtn" class="btnStyle" 
                 onclick="gameStarted=true;">Begin Game</button>
          </td>
           <td>
                <div id="GameRunning"><button id="StopBtn" class="btnStyle" 
                 onclick="self.close()">Stop Game</button>
           </td>
      </tr>
   </table>**   
<br><br><br>
          <div class="Status">Click Begin Game to start</div>
        </div>
        <div id="GameRunning"><button id="StopBtn" class="btnStyle" onclick="self.close()">Stop Game</button>
          <div id="Status" class="Status"></div>
        </div>
        <div id="dancePoints" class="Points">Points Earned:
          <div class="OutputText" id="CorrectCount">0</div>
        </div>
      </div>
      <div class="stage"></div>
      <!-- ENDS .STAGE -->
      <div id="controls">
        <img id="left" src="./arrows/staticLeft.png">
        <img id="up" src="./arrows/staticUp.png">
        <img id="down" src="./arrows/staticDown.png">
        <img id="right" src="./arrows/staticRight.png">
      </div>
      <!-- ENDS #CONTROLS -->

    </body>
    </html>

Поскольку у меня нет доступа к рабочей среде в настоящее время, я не могу проверить это, но все должно работать нормально. Я рекомендую вам также прочитать обо всех значениях, которые может принять тег, потому что есть некоторые отличные для отображения.

Кстати, общий совет: всегда указывайте ширину и высоту, используя проценты, а не пиксели, так как пиксели отличаются от экрана к экрану.

Надеюсь, я был полезен :).

1 голос
/ 08 марта 2020

Используйте некоторые свойства Flex, чтобы исправить это. Попробуйте это

.stage {
    width: 1150px;    
    height: 500px;
    margin:0;
    padding:0;
    background-image: url('./arrows/clubbackground.jpg');
    background-repeat: no-repeat;
    background-size: contain;
    position: relative;
    text-align: center;
    opacity: 90%;

}

#controls {
    padding-left: 350px;

}
/*#left {

}
#up {

}
#down {

}
#right {

}*/

.Points{
color:blue;
}

.btnStyle {
    border-radius: 4px;
    border: medium solid #000000;
    background-color:rgb(92, 250, 246);
    font-family: "Arial", Impact, Charcoal, sans-serif;
    font-weight: bold;
    font-size:20px;
    color: #ffffff;
    padding: 5px 30px;
    margin:8px 70px;
}

#DanceScoreboard{
display: flex;
}

#StartBtn{
  flex: 1;}

#StopBtn{
  flex: 1;}
<html>
<head>
    <link rel="icon" href="./arrows/clubbackground.jpg" type="image/gif" sizes="16x16">
    <script src="https://code.jquery.com/jquery-1.11.2.min.js"></script>
    <script src="jsRev.js" type="text/javascript"></script>
    <link rel="stylesheet" type="text/css" href="style.css">
    <title>DDR-Project 1</title>
</head>
<body>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="BackgroundScene">
  <div id="DanceScoreboard">
    <div id="GameStopped"><button id="StartBtn" class="btnStyle" onclick="gameStarted=true;">Begin Game</button>
      <br><br><br>
      <div class="Status">Click Begin Game to start</div>
    </div>
    <div id="GameRunning"><button id="StopBtn" class="btnStyle" onclick="self.close()">Stop Game</button>
      <div id="Status" class="Status"></div>
    </div>
  </div>
<div id="dancePoints" class="Points">Points Earned:
      <div class="OutputText" id="CorrectCount">0</div>
    </div>
  <div class="stage"></div>
  <!-- ENDS .STAGE -->
  <div id="controls">
    <img id="left" src="./arrows/staticLeft.png">
    <img id="up" src="./arrows/staticUp.png">
    <img id="down" src="./arrows/staticDown.png">
    <img id="right" src="./arrows/staticRight.png">
  </div>
  <!-- ENDS #CONTROLS -->

</body>
</html>
1 голос
/ 08 марта 2020

Вы используете фиксированную позицию для #StopBtn. Просто добавьте top:10px; к вашему идентификатору #StopBtn в файле css.

См. обновлено: jsfiddle: https://jsfiddle.net/2sgte9up/

* Элемент фиксированной позиции расположен относительно области просмотра, или само окно браузера. Окно просмотра не изменяется при прокрутке окна, поэтому элемент с фиксированным позиционированием останется там, где он находится при прокрутке страницы. Вы можете вызвать свойства сверху, справа, слева, снизу.

Чтобы получить цвет к заработанным очкам, добавьте css цвет к css файлу для вашего идентификатора CorrectCount:

#CorrectCount{
  color: #;
}

Для кнопок внизу рассмотрите возможность добавления для них фиксированной позиции а также установите свое основание или создайте div нижнего колонтитула и поместите их в свой div нижнего колонтитула.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...