Как сделать мой код отзывчивым? Я хочу, чтобы прокрутка была добавлена на всю страницу, когда Flexbox завершается новой линией, а не только в Div Flexbox. Я почти ничего не понимаю о Frontend, и это на самом деле учебный проект, но я не могу найти ответ на мою проблему нигде. Как бы вы сделали этот код отзывчивым? Я могу предоставить ссылку GitHub, если это необходимо. < /P>
"use client";
import "./cadastrar-usuario.css";
import BotaoRedondo from "../components/botaoRedondo/botaoRedondo";
import { useState } from "react";
import BotaoRedondoSubmit from "../components/botaoRedondoSubmit/botaoRedondoSubmit";
export default function CadastroUsuario() {
const [formData, setFormData] = useState({
primeiroNome: "",
ultimoNome: "",
usuario: "",
email: "",
senha: "",
confirmarSenha: "",
});
const handleInputChange = (e) => {
const { name, value } = e.target;
setFormData((prev) => ({
...prev,
[name]: value,
}));
};
const [erro, setErro] = useState();
const handleSubmit = async (e) => {
e.preventDefault();
// Erro: As senhas devem coincidir
if (formData.senha !== formData.confirmarSenha) {
setErro("Erro! As senhas não coincidem!");
return;
}
setErro("");
try {
const response = await fetch("http://localhost:8000/en/api/users/", {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body:
JSON
.stringify({
first_name: formData.primeiroNome,
last_name: formData.ultimoNome,
username: formData.usuario,
email: formData.email,
password: formData.senha,
}),
credentials: "include",
});
if (!response.ok) {
const errorData = await response.json();
const firstKey =
Object
.keys(errorData)[0];
const errorMessage = errorData[firstKey]?.[0];
setErro(errorMessage);
return;
}
const data = await response.json();
console
.log(data);
window
.location.href = "/login";
} catch (error) {
console
.error(error);
setErro("Erro inesperado! Tente novamente mais tarde!");
}
};
return (
Cadastrar-se
{erro && & l t ; d i v c l a s s N a m e = & q u o t ; e r r o & q u o t ; & g t ; { e r r o } & l t ; / d i v & g t ; } < b r / > & l t ; / d i v & g t ; < b r / >
Primeiro nome:
Último nome:
Usuário:
E-mail:
Senha:
Confirmar senha:
);
}
"use client";
import "./cadastrar-usuario.css";
import BotaoRedondo from "../components/botaoRedondo/botaoRedondo";
import { useState } from "react";
import BotaoRedondoSubmit from "../components/botaoRedondoSubmit/botaoRedondoSubmit";
export default function CadastroUsuario() {
const [formData, setFormData] = useState({
primeiroNome: "",
ultimoNome: "",
usuario: "",
email: "",
senha: "",
confirmarSenha: "",
});
const handleInputChange = (e) => {
const { name, value } = e.target;
setFormData((prev) => ({
...prev,
[name]: value,
}));
};
const [erro, setErro] = useState();
const handleSubmit = async (e) => {
e.preventDefault();
// Erro: As senhas devem coincidir
if (formData.senha !== formData.confirmarSenha) {
setErro("Erro! As senhas não coincidem!");
return;
}
setErro("");
try {
const response = await fetch("http://localhost:8000/en/api/users/", {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({
first_name: formData.primeiroNome,
last_name: formData.ultimoNome,
username: formData.usuario,
email: formData.email,
password: formData.senha,
}),
credentials: "include",
});
if (!response.ok) {
const errorData = await response.json();
const firstKey = Object.keys(errorData)[0];
const errorMessage = errorData[firstKey]?.[0];
setErro(errorMessage);
return;
}
const data = await response.json();
console.log(data);
window.location.href = "/login";
} catch (error) {
console.error(error);
setErro("Erro inesperado! Tente novamente mais tarde!");
}
};
return (
Cadastrar-se
{erro && {erro}}
Primeiro nome:
Último nome:
Usuário:
E-mail:
Senha:
Confirmar senha:
);
}
.pagina-contatiner {
display: flex;
overflow-y: auto;
}
html, body {
height: 100%; /* Garantir que o body ocupe 100% da altura */
overflow-y: auto; /* Permite a rolagem */
margin: 0; /* Remover margens padrão */
}
.background-img {
position: fixed; /* Mantém a imagem fixa no fundo */
top: 0;
left: 0;
width: 100%;
height: 100%; /* Cobrir toda a tela */
background-image: url('../../../public/images/login-background.jpg');
background-size: cover;
background-position: center;
background-repeat: no-repeat;
z-index: -1; /* Manter a imagem atrás de todos os outros conteúdos */
}
.menu {
position: fixed; /* Fixa o menu no fundo */
bottom: 0;
left: 0;
width: 100%;
height: 25vh; /* Ajuste conforme necessário */
background-color: #441C1C;
display: flex;
flex-wrap: wrap;
justify-content: space-around;
align-items: center;
z-index: 1; /* Garantir que o menu fique acima da imagem */
}
.content {
flex-grow: 1; /* Permite que o conteúdo cresça e ocupe o espaço disponível */
padding-bottom: 25vh; /* Adiciona um espaço para o menu fixo */
overflow-y: auto; /* Permite a rolagem vertical */
min-height: 100vh; /* Garante que a div tenha altura mínima */
}
form {
display: flex;
flex-direction: column;
justify-content: space-around;
gap: 5px;
}
.cadastro-div {
width: 100%;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
}
.cadastro {
font-size: 1.8rem;
color: #FFFFFF;
text-shadow: 1px 1px 0 #000000,
-1px -1px 0 #000000,
1px -1px 0 #000000,
-1px 1px 0 #000000;
margin: 0;
}
.input-div {
display: flex;
flex-direction: column;
margin: 0 15px;
}
.inputs-superiores {
display: flex;
justify-content: space-around;
}
.inputs-inferiores {
display: flex;
justify-content: space-around;
}
.label {
color: #FFFFFF;
font-weight: bold;
}
.pagina-contatiner {
display: flex;
overflow-y: auto;
}
html, body {
height: 100%; /* Garantir que o body ocupe 100% da altura */
overflow-y: auto; /* Permite a rolagem */
margin: 0; /* Remover margens padrão */
}
.background-img {
position: fixed; /* Mantém a imagem fixa no fundo */
top: 0;
left: 0;
width: 100%;
height: 100%; /* Cobrir toda a tela */
background-image: url('../../../public/images/login-background.jpg');
background-size: cover;
background-position: center;
background-repeat: no-repeat;
z-index: -1; /* Manter a imagem atrás de todos os outros conteúdos */
}
.menu {
position: fixed; /* Fixa o menu no fundo */
bottom: 0;
left: 0;
width: 100%;
height: 25vh; /* Ajuste conforme necessário */
background-color: #441C1C;
display: flex;
flex-wrap: wrap;
justify-content: space-around;
align-items: center;
z-index: 1; /* Garantir que o menu fique acima da imagem */
}
.content {
flex-grow: 1; /* Permite que o conteúdo cresça e ocupe o espaço disponível */
padding-bottom: 25vh; /* Adiciona um espaço para o menu fixo */
overflow-y: auto; /* Permite a rolagem vertical */
min-height: 100vh; /* Garante que a div tenha altura mínima */
}
form {
display: flex;
flex-direction: column;
justify-content: space-around;
gap: 5px;
}
.cadastro-div {
width: 100%;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
}
.cadastro {
font-size: 1.8rem;
color: #FFFFFF;
text-shadow: 1px 1px 0 #000000,
-1px -1px 0 #000000,
1px -1px 0 #000000,
-1px 1px 0 #000000;
margin: 0;
}
.input-div {
display: flex;
flex-direction: column;
margin: 0 15px;
}
.inputs-superiores {
display: flex;
justify-content: space-around;
}
.inputs-inferiores {
display: flex;
justify-content: space-around;
}
.label {
color: #FFFFFF;
font-weight: bold;
}
Подробнее здесь: https://stackoverflow.com/questions/794 ... responsive
Heledbox Help - должна быть отзывчиво ⇐ Html
Программисты Html
1739301524
Anonymous
Как сделать мой код отзывчивым? Я хочу, чтобы прокрутка была добавлена на всю страницу, когда Flexbox завершается новой линией, а не только в Div Flexbox. Я почти ничего не понимаю о Frontend, и это на самом деле учебный проект, но я не могу найти ответ на мою проблему нигде. Как бы вы сделали этот код отзывчивым? Я могу предоставить ссылку GitHub, если это необходимо. < /P>
"use client";
import "./cadastrar-usuario.css";
import BotaoRedondo from "../components/botaoRedondo/botaoRedondo";
import { useState } from "react";
import BotaoRedondoSubmit from "../components/botaoRedondoSubmit/botaoRedondoSubmit";
export default function CadastroUsuario() {
const [formData, setFormData] = useState({
primeiroNome: "",
ultimoNome: "",
usuario: "",
email: "",
senha: "",
confirmarSenha: "",
});
const handleInputChange = (e) => {
const { name, value } = e.target;
setFormData((prev) => ({
...prev,
[name]: value,
}));
};
const [erro, setErro] = useState();
const handleSubmit = async (e) => {
e.preventDefault();
// Erro: As senhas devem coincidir
if (formData.senha !== formData.confirmarSenha) {
setErro("Erro! As senhas não coincidem!");
return;
}
setErro("");
try {
const response = await fetch("http://localhost:8000/en/api/users/", {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body:
JSON
.stringify({
first_name: formData.primeiroNome,
last_name: formData.ultimoNome,
username: formData.usuario,
email: formData.email,
password: formData.senha,
}),
credentials: "include",
});
if (!response.ok) {
const errorData = await response.json();
const firstKey =
Object
.keys(errorData)[0];
const errorMessage = errorData[firstKey]?.[0];
setErro(errorMessage);
return;
}
const data = await response.json();
console
.log(data);
window
.location.href = "/login";
} catch (error) {
console
.error(error);
setErro("Erro inesperado! Tente novamente mais tarde!");
}
};
return (
Cadastrar-se
{erro && & l t ; d i v c l a s s N a m e = & q u o t ; e r r o & q u o t ; & g t ; { e r r o } & l t ; / d i v & g t ; } < b r / > & l t ; / d i v & g t ; < b r / >
Primeiro nome:
Último nome:
Usuário:
E-mail:
Senha:
Confirmar senha:
);
}
"use client";
import "./cadastrar-usuario.css";
import BotaoRedondo from "../components/botaoRedondo/botaoRedondo";
import { useState } from "react";
import BotaoRedondoSubmit from "../components/botaoRedondoSubmit/botaoRedondoSubmit";
export default function CadastroUsuario() {
const [formData, setFormData] = useState({
primeiroNome: "",
ultimoNome: "",
usuario: "",
email: "",
senha: "",
confirmarSenha: "",
});
const handleInputChange = (e) => {
const { name, value } = e.target;
setFormData((prev) => ({
...prev,
[name]: value,
}));
};
const [erro, setErro] = useState();
const handleSubmit = async (e) => {
e.preventDefault();
// Erro: As senhas devem coincidir
if (formData.senha !== formData.confirmarSenha) {
setErro("Erro! As senhas não coincidem!");
return;
}
setErro("");
try {
const response = await fetch("http://localhost:8000/en/api/users/", {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({
first_name: formData.primeiroNome,
last_name: formData.ultimoNome,
username: formData.usuario,
email: formData.email,
password: formData.senha,
}),
credentials: "include",
});
if (!response.ok) {
const errorData = await response.json();
const firstKey = Object.keys(errorData)[0];
const errorMessage = errorData[firstKey]?.[0];
setErro(errorMessage);
return;
}
const data = await response.json();
console.log(data);
window.location.href = "/login";
} catch (error) {
console.error(error);
setErro("Erro inesperado! Tente novamente mais tarde!");
}
};
return (
Cadastrar-se
{erro && {erro}}
Primeiro nome:
Último nome:
Usuário:
E-mail:
Senha:
Confirmar senha:
);
}
.pagina-contatiner {
display: flex;
overflow-y: auto;
}
html, body {
height: 100%; /* Garantir que o body ocupe 100% da altura */
overflow-y: auto; /* Permite a rolagem */
margin: 0; /* Remover margens padrão */
}
.background-img {
position: fixed; /* Mantém a imagem fixa no fundo */
top: 0;
left: 0;
width: 100%;
height: 100%; /* Cobrir toda a tela */
background-image: url('../../../public/images/login-background.jpg');
background-size: cover;
background-position: center;
background-repeat: no-repeat;
z-index: -1; /* Manter a imagem atrás de todos os outros conteúdos */
}
.menu {
position: fixed; /* Fixa o menu no fundo */
bottom: 0;
left: 0;
width: 100%;
height: 25vh; /* Ajuste conforme necessário */
background-color: #441C1C;
display: flex;
flex-wrap: wrap;
justify-content: space-around;
align-items: center;
z-index: 1; /* Garantir que o menu fique acima da imagem */
}
.content {
flex-grow: 1; /* Permite que o conteúdo cresça e ocupe o espaço disponível */
padding-bottom: 25vh; /* Adiciona um espaço para o menu fixo */
overflow-y: auto; /* Permite a rolagem vertical */
min-height: 100vh; /* Garante que a div tenha altura mínima */
}
form {
display: flex;
flex-direction: column;
justify-content: space-around;
gap: 5px;
}
.cadastro-div {
width: 100%;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
}
.cadastro {
font-size: 1.8rem;
color: #FFFFFF;
text-shadow: 1px 1px 0 #000000,
-1px -1px 0 #000000,
1px -1px 0 #000000,
-1px 1px 0 #000000;
margin: 0;
}
.input-div {
display: flex;
flex-direction: column;
margin: 0 15px;
}
.inputs-superiores {
display: flex;
justify-content: space-around;
}
.inputs-inferiores {
display: flex;
justify-content: space-around;
}
.label {
color: #FFFFFF;
font-weight: bold;
}
.pagina-contatiner {
display: flex;
overflow-y: auto;
}
html, body {
height: 100%; /* Garantir que o body ocupe 100% da altura */
overflow-y: auto; /* Permite a rolagem */
margin: 0; /* Remover margens padrão */
}
.background-img {
position: fixed; /* Mantém a imagem fixa no fundo */
top: 0;
left: 0;
width: 100%;
height: 100%; /* Cobrir toda a tela */
background-image: url('../../../public/images/login-background.jpg');
background-size: cover;
background-position: center;
background-repeat: no-repeat;
z-index: -1; /* Manter a imagem atrás de todos os outros conteúdos */
}
.menu {
position: fixed; /* Fixa o menu no fundo */
bottom: 0;
left: 0;
width: 100%;
height: 25vh; /* Ajuste conforme necessário */
background-color: #441C1C;
display: flex;
flex-wrap: wrap;
justify-content: space-around;
align-items: center;
z-index: 1; /* Garantir que o menu fique acima da imagem */
}
.content {
flex-grow: 1; /* Permite que o conteúdo cresça e ocupe o espaço disponível */
padding-bottom: 25vh; /* Adiciona um espaço para o menu fixo */
overflow-y: auto; /* Permite a rolagem vertical */
min-height: 100vh; /* Garante que a div tenha altura mínima */
}
form {
display: flex;
flex-direction: column;
justify-content: space-around;
gap: 5px;
}
.cadastro-div {
width: 100%;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
}
.cadastro {
font-size: 1.8rem;
color: #FFFFFF;
text-shadow: 1px 1px 0 #000000,
-1px -1px 0 #000000,
1px -1px 0 #000000,
-1px 1px 0 #000000;
margin: 0;
}
.input-div {
display: flex;
flex-direction: column;
margin: 0 15px;
}
.inputs-superiores {
display: flex;
justify-content: space-around;
}
.inputs-inferiores {
display: flex;
justify-content: space-around;
}
.label {
color: #FFFFFF;
font-weight: bold;
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79431118/flexbox-help-needs-to-be-responsive[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия