Как правильно установить фоновое изображение внутри доски, не теряя отзывчивости - PullRequest
0 голосов
/ 17 января 2019

У меня есть код, в котором есть поле класса, я дал backgroundimage class box box1.

моя проблема в том, что image is not correctly fitting inside to the board.

когда я rezize в окне это moving upwards.

Как это исправить.

Как сделать image fit correctly inside the board without losing responsiveness?

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

при попытке изменить размер окна.окно изображение движется вверх ..

html, body {
 background-image:url(https://i.ibb.co/K7mpxZG/background9.jpg);
 background-repeat: no-repeat;
 background-size: cover;
 width:100%;
 height:100%;
 overflow: hidden;
 background-size: 100vw 100vh;
}

#box1 {
  position: absolute;
  top: 55.3vh;
  left: -19.98vw;
  cursor: pointer;
  border:px solid #0066CC;
  background-repeat: no-repeat;
  background-size: cover;
}

#box1 p {
  width: 10.0vw;
 height: 1.0vh;
  border-radius: 25%;
}


#container {
  white-space: nowrap;
  border:px solid #CC0000;
}

.containerr {
  border: px solid #FF3399;
}

.container2 {
  width: 50.1vw;
  position: fixed;
  top: 10.5vh;
  left: 30.5vw;
}

.box p {
  font-size: calc(2vw + 10px);
}


.hidden{
  visibility: hidden;
}

p {
  font: "Courier New", Courier, monospace;
  font-size: 5vw;
  color: blue;
  text-align: center;
}
<div class="container2">
  <div class="containerr">
    <div class="pic" id="content">
      <div id="container">
      
        <div class="box box1" id="box1"  style="background-image:url(https://picsum.photos/200/300);">
          <p name="values" id="name1" class="hidden"></p>
        </div>

      </div>
    </div>
  </div>

Ответы [ 3 ]

0 голосов
/ 17 января 2019

Я предлагаю вам дать вашему телу background-position в соответствии с вашими требованиями.обычно это лучший выбор по центру:

background-position: center center;

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

div{
	background-image: url('//unsplash.it/500');
	background-size:cover;
	background-position:center;
	resize:both;
	overflow:auto;
	width:100%;
	height:200px;
}
<div></div>
0 голосов
/ 22 января 2019

Я думаю, что вы решаете это неправильно. Вместо этого я бы извлек элемент доски из основного фона и использовал его как один элемент:

html {
  background: #afffdc;
}

#container {
  position: fixed;
  bottom: 0;
  left: 100px;
  background: url(https://i.stack.imgur.com/CM15R.jpg) top/contain no-repeat;
  height: 50vh;
  width: 29vh;
  max-width: 20vw;
  max-height: 35vw;
}

.box {
  padding-top: 173%;
  background: url(https://picsum.photos/200/300) 50% 5%/86% 27% no-repeat;
}
<div id="container">
  <div class="box">
  </div>
</div>

Обновление

Вот прозрачная версия

html {
  background: linear-gradient(to right,pink, lightblue);
}

#container {
  position: fixed;
  bottom: 0;
  left: 100px;
  background: url(https://i.stack.imgur.com/ctB0T.png) top/contain no-repeat;
  height: 50vh;
  width: 29vh;
  max-width: 20vw;
  max-height: 35vw;
}

.box {
  padding-top: 173%;
  background: url(https://picsum.photos/200/300) 50% 5%/86% 27% no-repeat;
}
<div id="container">
  <div class="box">
  </div>
</div>
0 голосов
/ 17 января 2019

Если вы хотите, чтобы ваше изображение покрывало его контейнер, вы можете использовать background-size: cover;,

Если вы хотите убедиться, что все изображение отображается (но изменяется при необходимости), вы можете использовать background-size: contain;

Приведенные выше два требуют явная ширина и высота в классе box1

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