Как в CSS3 использовать одновременно max-width и min-height в рамках media-запроса?

У меня возникли проблемы с использованием media-запроса.

Вот мой код:

@media (max-width: 1441px) and (min-height: 899px) {
  header {
    .container {
      max-width: calc(54vw + 54vh);
    }
  }
}

Хочу установить отдельное свойство max-width для контейнера на экранах 1440х900, но по каким-то причинам данный media-запрос не работает.

У меня есть предположение, что браузер округляет значения max-width и min-height, из-за чего код перестаёт работать. К такому выводу я пришёл из-за того, что со значениями 1500px и 800px всё работает как нужно, но несмотря на это, я хочу всё же добиться работы с изначальными значениями - 1441px и 899px, а не городить какие-то "костыли".

Что для этого нужно сделать? Как заставить заработать такой запрос?

Я не забыл в html прописать <meta name="viewport" content="width=device-width, initial-scale=1.0">

изм: Сейчас попробовал такое решение:

@media (device-aspect-ratio: 8 / 5) {
  header {
    .container {
      max-width: calc(54vw + 54vh);
    }
  }
}

Это работает, но параметр device-aspect-ratio признан устаревшим и его советуют не использовать, так что он не решит мою проблему.

Вот скриншот как я определяю подключились ли стили из media-запроса (выделил красным).

Разрешение 1440х900

Я всё проверил, файл ТОЧНО подключён и его ТОЧНО ничего не перебивает.

* {
  margin: 0;
  padding: 0;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  box-sizing: border-box;
  text-decoration: none;
  list-style: none;
  border: none;
  outline: none;
  line-height: 1;
}

header {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: calc(3vw + 3vh);
  position: fixed;
  z-index: 10;
  top: 0;
  background-color: rgba(20, 20, 20, 0.5);
}

header .container {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 100%;
  max-width: calc(56vw + 56vh);
}

header .container .support-blocks,
header .container .support-blocks .form-wrapper-container,
header .container .support-blocks .logo-block {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  width: fit-content;
  height: 100%;
  margin: 0 calc(1.5vw + 1.5vh) 0 calc(3vw + 3vh);
}

header .container .support-blocks .logo-block {
  margin: 0;
  margin-right: calc(1.5vw + 1.5vh);
}

header .container .support-blocks .logo-block img {
  width: calc(2.5vw + 2.5vh);
  height: calc(2.5vw + 2.5vh);
  margin-right: calc(0.25vw + 0.25vh);
}

header .container .support-blocks .logo-block a {
  font-size: calc(1.5vw + 1.5vh);
  font-weight: 400;
  color: rgba(255, 255, 255, 0.7);
}

header .container .support-blocks .form-wrapper-container {
  margin: 0;
}

header .container .support-blocks .form-wrapper-container .form-block {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  width: fit-content;
  height: 100%;
}

header .container .support-blocks .form-wrapper-container .form-block .search-wrapper {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: center;
  width: fit-content;
  height: fit-content;
  position: relative;
}

header .container .support-blocks .form-wrapper-container .form-block .search-wrapper .search {
  width: calc(9.2vw + 9.2vh);
  height: calc(1.6vw + 1.6vh);
  font-size: calc(0.75vw + 0.75vh);
  font-weight: 350;
  padding: 0 calc(0.5vw + 0.5vh) 0 calc(1.55vw + 1.55vh);
  border-radius: calc(0.25vw + 0.25vh);
  background-color: rgba(255, 255, 255, 0.7);
}

header .container .support-blocks .form-wrapper-container .form-block .search-wrapper .search::placeholder {
  color: rgba(10, 10, 10, 0.5);
}

header .container .support-blocks .form-wrapper-container .form-block .search-wrapper .search-icon {
  width: calc(1.2vw + 1.2vh);
  height: fit-content;
  position: absolute;
  left: calc(0.15vw + 0.15vh);
}

header .container .support-blocks .form-wrapper-container .form-block .button {
  width: calc(1.6vw + 1.6vh);
  height: calc(1.6vw + 1.6vh);
  margin-left: calc(0.35vw + 0.35vh);
  border: calc(0.1vw + 0.1vh) solid transparent;
  border-radius: calc(0.25vw + 0.25vh);
  background-color: rgba(255, 255, 255, 0.7);
  transition-property: box-shadow, background-color;
  transition-duration: 400ms, 600ms;
}

header .container .support-blocks .form-wrapper-container .form-block .button:hover {
  box-shadow: 0 0 calc(0.5vw + 0.5vh) rgb(255, 255, 255);
  background-color: rgb(255, 255, 255);
  cursor: pointer;
}

header .container .support-blocks .form-wrapper-container .form-block #lang-button {
  background-image: url("../../../img/lang.png");
  background-size: cover;
  background-repeat: no-repeat;
}

header .container .support-blocks .form-wrapper-container .form-block #help-button {
  background-image: url("../../../img/help.png");
  background-size: cover;
  background-repeat: no-repeat;
}

header .container .navigation-blocks,
header .container .navigation-blocks .main-block {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  width: fit-content;
  height: 100%;
  margin: 0 calc(3vw + 3vh) 0 calc(1.5vw + 1.5vh);
}

header .container .navigation-blocks .main-block {
  margin: 0;
  padding: 0 calc(0.69vw + 0.69vh);
  transition-property: background-color;
  transition-duration: 800ms;
}

header .container .navigation-blocks .main-block:hover {
  background-color: rgba(10, 10, 10, 0.75);
}

header .container .navigation-blocks .main-block a {
  font-size: calc(0.92vw + 0.92vh);
  font-weight: 350;
  color: rgb(255, 255, 255);
  transition-property: color;
  transition-duration: 400ms;
}

header .container .navigation-blocks .main-block a:hover {
  color: rgb(255, 255, 0);
  cursor: pointer;
}

@media (max-width: 1441px) and (min-height: 899px) {
  header .container {
    max-width: calc(46vw + 46vh);
    background-color: rgba(100, 20, 20, 0.75);
  }
}
<!DOCTYPE html>
<html lang="ru">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <link rel="stylesheet" href="/style.css">
  <title>Home | Главная</title>
</head>

<body id="index-body">
  <header>
    <div class="container">
      <div class="support-blocks">
        <div class="logo-block">
          <a href="#" target="_self"><i>Text</i></a>
        </div>
        <div class="form-wrapper-container">
          <form class="form-block" action="#" method="get">
            <div class="search-wrapper">
              <input class="search" type="search" placeholder="Find something..." maxlength="21" required>
            </div>
            <input class="button" id="lang-button" type="button" value="">
            <input class="button" id="help-button" type="button" title="Have a question?" value="">
          </form>
        </div>
      </div>
      <nav class="navigation-blocks">
        <span class="main-block"><a href="#" target="_self">Home</a></span>
        <span class="main-block"><a href="#" target="_self">Catalog</a></span>
        <span class="main-block"><a href="#" target="_self">Account</a></span>
      </nav>
    </div>
  </header>
</body>

</html>


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

Автор решения: BlackStar1991

Вы что-то не то в стилях задаете. Как вы вообще собираетесь понять, работет оно у вас или нет через параметр max-width: calc(54vw + 54vh); (тут написано что-то непонятное... если вы оперируете px)? Если .container это <div> элемент, то он имеет блочную структуру по умолчанию и растягиваеться на всю ширину экрана.

body {
  margin: 0;
  padding: 0;
}

header .container {
  background-color: #f00;
  min-height: 50px;
}

@media (max-width: 1441px) and (min-height: 899px) {
  header .container {
    background-color: #0f0;
  }
}
<header>
  <div class="container"></div>
</header>

→ Ссылка