Как зафиксировать / заблокировать положение фонового изображения и файлов, содержащих изображения - PullRequest
2 голосов
/ 29 мая 2020

У меня есть изображение карты (1080x1080px). Я хочу, чтобы это был фон тела или контейнера div. Мне нужно, чтобы изображение всегда оставалось фиксированным на своем месте, даже при изменении размера окна браузера.

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

И фоновое изображение (карта), и маркеры должны постоянно оставаться на своих местах.

Как я могу этого добиться? Что у меня не работает ...

body, html {
  height: 100%;
}

#bg {
  background-image: url(treasuremap_01.jpg);
  height: 100%;
  width: 100%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 1080px 1080px;
  position: relative;
  }

  #menu {
    display: block;
    width: 100px;
  }

  input:checked + .hidable {
    display: none;
  }
  
  input:not(:checked) + .showable {
    display: none;
  }

  #mark01 {
    position: absolute;
    top: 240px;
    right: 490px;
  }

  #mark02 {
    position: absolute;
    top: 480px;
    left: 460px;
  }

  #mark03 {
    position: absolute;
    bottom: 260px;
    right: 490px;
  }
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="styles.css">
<title>Treasure Map</title>
</head>
<body>

  <div id="bg">
    <div id="menu">
      <input type="checkbox" /> Marker 1
      <div class="showable"><img id="mark01" src="xmark_01.png" alt="X Mark Red"></div>
      <input type="checkbox" /> Marker 2
      <div class="showable"><img id="mark02" src="xmark_02.png" alt="X Mark Green"></div>
      <input type="checkbox" /> Marker 3
      <div class="showable"><img id="mark03" src="xmark_03.png" alt="X Mark Magenta"></div>
    </div>
  </div>

</body>
</html>

Ответы [ 5 ]

1 голос
/ 29 мая 2020

Вам необходимо установить свойство #bg для width и height таким же, как background-image size.

body, html {
  height: 100%;
}

#bg {
  background-image: url(http://basicblue.biz/treasure/treasuremap_01.jpg);
  height: 1080px;
  width: 1080px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 1080px 1080px;
  position: relative;
  }

  #menu {
    display: block;
    width: 100px;
  }

  input:checked + .hidable {
    display: none;
  }
  
  input:not(:checked) + .showable {
    display: none;
  }

  #mark01 {
    position: absolute;
    top: 240px;
    right: 490px;
  }

  #mark02 {
    position: absolute;
    top: 480px;
    left: 460px;
  }

  #mark03 {
    position: absolute;
    bottom: 260px;
    right: 490px;
  }
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="styles.css">
<title>Treasure Map</title>
</head>
<body>

  <div id="bg">
    <div id="menu">
      <input type="checkbox" /> Marker 1
      <div class="showable"><img id="mark01" src="http://basicblue.biz/treasure/xmark_01.png" alt="X Mark Red"></div>
      <input type="checkbox" /> Marker 2
      <div class="showable"><img id="mark02" src="http://basicblue.biz/treasure/xmark_02.png" alt="X Mark Green"></div>
      <input type="checkbox" /> Marker 3
      <div class="showable"><img id="mark03" src="http://basicblue.biz/treasure/xmark_03.png" alt="X Mark Magenta"></div>
    </div>
  </div>

</body>
</html>
0 голосов
/ 29 мая 2020

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

0 голосов
/ 29 мая 2020

Я хотел, чтобы в разделе веб-сайта был div с фоновым изображением, который имел как background-attachment: fixed, так и background-size: cover, независимо от размера изображения. Это рабочий пример нескольких фиксированных полноэкранных разделов фоновых изображений.

0 голосов
/ 29 мая 2020

div {ширина: 100% высота: 90vh background-repeat: no-repeat background-position: center center background-size: cover background-attachment: fixed}. Заканчивайте каждое предложение гимном

0 голосов
/ 29 мая 2020

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

fixed, и обложка не использовалась для совместной работы, и вам придется поместить свойство высоты во внешний контейнер, но Я тестировал этот код на Chrome, Firefox, Safari и Opera, и он отлично работает.

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