Адаптация стилей: картинка "едет" при изменении монитора

Добрый день! Я только изучаю фронтенд

Столкнулся с новой проблемой: адаптация сайта. Я посмотрел видео ролики - с примитивными текстами вроде-бы все понятно. Как насчёт уже готового сайта с большим кол-вом картинок?

Помочь мне не может даже ChatGPT с которым я всегда на пару учусь и пишу код.

Дело в том, что все мои объекты на сайте это картинки. Даже текст - картинка. Стоит открыть мой сайт на другом устройстве - будь то ноутбук с немного меньшим экраном чем моего пк - картинки сразу же уплывают в стороны.

И вот я не могу понять - то ли дело в том, что мне нужно заморочиться и сделать текст текстом, а не картинками

или я просто не знаю как адаптировать сайт

Очень нуждаюсь в помощи, заранее благодарен! Ломал голову уже 2 дня =(

Я пытался использовать медиа запросы (@media screen and (max-width: 1000px) {}), но у меня ничего не выходило, точно также как и советы в интернете по измене величин - c px на rem (или vw vh и т.п.)

Были еще мысли о том, что бы сделать js скрипт (или на css) который бы задавал автоматом для юзера масштаб в 100 процентов. То есть если у человека моник меньше - у него просто все обьекты были меньше. А позиционирование оставалось как и у меня. Но это явные костыли...

body,
html {
  margin: 0;
  padding: 0;
  height: 100%;
  background-image: url('../img/bc_abus.png');
  background-size: cover;
  background-position: center;
  position: relative;
}

.container {
  position: relative;
  z-index: 2;
  transform: scale(0.5);
}

@media screen and (max-width: 1200px) {}

@media screen and (max-width: 998px) {}

@media screen and (max-width: 768px) {}

@media screen and (max-width: 576px) {}

.flag {
  position: relative;
  left: -800.5px;
  top: -211px;
  z-index: 3;
}

.flag-bc {
  position: absolute;
  top: -95px;
  left: -844px;
  z-index: 1;
}

.title1 {
  position: absolute;
  left: 1720px;
  top: 1380px;
  z-index: 2;
}

.title2 {
  position: absolute;
  left: 1760px;
  top: 1610px;
  z-index: 2;
}

.text-bg {
  position: relative;
  z-index: 1;
  top: 1405px;
  left: 1570px;
  font-size: 30px;
  transform: scale(1.2);
}

.video-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 1;
}

#video-bg {
  position: absolute;
  top: 0;
  left: 0;
  min-width: 100%;
  min-height: 100%;
  z-index: 0;
}

.navbar {
  padding: 10px;
  position: fixed;
  top: 50px;
  left: 900px;
  width: calc(100% - 20px);
  z-index: 999;
}

@font-face {
  font-family: "Corerhino65bold";
  src: url('/source/font/core-rhino-65-bold.otf') format('opentype');
}

.navbar a {
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  margin-right: 30px;
  font-weight: bold;
  font-size: 25px;
  font-family: "Corerhino65bold", sans-serif;
}

.dropdown {
  position: relative;
  display: inline-block;
}

.dropdown-content {
  display: none;
  position: absolute;
  background-color: rgba(255, 255, 255, 0.7);
  min-width: 160px;
  box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.2);
  z-index: 1;
}

.dropdown-content a {
  color: black;
  padding: 12px 16px;
  text-decoration: none;
  display: block;
}

.dropdown-content a:hover {
  background-color: #f1f1f1;
}

.dropdown:hover .dropdown-content {
  display: block;
}

.dropbtn {
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  margin-right: 20px;
  font-weight: bold;
  font-size: 25px;
  font-family: "Corerhino65bold", sans-serif;
  background-color: transparent;
  border: none;
  cursor: pointer;
}

.dropdown-content img {
  width: 50px;
  height: auto;
}

.frame {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  pointer-events: none;
  transform: scale(0.945);
}

.shadow {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1000;
  pointer-events: none;
}

.centered-image {
  position: absolute;
  top: 1020px;
  left: 880px;
  transform: translate(-50%, -50%);
  cursor: move;
  z-index: 2;
}

.centered-yell-block {
  position: absolute;
  top: 943px;
  z-index: 1;
  left: 995px;
  transform: translate(-50%, -50%);
}

.centered-image2 {
  position: absolute;
  top: 1111px;
  left: -80px;
  transform: translate(-50%, -50%);
  transform: scale(0.7);
  z-index: 2;
  cursor: move;
}

.centered-icons {
  position: absolute;
  top: 1100px;
  left: 1270px;
  transform: translate(-50%, -50%);
  transform: scale(0.9);
  z-index: 2;
}

.centered-image,
.centered-yell-block,
.centered-image2,
.centered-icons {
  margin-top: 300px;
}

.spacer {
  height: 2500px;
}

footer {
  background-color: #f5f5f5;
  padding: 20px 0;
  text-align: center;
}

.footer-container {
  position: relative;
}

.line {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  border-top: 1px solid #ddd;
}

.footer-container p {
  background-color: #f5f5f5;
  position: relative;
  padding: 0 20px;
  display: inline-block;
  margin-top: -15px;
}

.separator {
  margin: 0 10px;
  color: #666;
}

.scroll-button {
  position: fixed;
  bottom: 20px;
  right: 50%;
  transform: translateX(50%);
  width: 50px;
  height: 50px;
  background-color: transparent;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  transition: background-color 0.3s, box-shadow 0.3s;
  z-index: 9999;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  background-image: url('../img/arrow.png');
  background-size: cover;
}

.scroll-button:hover {
  background-color: rgba(255, 255, 255, 0.5);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.2);
}

.navbar a.active {
  position: relative;
  color: rgb(197, 177, 0);
}

.navbar a.active::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: rgb(197, 177, 0);
}

.misimg {
  position: absolute;
  top: 2040px;
  left: 495px;
  transform: translate(-50%, -50%);
  z-index: 2;
  cursor: move;
}

.misimg2 {
  position: absolute;
  top: 2150px;
  left: 1500px;
  transform: translate(-50%, -50%);
  z-index: 2;
  cursor: move;
}

.misimg3 {
  position: absolute;
  top: 2160px;
  left: 746px;
  transform: translate(-50%, -50%);
  z-index: 2;
  cursor: move;
}

.misimg4 {
  position: absolute;
  top: 2350px;
  left: 794px;
  transform: translate(-50%, -50%);
  z-index: 2;
  cursor: move;
}

.misimg5 {
  position: absolute;
  top: 2650px;
  left: 837px;
  transform: translate(-50%, -50%);
  z-index: 2;
  cursor: move;
}

.misimg6 {
  position: absolute;
  top: 2150px;
  left: 1215px;
  transform: translate(-50%, -50%);
  z-index: 2;
  cursor: move;
}

.misimg7 {
  position: absolute;
  top: 2250px;
  left: 1015px;
  transform: translate(-50%, -50%);
  z-index: 1;
  cursor: move;
  width: 80%;
}
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Головна | Зробимо Україну безпечною разом</title>
  <link rel="icon" type="image/x-icon" href="source/img/flag2.ico">
  <!-- CSS links -->
  <link rel="stylesheet" type="text/css" href="source/script/ind.css">
  <link rel="stylesheet" type="text/css" href="bootstrap-5.3.3-dist/css/bootstrap.min.css">
  <link rel="stylesheet" type="text/css" href="bootstrap-5.3.3-dist/css/bootstrap.css">
</head>

<body>
  <div class="navbar">
    <a href="index.html">Про нас</a>
    <a href="#">Послуги</a>
    <a href="#">Цінності</a>
    <a href="#">Розмінування</a>
    <a href="source/web/don.html">Донати</a>
    <div class="dropdown">
      <button class="dropbtn">Амбасадори</button>
      <div class="dropdown-content">
        <a href="#" style="white-space: nowrap;">
          <img src="source/img/Flag_of_Lithuania.svg.png" alt="Flag 1"> Литва
        </a>
        <a href="#" style="white-space: nowrap;">
          <img src="source/img/Flag_of_Latvia.svg.png" alt="Flag 2"> Латвія
        </a>
        <a href="#" style="white-space: nowrap;">
          <img src="source/img/Flag_of_Estonia.svg.png" alt="Flag 3"> Естонія
        </a>
      </div>
    </div>
  </div>


  <div class="video-background">
    <video autoplay muted loop id="video-bg">
            <source src="source/hard/video.mp4" type="video/mp4">
            Your browser does not support the video tag.
        </video>
  </div>

  <div class="container">
    <img inert src="source/img/flag.png" class="flag">
    <img inert src="source/img/flag-bc.png" class="flag-bc">
    <img inert src="source/img/text1title.png" class="title1">
    <img inert src="source/img/text2.png" class="title2">
    <img inert src="source/img/text-bc.png" class="text-bg">
  </div>

  <img inert src="source/img/ram-bg.png" class="frame">
  <img inert src="source/img/shadow.png" class="shadow">

  <img inert src="source/img/text3-abus.png" alt="ph" class="centered-image">
  <img inert src="source/img/yell-block_abus.png" alt="Yell Block" class="centered-yell-block">
  <img inert src="source/img/text4-abus.png" alt="Text Image" class="centered-image2">
  <img inert src="source/img/icons-abus.png" alt="Icons Image" class="centered-icons">

  <div class="spacer"></div>
  <button class="scroll-button" onclick="scrollDown()"></button>

  <img inert src="source/img/mision_text.png" alt="Image 1" class="misimg">
  <img inert src="source/img/design_mission.png" alt="Image 2" class="misimg2">
  <img inert src="source/img/text1_mission.png" alt="Image 3" class="misimg3">
  <img inert src="source/img/text2_mission.png" alt="Image 4" class="misimg4">
  <img inert src="source/img/text3_mission.png" alt="Image 5" class="misimg5">
  <img inert src="source/img/design_mission2.png" alt="Image 6" class="misimg6">
  <img inert src="source/img/ukrainemap.png" alt="Image 7" class="misimg7">

  <footer>
    <div class="footer-container">
      <div class="line"></div>
      <p>All rights secured &copy; 2024 <span class="separator">•</span> Company Name</p>
    </div>
  </footer>
  <!-- JS links -->
  <script src="bootstrap-5.3.3-dist/js/bootstrap.bundle.js"></script>
  <script src="source/script/doc.js"></script>

</body>

</html>

p.s. скорее всего ответ на мой вопрос где-то есть, но моего опыта (судя по видео-гайдам) все таки не хватает что бы перенести знания на мой случай. Можете помочь именно с моим проектом? Хотя бы натолкнуть на решение относительно моего случая. Спасибо!


Ответы (0 шт):