Вот решение вашей проблемы - применить медиа-запрос при изменении размера экрана.
Я написал пример кода, чтобы объяснить формат применения медиазапроса для экрана разных размеров:
body {
margin: 0 auto;
max-width: 100%;
width: 100%;
}
.footer_class{
position: fixed;
bottom: 0;
background: #dfdfec;
width: 100%;
text-align: center;
}
.header_class {
position: fixed;
top: 0;
background: #dfdfec;
width: 100%;
text-align: center;
}
/* ----------- iPhone 5, 5S, 5C and 5SE ----------- */
/* Portrait and Landscape */
@media only screen
and (min-device-width: 320px)
and (max-device-width: 568px) {
.title {
font-size:14px;
}
}
/* ----------- iPhone 6, 6S, 7 and 8 ----------- */
/* Portrait and Landscape */
@media only screen
and (min-device-width: 375px)
and (max-device-width: 667px) {
.title {
font-size:20px;
}
}
<DOCTYPE <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Page Title</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<Header class="header_class">
<h1 class="title">Header Section</h1>
</Header>
<article>
<p>Content Section</p>
</article>
<footer class="footer_class">
<h1 class="title">Footer Section</h1>
</footer>
</body>
</html>
давайте разберем ваш медиа-запрос на две части:
@ только для экрана мультимедиа
Это означает, что мы будем применять стили CSS к устройству с экраном. Ключевое слово используется здесь только для того, чтобы скрыть таблицы стилей от старых браузеров от просмотра таблицы стилей телефона.
и (min-device-width: 320px) и (max-device-width: 568px)
Это совершенно очевидно, поскольку это означает, что указанный CSS применяется только тогда, когда устройство имеет размер экрана с минимальным 320 пикселей и максимальным 480 пикселей по ширине.
Надеюсь, это поможет вам решить вашу проблему.