CSS / HTML адаптивный дизайн - PullRequest
0 голосов
/ 01 марта 2020

Я начинающий. Я хочу, чтобы на экранах шириной 592 пикселей или более появлялось «1.png». А на экранах меньше 592ox появится еще одна фотография: «2.png».
Что не так с кодом? Я не могу понять это правильно.

<head>
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <style>
    body, html {
      height: 100%;
      margin: 0;
    }
    .bg {
      background-image: url("1.png");
      height: 100%; 
      background-position: center;
      background-repeat: no-repeat;
      background-size: cover;
    }
    @media screen and (max-width: 592px) {
      body {
        display: none;
      }
    .bg2 {
      background-image: url("2.png");
      height: 100%; 
      background-position: center;
      background-repeat: no-repeat;
      background-size: cover;
    }
  </style>
</head>

<body>
  <div class="bg"></div>
</body>

Ответы [ 3 ]

0 голосов
/ 01 марта 2020

Я просто напишу ответ. В коде также есть несколько других плохих поведений.

<style>
body, html {
  height: 100%;
  margin: 0;
}
.bg {
  background-image: url("1.png");
  height: 100%; 
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
@media screen and (max-width: 592px) {
 .bg {
   background-image: url("2.png");
 }
}
</style>


<div class="bg"></div>
  • Вы можете использовать высоту окна, например, 100vh
  • Не ставить display: none для тега body
0 голосов
/ 01 марта 2020

Должно работать нормально так:

<head>
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <style>
    body, html {
      height: 100%;
      margin: 0;
    }

    .bg {
      height: 100%; 
      background-position: center;
      background-repeat: no-repeat;
      background-size: cover;
    }
    @media screen and (max-width: 592px) {
      .bg {
        background: url("1.png");
      }
    } 
    @media screen and (min-width: 592px) {
      .bg {
        background: url("2.png");
      }
    }
  </style>
</head>

<body>
  <div class="bg"></div>
</body>

Я думаю, что вы на правильном пути. Но почему вы применили «display: None» к телу? Вы должны указать, что делать, если оно меньше, и что делать, если оно превышает пороговое значение вашего пикселя.

0 голосов
/ 01 марта 2020

это только синтаксическая ошибка css,

попробуйте это!

<style>
    body, html {
      height: 100%;
      margin: 0;
    }

    .bg {
      background-image: url("1.png");
      height: 100%; 
      background-position: center;
      background-repeat: no-repeat;
      background-size: cover;
    }
    @media(max-width: 592px) {
    .bg {
      background-image: url("2.png");
    }
    }
</style>

объяснил: вам нужно изменить URL-адрес класса .bg только когда экран равен 592px.

, дайте мне знать, если он работает для вас

...