Страница не растягивается на полный экран
Начал пробовать стилизовать страницы в React, и столкнулся с проблемой, что компонент страницы прижимается к левому краю экрана, и остальное пространство не заполняется стилями.
И получается такая вот картина:
Сам не понял в чем проблема, в стилях, или в самом React
Вот сам класс компонента:
export default class NotFound extends Component {
static NotFoundComponent() {
return (
<div className="error-container">
<div className="error-code">
<h1>404</h1>
</div>
<br />
<div className="error-description">
<h2>Page not found</h2>
</div>
<div className="divider"></div>
<Link to="/" className="main-button">
Back to main page
</Link>
</div>
);
}
render() {
return (
<>
{NotFound.NotFoundComponent()}
</>
);
}
}
Вот файл со стилями NotFound.css:
.error-container {
background-color: black;
color: white;
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: center;
min-height: 100vh;
padding-top: 100px;
}
.error-code h1 {
font-size: 5em;
}
.main-button {
display: inline-block;
padding: 15px 30px;
font-size: 1.2em;
background-color: #007bff;
color: white;
border: none;
cursor: pointer;
text-decoration: none;
margin: 0 auto;
}
.error-description h2 {
font-size: 2em;
color: gray;
flex: 1;
}
.divider {
width: 80px;
height: 2px;
background-color: gray;
margin-top: 20px;
margin-bottom: 20px;
}
Вот файл index.css:
:root {
font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;
line-height: 1.5;
font-weight: 400;
color-scheme: light dark;
color: rgba(255, 255, 255, 0.87);
background-color: #242424;
font-synthesis: none;
text-rendering: optimizeLegibility;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
a {
font-weight: 500;
color: #646cff;
text-decoration: inherit;
}
a:hover {
color: #535bf2;
}
body {
margin: 0;
display: flex;
place-items: center;
min-width: 320px;
min-height: 100vh;
}
h1 {
font-size: 3.2em;
line-height: 1.1;
}
button {
border-radius: 8px;
border: 1px solid transparent;
padding: 0.6em 1.2em;
font-size: 1em;
font-weight: 500;
font-family: inherit;
background-color: #1a1a1a;
cursor: pointer;
transition: border-color 0.25s;
}
button:hover {
border-color: #646cff;
}
button:focus,
button:focus-visible {
outline: 4px auto -webkit-focus-ring-color;
}
@media (prefers-color-scheme: light) {
:root {
color: #213547;
background-color: #ffffff;
}
a:hover {
color: #747bff;
}
button {
background-color: #f9f9f9;
}
}
Ответы (1 шт):
Автор решения: air2921
→ Ссылка
Проблема оказалась в глобальных стилях React, а именно в файле index.css
Не могу сказать точно почему это таким образом влияло, но если в body
body {
margin: 0;
/*display: flex;*/
place-items: center;
min-width: 320px;
min-height: 100vh;
}
Закоментировать стиль display: flex; то все нормализуется
Возможно это не самое лучшее решение проблемы, но пока что только такое нашел.
