1
resposta

mais duvidas

No meu código eu consigui fazer as letras se alinharem usado o comando text-align: center; Mais eu não consigui que o espaço abaixo usado para digita se alinha-se junto com a letra, você sabem como fazer isto

<!DOCTYPE html>
<html lang="pt-BR">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Contas</title>
    <link rel="stylesheet" href="styles.css">
</head>
<body>
    <form id="form-contas">
        <label for="luz">Conta de Luz:</label>
        <input type="text" id="conta-de-luz" name="luz"><br>

        <label for="agua">Conta de Água:</label>
        <input type="text" id="conta-de-água" name="agua"><br>

        <label for="telefone">Conta de Telefone:</label>
        <input type="text" id="conta-de-telefone" name="telefone"><br>

        <label for="aluguel">Conta do Aluguel:</label>
        <input type="text" id="conta-do-aluguel" name="aluguel"><br>

        <label for="impostos">Impostos a Pagar:</label>
        <input type="text" id="impostos-a-pagar" name="impostos"><br>

        <button type="submit">Adicionar</button>
    </form>

    <script src="script.js"></script>
</body>
</html>
body {
    font-family: Arial, sans-serif;
    margin: 20px;
    color: blue;
    background: black;
}

form {
    max-width: 400px;
    margin: 0 auto;
    
}

label, input {
    display: block;
    margin-bottom: 10px;
    text-align: center;
}

button {
    padding: 5px 10px;
}
class Contas {
    constructor() {
        const $ = document.querySelector.bind(document);
        this.inputLuz = $('#conta-de-luz');
        this.inputÁgua = $('#conta-de-água');
        this.inputTelefone = $('#conta-de-telefone');
        this.inputAluguel = $('#conta-do-aluguel');
        this.inputImpostos = $('#impostos-a-pagar');

        const form = $('#form-contas');
        form.addEventListener('submit', this.adiciona.bind(this));
    }

    adiciona(event) {
        event.preventDefault();

        console.log(this.inputLuz.value);
        console.log(this.inputÁgua.value);
        console.log(this.inputTelefone.value);
        console.log(this.inputAluguel.value);
        console.log(this.inputImpostos.value);
    }
}

new Contas();
1 resposta

Olá Jorge! Tudo bem?

Para alinhar os campos de input junto com os labels no centro, você pode ajustar o CSS usando o flexbox:

body {
    font-family: Arial, sans-serif;
    margin: 20px;
    color: blue;
    background: black;
}

form {
    max-width: 400px;
    margin: 0 auto;
    display: flex; /* Flexbox para alinhar filhos */
    flex-direction: column; /* Coloca filhos em coluna */
    align-items: center; /* Centraliza filhos horizontalmente */
}

label, input {
    display: block;
    margin-bottom: 10px;
    text-align: center; /* Centraliza texto dentro do label/input */
    width: 100%;
    max-width: 300px;
    margin-left: auto; /* Centraliza horizontalmente */
    margin-right: auto; /* Centraliza horizontalmente */
}

input {
    text-align: center; /* Centraliza texto digitado */
}

button {
    padding: 5px 10px;
}

O que foi feito foi:

  • O seletor form usa display: flex, flex-direction: column e align-items: center. Isso faz com que todos os elementos filhos do formulário (labels, inputs, botões) fiquem centralizados horizontalmente dentro do formulário.
  • Os seletores label, input têm display: block, margin-left: auto e margin-right: auto, o que garante que cada label e input ocupe toda a largura disponível e fique centralizado dentro do formulário.
  • O text-align: center nos label, input faz com que o texto dentro desses elementos fique centralizado.
  • O seletor input também tem text-align: center para garantir que o texto digitado pelo usuário fique centralizado dentro do campo.

Com essas alterações, os labels e inputs de texto ficam centralizados juntos assim:

Formulário com fundo preto e campos brancos para inserir valores de contas (luz, água, telefone, aluguel e impostos), com botão "Adicionar" centralizado

Espero ter ajudado. Conte com o apoio do fórum :)

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado