Jump to content
bleszerd

Dúvida sobre estilização com flexbox

Recommended Posts

Estou migrando para o frontend recentemente e tenho tido dificuldades para lidar com a formatação de estilos com o CSS, alguém poderia me ajudar? Minha intenção é que o conteúdo destacado em vermelho ocupe o local da marcação verde e o resto fique centralizado na tela. Estou usando o ReactJS para a composição, porém o CSS segue as mesmas regras do tradicional com HTML puro.

 

Como podem ver até pela imagem, design não é meu ponto forte.

 

Código do JSX (Componente do React):

<div className="login-container">
            <section className="form">
                <form>
                    <h1>Bem vindo!</h1>

                    <input 
                        type="text"
                        placeholder="Login"
                    />
                    <input 
                        type="password"
                        placeholder="Senha"
                    />
                    <p>Possuo um Token</p>
                    <input 
                        type="text"
                        placeholder="Token"
                        className="token-input"
                    />
                </form>
            </section>
        </div>

 

Código do CSS:

.login-container{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 1120px;
    height: 100vh;
    margin: 0 auto;
}

.login-container section.form{
    width: 100%;
    max-width: 350px;
}

.login-container section.form form{
    display: flex;
    justify-content: center;
    width: 100%;
    max-width: 1250px;
    height: 100%;
    max-height: 700px;
}

.login-container section.form form h1{
    color: #fff;
    font-weight: bolder;
    text-shadow: #1B182E 2px 2px 8px;
    font-size: 42px;
    margin-bottom: 32px;
    position: absolute;
    margin-top: -65px;
    background: transparent;
}

.login-container section.form form input{
    display: flex;
    justify-content: space-between;
    margin: 5px;
    width: 180px;
    height: 40px;
    max-width: 100%;
    font-weight: bold;
    padding: 8px;
    border-radius: 5px;
    color: white;
    background: #0A0816;
    border: solid #0D0929 2px;
}

.login-container section.form form p{

}

.login-container section.form form input + p + input{
    background: black;
    border: solid yellow 2px;
}

 

Pra quem não estiver afim de interpretar todo o código para tentar ajudar apenas diga o que você imagina que resolverá o problema. Obrigado desde já :)

Captura de tela_2020-04-02_21-20-59.png

Share this post


Link to post
Share on other sites

@bleszerd Boas e seja bem-vindo. Sugiro deixar o H1 antes de iniciar o form e não dentro dele. O Flex é bem interessante e você pode utilizar várias combinações para distribuir e organizar seu conteúdo, no caso em questão, sugiro deixar o "form" como o container flex e os "inputs" como itens do flex. Para a distribuição e alinhamento como solicitou, permita que haja quebra no container e defina os itens com o tamanho que ocupe o espaço pretendido, por exemplo, se você quer dois "inputs" por linha, defina-os com 50% cada. O exemplo abaixo ilustra essa sugestão.

 

form {
  display: flex;
  flex-wrap: wrap;
  align-content: space-between;
  justify-content: center;
}
input {
  width: 50%;
}

 

Abs.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By renan mafra
      Eu tenho 2 arquivos CSS externos que contém backgrounds da página.
      Em 1 só tem links para imagens .webP e em outro somente .PNG , eu estou usando um script para detectar se o browser aceita .webP e caso afirmativo ele altera o link CSS externo em HEAD para o css externo com .webP, por padrão inicialmente ele aponta para o .png, testei numa página mais simples e deu ok, mas na hora de colocar aonde quero não funcionou, segue o código:
      No HEAD:
       
      <link href="‪arquivos_css/png.css" rel="stylesheet" id="key">
       
      No JS:
       
       
      ////////////////////////////////////////////////////////////// // FUNÇÃO QUE CRIA O LINK EXTERNO CSS PARA INSERIR NO HEAD // OK// ////////////////////////////////////////////////////////////// function loadCSS(url){ var link = document.createElement('link'); link.setAttribute('href', url ); link.setAttribute('rel', "stylesheet" ); link.setAttribute('id', "key" ); var para = document.getElementsByTagName('head')[0]; //Nó pai HEAD var velho = document.getElementById('key'); //local exato do elemento a ser substituido para.replaceChild(link, velho); //Substituímos o velho pelo novo(link) } ////////////////////////////// Chamada à função do webP ///////////////////////////// WebpIsSupported(function(isSupported){ if(isSupported){ //CHAMA A FUNÇÃO LOADCSS e carrega o link CSS externo com WEBP loadCSS('arquivos_css/webp.css'); } }); ////////////////////////////////////////////////////////////// // FUNÇÃO QUE DETECTA A COMPATIBILIDADE DO BROWSER COM WEBP // ////////////////////////////////////////////////////////////// function WebpIsSupported(callback){ if(!window.createImageBitmap){ callback(false); return; } var webpdata = 'data:image/webp;base64,UklGRiQAAABXRUJQVlA4IBgAAAAwAQCdASoCAAEAAQAcJaQAA3AA/v3AgAA='; fetch(webpdata).then(function(response){ return response.blob(); }).then(function(blob){ createImageBitmap(blob).then(function(){ callback(true); }, function(){ callback(false); }); }); } O erro que está dando no chrome é esse: Failed to load resource: net::ERR_FILE_NOT_FOUND
      já mudei na função loadCSS o endreço dos arquivos de loadCSS('arquivos_css/webp.css'); para loadCSS('/arquivos_css/webp.css');
       
      e não funciona....
       
      o arquivo CSS externo contém backgrounds dentro do seletor HTML
      tipo :
       
      html {
            background-image.....(1);
            background-image.....(2);
            background-image.....(3);
           etc 
      }
      eu vou no elements do chome e está lá no HEAD conforme quero mas não carrega na página e dá este erro no console. –
      o que pode estar acontecendo ? ?
       
       
       
       
    • By Sapinn
      Salveee! Certo a dúvida que trarei aqui agora é bem complexa e eu sinceramente não sei se é realmente possível mas acho que não custa nada perguntar.
       
      Fiz um site de envio de textos, onde o aluno envia um texto e o professor corrigi até ai blz, queria saber como eu poderia fazer pra quando o professor marcar uma palavra aprece-se uma caixa de dialogo onde ele colocaria, por exemplo, a correção da palavra ou alguma explicação e essas informações seriam enviadas para o banco de dados quando o aluno acessa a correção desse texto e o ele passa-se  mouse por cima dessa palavra apareceria a correção em um balãozinho. Como exemplo desse comportamento que acabei de citar temos o google documents que faz algo desse jeito. Queria saber se isso pode ser possível sem exigir muito código ou muita coisa. Desde já agradeço.
    • By Rebeca Julia Bronzatti
      Boa tarde, bom ontem no meu projeto tudo estava funcionando normalmente, hoje assim que iniciei notei que os selects alguns buttons estavam divergindo do formato que eu gostaria, eu não faço ideia do porque isso, já que ele não apresenta erro e nada no código foi alterado pelo menos não nesses campos, já tentei fazer novamente mas a configuração continua, tentei alterar  pelo CSS mas infelizmente ele simplesmente ignora,  assim que iniciei hoje o projeto me deparei com esse erro Failed to load resource: the server responded with a status of 404 (Not Found) mas consegui resolver não sei se tem algo haver, se alguém puder me dar um help eu agradeceria muito nunca vi isso na vida. Eu to usando o materialize esse select já vem pronto.
      <div class="col s3"> <select name='tipo' class="browser-default"> <option value="" disabled selected>Tipo</option> <option value="Casa" class="tipo">Casa</option> <option value='Apartamento' class="tipo">Apartamento</option> <option>Sobrado</option> <option>Edicula</option> <option>KitNet</option> <option>Flat</option> <option>Sala Comercial</option> <option>Loja</option> <option>Galpão</option> <option>Terreno</option> <option>Fazenda</option> </select> </div>  

    • By carlavoltani
      Vaga: Web designer - WordPress
      Estamos com vaga aberta para Web Designer com experiência em WordPress para atuar na área de Marketing.
      Principais atividades:
      Desenvolvimento e manutenção de websites em ambiente WordPress.
      Criação de artes gráficas para o uso no ambiente web, que atendam sites, redes sociais e anúncios para campanhas de marketing.
      Requisitos:
      Grande experiência em Wordpress com desenvolvimento de layouts responsivos e também com instalação de plugins/componentes. Conhecimento dos formatos e tamanhos de imagens para site, rede sociais, e para anúncios de campanhas de marketing. Conhecimentos de HTML | CSS | SEO. Excelentes habilidades no PACOTE ADOBE (Illustrator e Photoshop). Detalhes:
      VAGA CLT - Período Integral - Home Office Estamos localizados em condomínio empresarial próximo à Unicamp.
      Detalhes da empresa e local, clique aqui.
      Interessados, por favor preencher o formulário ao lado até 31/Maio/2020.  
      Interessados deverão enviar o portfólio e realizar o cadastro nesse link:

      https://go.vulcanet.com.br/vaga-web-designer
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.