Положение кнопки как игровой контроллер css, отзывчивый - PullRequest
0 голосов
/ 18 сентября 2018

Я бы хотел поместить эти 4 кнопки так же, как игровой контроллер.В результате я получаю следующее.Они должны быть в центральной нижней части экрана, меньше и должны быть отзывчивыми.Что я должен изменить?Должен ли я использовать #controls { position:relative;}?

Controls

HTML-код:

<head><meta name="viewport" content="width=device-width, initial-scale=1.0"/>...</head>

<body><div id="controls">
    <button id="keyboard_key_up" class="movements_control"><img src="public/img/keyboard_key_up.png"/></button>
    <button id="keyboard_key_left" class="movements_control"><img src="public/img/keyboard_key_left.png" /></button>
    <button id="keyboard_key_down" class="movements_control"><img src="public/img/keyboard_key_down.png" /></button>
    <button id="keyboard_key_right" class="movements_control"><img src="public/img/keyboard_key_right.png" /></button>

</div>...</body>

Код CSS:

#keyboard_key_up {
    position: absolute;
    right:300px;
    bottom: 500px;
    border-style: solid;
    border-color: black;
    background: white;z

}

#keyboard_key_left {
    position: absolute;
    right:575px;
    bottom: 250px;
    border-style: solid;
    border-color: black;

}

#keyboard_key_down {
    position: absolute;
    right:300px;
    bottom: 250px;
    border-style: solid;
    border-color: black;

}

#keyboard_key_right {
    position: absolute;
    right:25px;
    bottom: 250px;
    border-style: solid;
    border-color: black;

}

Ответы [ 2 ]

0 голосов
/ 18 сентября 2018

Поддержка flex и grid должна быть довольно хорошей в наши дни, но в зависимости от вашей цели это может не сработать.

body {
  margin: 0;
  padding: 0;
}

#wrapper {
  display: flex;
  height: 100vh;
  justify-content: center;
}

#controls {
  display: inline-grid;
  grid-column-gap: 0;
  align-self: end;
}

.movements_control {
  border: solid 1px black;  
  margin: 0;
  padding: 0;
}

.movements_control img {
  width: inherit;
  height: inherit;
}

#keyboard_key_up {
  grid-column-start: 2;
}

#keyboard_key_left {
  grid-column-start: 1;
}

#keyboard_key_down {}

#keyboard_key_right {
  grid-column-start: 3;
}

@media (min-width: 721px) {
  .movements_control {
    width: 40px;
    height: 40px;
  }
}

@media (max-width: 720px) {
  .movements_control {
    width: 20px;
    height: 20px;
  }
}
<div id="wrapper">
  <div id="controls">
    <button id="keyboard_key_up" class="movements_control"><img src="public/img/keyboard_key_up.png"></button>
    <button id="keyboard_key_left" class="movements_control"><img src="public/img/keyboard_key_left.png"></button>
    <button id="keyboard_key_down" class="movements_control"><img src="public/img/keyboard_key_down.png"></button>
    <button id="keyboard_key_right" class="movements_control"><img src="public/img/keyboard_key_right.png"></button>
  </div>
</div>
0 голосов
/ 18 сентября 2018

Попробуйте это CSS:

#controls {
position: relative;
bottom: 10px;
margin: 0 auto;
}

, если это не работает, не могли бы вы прислать свой код, используя plunker или codepen?

...