Как исправить высоту и ширину веб-сайта на мобильном телефоне в React JS?

Я новичок в 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>
    );
};

Вот как это выглядит на мобильном телефоне:

Если кто-то скажет мне, что я делаю неправильно, будет здорово!

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
0
54
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Если вы считаете, что приведенный ниже анализ + исправление не решают вашу проблему, отредактируйте исходный вопрос, включив в него более подробную информацию о том, чего вы пытаетесь достичь.

  • Вы указали 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; */
  }
}

Спасибо, на мобильном телефоне это исправили, но теперь в моем браузере высота тоже 50%, и я не понимаю, почему?

newbie coder 15.05.2024 08:56

@newbiecoder Я тоже оставил исправление в нижней части исправленного файла CSS, вы можете просто раскомментировать его.

Nesh 15.05.2024 10:34

Другие вопросы по теме