Я новичок в React JS и написал простой веб-сайт, который нормально выглядит в веб-браузере, однако мой внешний вид на мобильных устройствах очень неудовлетворительный. По какой-то причине высота на мобильном устройстве в два раза больше, и я вижу огромную полосу прокрутки, которая а. Мне не нужно и б. там нет контента, поэтому не знаю, почему он показывается.
Вот мой CSS:
.App {
display: flex;
min-width: 768px;
height: 100%;
min-height: 100vh;
background-color: #cbe6ef;
flex-direction: column;
@media only screen and (min-width : 768px) {
width: 50%;
height: 50vh;
}
/* Medium Devices, Desktops */
@media only screen and (min-width : 992px) {
width: 100%;
}
}
Мой App.js:
function App() {
return (
<Routes>
<Route path = "/" element = {<Home />} />
<Route path = "testing" element = {<BetaTesting />} />
</Routes>
);
}
И мой главный экран:
const Home = () => {
const mystyle = {
backgroundImage: "url(/background.png)",
backgroundSize: "cover",
backgroundRepeat: "no-repeat"
}
const [cookies, setCookie] = useCookies(['viewed_cookie_policy']);
return (
<div style = { mystyle } className = "App">
<Header />
<News />
<Footer />
{!cookies.viewed_cookie_policy ? <Consent /> : null}
</div>
);
};
Вот как это выглядит на мобильном телефоне:
Если кто-то скажет мне, что я делаю неправильно, будет здорово!
Если вы считаете, что приведенный ниже анализ + исправление не решают вашу проблему, отредактируйте исходный вопрос, включив в него более подробную информацию о том, чего вы пытаетесь достичь.
min-width: 768px;
в качестве ширины по умолчанию, которая применяется к мобильным устройствам (ширина установлена только на 50 % в вашем первом медиа-запросе).50vh
даже на рабочем столеНиже приведен обновленный код.
.App {
display: flex;
width: 100%;
height: 100%;
min-height: 100vh;
background-color: #cbe6ef;
flex-direction: column;
@media only screen and (min-width : 768px) {
width: 50%;
min-height: 50vh;
height: 50vh;
}
/* Medium Devices, Desktops */
@media only screen and (min-width : 992px) {
width: 100%;
/* Uncomment the below lines if you wish to set your
height over the whole screen on desktops */
/* -- */
/* height: 100%; */
/* min-height: 100vh; */
}
}
@newbiecoder Я тоже оставил исправление в нижней части исправленного файла CSS, вы можете просто раскомментировать его.
Спасибо, на мобильном телефоне это исправили, но теперь в моем браузере высота тоже 50%, и я не понимаю, почему?