Адаптация стилей: картинка "едет" при изменении монитора
Добрый день! Я только изучаю фронтенд
Столкнулся с новой проблемой: адаптация сайта. Я посмотрел видео ролики - с примитивными текстами вроде-бы все понятно. Как насчёт уже готового сайта с большим кол-вом картинок?
Помочь мне не может даже 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 © 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. скорее всего ответ на мой вопрос где-то есть, но моего опыта (судя по видео-гайдам) все таки не хватает что бы перенести знания на мой случай. Можете помочь именно с моим проектом? Хотя бы натолкнуть на решение относительно моего случая. Спасибо!