Heledbox Help - должна быть отзывчивоHtml

Программисты Html
Ответить
Anonymous
 Heledbox Help - должна быть отзывчиво

Сообщение 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;
}


Подробнее здесь: https://stackoverflow.com/questions/794 ... responsive
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Html»