Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

fomulário centralizado

Boa tarde pessoal,

Estou com dúvida em relação ao posicionamento do formulário, atualmente, como o professor mostrou no curso, ele fica deslocado para a esquerda. Gostaria de colocar ele centralizado, tanto na versao desktop como na mobile.

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width" />
    <title>Contato</title>
    <link rel="stylesheet" href="reset.css" />
    <link rel="stylesheet" href="style.css" />
    <link rel="preconnect" href="https://fonts.googleapis.com" />
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
    <link
      href="https://fonts.googleapis.com/css2?family=Roboto+Flex:opsz,wght@8..144,300&display=swap"
      rel="stylesheet"
    />
  </head>

  <body>
    <header>
      <div class="caixa">
        <h1>
          <img src="imagens/logo.png" alt="logo da Barbearia Alura" />
        </h1>
        <nav>
          <ul>
            <li><a href="index.html">Home</a></li>
            <li><a href="produtos.html">Produtos</a></li>
            <li><a href="contato.html">Contato</a></li>
          </ul>
        </nav>
      </div>
    </header>

    <main class="formulario">
      <form>
        <label for="nomesobrenome">Nome e Sobrenome</label>
        <input type="text" id="nomesobrenome" class="input-padrao" required />

        <label for="email">E-mail</label>
        <input
          type="email"
          id="email"
          class="input-padrao"
          required
          placeholder="seuemail@dominio.com"
        />

        <label for="telefone">Telefone</label>
        <input
          type="tel"
          id="telefone"
          class="input-padrao"
          required
          placeholder="(XX) XXXXX-XXXX"
        />

        <label for="mensagem">Mensagem</label>
        <textarea
          cols="80"
          rows="10"
          id="mensagem"
          class="input-padrao"
          required
        ></textarea>

        <fieldset>
          <legend>Como prefere o nosso contato?</legend>
          <label for="radio-email"
            ><input
              type="radio"
              name="contato"
              value="email"
              id="radio-email"
            />Email</label
          >

          <label for="radio-telefone"
            ><input
              type="radio"
              name="contato"
              value="telefone"
              id="radio-telefone"
            />Telefone</label
          >

          <label for="radio-whatsapp"
            ><input
              type="radio"
              name="contato"
              value="whatsapp"
              id="radio-whatsapp"
              checked
            />
            WhatsApp</label
          >
        </fieldset>

        <fieldset>
          <legend>Qual horário prefere ser atendido?</legend>
          <select>
            <option>Manhã</option>
            <option>Tarde</option>
            <option>Noite</option>
            <option>Qualquer hora</option>
          </select>
        </fieldset>

        <label
          ><input type="checkbox" class="checkbox" checked />Gostaria de receber
          nossas novidades por email?
        </label>

        <input type="submit" value="Enviar formulário" class="enviar" />
      </form>

      <table>
        <thead>
          <tr>
            <th>Dia</th>
            <th>Horário</th>
          </tr>
        </thead>

        <tbody>
          <tr>
            <td>Segunda</td>
            <td>8h ~ 20h</td>
          </tr>
          <tr>
            <td>Quarta</td>
            <td>8h ~ 20h</td>
          </tr>
          <tr>
            <td>Sexta</td>
            <td>8h ~ 20h</td>
          </tr>
        </tbody>
      </table>
    </main>

    <footer>
      <img src="imagens/logo-branco.png" alt="logo da Barbearia Alura" />
      <p class="copyright">&copy; Copyright Barbearia Alura - 2022</p>
    </footer>
  </body>
</html>
2 respostas

CSS:

CSS

header {
  background: #BBBBBB;
  padding: 20px 0;
}

body {
  font-family: 'Roboto Flex', sans-serif;
}

.caixa{
  position: relative;
  width: 940px;
  margin: 0 auto;
}

nav {
  position:absolute;
  top:110px;
  right:0px;
}

nav li {
  display: inline;
  margin: 0 0 0 15px;
}


nav a {
  text-transform: uppercase;
  color: #000000;
  font-weight: bold;
  font-size: 22px;
  text-decoration: none;
}

nav a:hover {
  color: #C78C19;
  text-decoration: underline;
}

.produtos{
  width: 940px;
  margin: 0 auto;
  padding: 50px 0;
}

.produtos li {
  display: inline-block;
  text-align: center;
  width:30%;
  vertical-align: top;
  margin: 0 1.5%;
  padding: 30px 20px;
  box-sizing:border-box;
  border: 2px solid black;
  border-radius: 10px;
}

.produtos li:hover{
  border-color:#C78C19;
  color: #C78C19;
}

.produtos li:hover h2{
  font-size:34px;
}

.produtos li:hover .produto-preco{
  font-size:30px;
}


.produtos h2 {
  font-size: 25px;
  font-weight: bold;
}
.produto-descricao{
  font-size:18px;

}
.produto-preco {
  font-size: 22px;
  font-weight: bold;
  margin: 10px 0 0;
}

footer {
  text-align: center;
  padding: 40px 0;
  background: url("imagens/bg.jpg");
  clear: right;
}

.copyright {
  color: #FFFFFF;
  font-size: 13px;
  margin: 20px 0 0;
}

.formulario{
  width: 940px;
  margin: 0 auto;
}

form {
  margin: 40px auto;
}

form label, form legend {
  display: block;
  font-size: 20px;
  margin: 0 0 10px; 
}

.input-padrao {
  display: block;
  margin: 0 0 20px;
  padding: 10px 25px;
  width: 50%;
  font-size:20px;
}

.checkbox {
  margin: 20px 0;
}

.enviar {
  width: 40%;
  padding: 15px 0;
  background-color: #C78C19;
  color: white;
  border: none;
  font-weight: bold;
  font-size: 18px;
  border-radius: 5px;
  transition: 1s;
  cursor: pointer;
}

.enviar:hover {
  background-color: #8a600c;
  transform: scale(1.2);
}

table {
  margin: 20px 0 40px 0 ;
  margin: 20px auto;
}

thead {
  background: #555555;
  color: white;
  font-weight: bold;
}

td, th {
  border: 1px solid black;
  padding: 5px;
}
/*css da página inicial*/

.banner {
  width: 100vw;
  margin: auto;
  }

.titulo-principal {
  text-align: center;
  font-size: 2em;
  margin: 0 0 1em;
  clear: left;
  color: rgb(0,0,0);
}

.principal {
  padding: 3em 0;
  background: #fefefe;
  width: 940px;
  margin: 0 auto;
}

.principal p {
  margin: 0 0 1em;
}

.principal strong {
  font-weight: bold;
}

.principal em {
  font-style:italic;
}

.utensilios {
  width: 110px;
  float: left;
  margin: 0 10px 10px 0;
  border-radius: 10px;
  transition: 0.3s;
}

.utensilios:hover{
  box-shadow: 5px 5px 5px #000000, -5px -5px 5px #000000, -5px 5px 5px #000000, 5px -5px 5px #000000;
  transition: 0.3s;
}

.mapa {
  padding: 3em 0;
  background: linear-gradient(#fefefe,#888888);
}

.mapa-conteudo {
  width: 940px;
  margin: 0 auto;
}

.mapa p {
  margin: 0 0 2em;
  text-align: center;
}

.beneficios{
  padding: 3em 0;
  background: #888888;
}

.conteudo-beneficios{
  width: 640px;
  margin: 0 auto;
}

.lista-beneficios{
  width: 40%;
  display: inline-block;
  vertical-align: top;
}

.itens{
  line-height: 1.5em;
}

.itens:before{
  content: "";
}

.itens:first-child{
  font-weight: bold;
}

.imagem-beneficios {
  border-radius: 10px;
  width: 53%;
  opacity: 1;
  transition: 400ms;
  box-shadow: 10px 10px 5px 5px #000000;
}

.imagem-beneficios:hover{
  opacity:0.3;
  transition: 400ms;
}

.video {
  width: 560px;
  margin: 2em auto;
}

@media screen and (max-width: 480px) {
  .caixa, .principal, .conteudo-beneficios, .mapa-conteudo,  .video, .produtos, .formulario {
    width:auto;
  }
  .caixa {
    text-align: center;
  }

  .caixa nav {
    position:static;
  }

  .lista-beneficios, .imagem-beneficios {
    width: 100%;
  }
 /*ajustes para página do contato*/
  .produtos li{
    display:block;
    margin: 0 auto 10px;
    box-sizing:none;
    width:80%;
  }

}
solução!

Oi Luiz, tudo bem?

No seu formulário você pode tentar algo como definir a largura do formulário como 50% da largura da janela de visualização e, logo depois, pode fornecer 25% da largura com margem à esquerda. Assim:

.formulario{
    width: 50vw;
    margin-left: 25vw;
}

Então, colocando 50vw como valor, ele ocupará 50% da largura da janela de visualização e os 25vw concederá 25% da largura da janela de visualização como margem esquerda. Os 25% que restaram de espaço, estarão à direita do formulário.

Você pode ir testando os valores no seu código, para atingir a visualização que você queira. É um bom jeito de praticar.

Ah você pode fazer a mesma coisa para o mobile! :D

Bons estudos.