Итак, у меня есть веб-сайт с отзывчивым CSS (ориентированным на мобильные устройства).В таблице стилей CSS есть правила для мобильной версии, затем (в конце файла) запросы @media начинаются для более широких экранов, а затем для мобильных.
Когда страница загружается на рабочий стол (и если эта страница некэшируется браузером), сначала загружается мобильный css, затем менее чем за секунду он переключается на стили рабочего стола.Так что он мигает с мобильной версией CSS (учитывая тот факт, что рабочий стол шире, чем мобильный экран, он растягивает огромные элементы по всей странице), затем выглядит хорошо.
Я понимаю, что браузер должен загрузитьТаблица стилей полностью, и, прежде чем это сделать, он показывает, что он уже загружен.Я понимаю, что это поведение объяснимо, но оно все еще меня беспокоит.
Есть ли способ загрузить css, не мигая с мобильной версией (но БЕЗ создания ориентации на десктоп (так, чтобы css на рабочем столе загружался первым,а остальное было обработано запросами @media)) и стоит ли мне вообще беспокоиться об этом (или это просто нормально и должно оставаться таким)?
Вот код:
Метатеги до CSS:
<meta charset="UTF-8"/>
<meta name="mobile-web-app-capable" content="yes">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no, minimal-ui">
<link rel="apple-touch-icon" href="images/icn.png" />
<link rel="shortcut icon" href="images/icn.png" type="image/x-icon" />
Вызов CSS из файла HTML:
<link rel="stylesheet" href="styles/page1.css">
Пример файла CSS (сокращено (это только пример структурыCSS в файле)):
html {
margin:0;
height:100%;
padding:0;
}
body {
height:100%;
margin:0;
padding:0;
font-size:16px;
}
.first-panel {
background: black;
width:250px;
height:100vh;
color:white;
position:fixed;
left:0;
clear:both;
top:0
}
.no-user-select {
-webkit-user-select:none;
-moz-user-select:none;
-ms-user-select:none;
user-select:none
}
@media only screen and (min-width:480px) {
}
@media only screen and (min-width:640px) {
}
@media only screen and (min-width:768px) {
}
@media only screen and (min-width:1024px) {
.first-panel {
background: white;
color:black;
}
}
@media only screen and (min-width:1280px) {
}