Должно работать нормально так:
<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» к телу? Вы должны указать, что делать, если оно меньше, и что делать, если оно превышает пороговое значение вашего пикселя.