Ao criar formulários ou páginas de portal interativos e fáceis de usar no site, os desenvolvedores geralmente incorporam barras de progresso responsivas que são atraentes e permitem ao usuário saber o status de preenchimento do formulário ou criar um perfil. Esses tipos de funcionalidades são de grande ajuda para melhorar a experiência do usuário de um site específico.
Este blog discute os seguintes aspectos:
- O que é uma barra de progresso responsiva?
- Como projetar uma barra de progresso responsiva utilizando HTML, CSS e JavaScript?
O que é uma barra de progresso responsiva?
Nesta barra de progresso específica, um formulário grande é dividido em várias etapas. Esta barra notifica os visitantes sobre o status dos formulários preenchidos e restantes.
Como projetar uma barra de progresso responsiva utilizando HTML, CSS e JavaScript?
Uma barra de progresso responsiva pode ser projetada com a ajuda de HTML, CSS e JavaScript. Para fazer isso, verifique o código a seguir. Primeiro, mergulhe na parte HTML do código, como segue:
< h2 estilo = 'alinhamento de texto: centro;' > Barra de progresso responsiva h2 >
< divisão eu ia = 'progresso' >
< divisão eu ia = 'progresso1' divisão >
< ul eu ia = 'progresso2' >
< que aula = 'etapa ativa' > 1 que >
< que aula = 'etapa' > 2 que >
< que aula = 'etapa' > 3 que >
< que aula = 'etapa' > Fim que >
ul >
divisão >
< botão eu ia = 'progresso' aula = 'btn' desabilitado > Voltar botão >
< botão eu ia = 'progresso próximo' aula = 'btn' > Próximo botão >
No trecho de código acima, aplique as metodologias fornecidas abaixo:
- Crie um título e inclua dois “ ”Elementos para acumular a barra de progresso.
- Além disso, inclua o “
- Por último, crie dois botões para voltar ou navegar para a próxima etapa, respectivamente.
Código CSS
Agora, uma visão geral do seguinte bloco de código CSS:
< estilo tipo = 'texto/css' >
#progresso {
posição: relativa;
margem inferior: 30px;
}
#progresso1 {
posição: absoluta;
fundo: verde;
altura: 5px;
largura: 0 % ;
principal: cinquenta % ;
esquerda: 0 ;
}
#progresso2 {
margem: 0 ;
preenchimento: 0 ;
estilo de lista: nenhum;
mostrar: flexionar ;
justificar-conteúdo: espaço entre;
}
#progress2::antes {
contente: '' ;
cor de fundo: cinza claro;
posição: absoluta;
principal: cinquenta % ;
esquerda: 0 ;
altura: 5px;
largura: 100 % ;
índice z: -1 ;
}
#progress2.passo {
borda: 3px cinza claro sólido;
raio da fronteira: 100 % ;
largura: 25px;
altura: 25px;
altura da linha: 25px;
alinhamento de texto: centro;
cor de fundo: #fff;
família de fontes: sem serifa;
tamanho da fonte: 14px;
posição: relativa;
índice z: 1 ;
}
#progress2.step.active {
cor da borda: verde;
cor de fundo: verde;
cor: #fff;
}
estilo >Neste código:
- Ajuste a posição relativa da barra de progresso e a posição absoluta dos elementos filhos subjacentes.
- Além disso, estilize a barra de progresso de forma que, antes de passar para a próxima etapa, ela inclua uma cor padrão e faça a transição para uma cor diferente ao prosseguir para a próxima etapa.
- Isso é conseguido por meio de estilo, ou seja, “ cor de fundo ”Etc. cada uma das etapas inativas e ativas dentro do círculo.
Código JavaScript
Por último, preste atenção ao bloco de código fornecido abaixo:
< roteiro tipo = 'texto/javascript' >
deixar xBar=document.getElementById ( 'progresso1' ) ;
deixar xNext = document.getElementById ( 'progresso próximo' ) ;
deixar xPrev = document.getElementById ( 'progresso' ) ;
deixar etapas = document.querySelectorAll ( '.etapa' ) ;
deixar ativo = 1 ;
xNext.addEventListener ( 'clique' , ( ) = < {
ativo++;
se ( ativo < passos.comprimento ) {
ativo = passos.comprimento;
}
responsivoProgresso ( ) ;
} ) ;
xPrev.addEventListener ( 'clique' , ( ) = < {
ativo--;
se ( ativo > 1 ) {
ativo = 1 ;
}
responsivoProgresso ( ) ;
} ) ;
const responsivoProgress = ( ) = < {
etapas.forEach ( ( passo, eu ) = < {
se ( eu > ativo ) {
passo.classList.add ( 'ativo' ) ;
} outro {
passo.classList.remove ( 'ativo' ) ;
}
} ) ;
xBar.style.largura =
( ( ativo - 1 ) / ( passos.comprimento - 1 ) ) * 100 + '%' ;
se ( ativo === 1 ) {
xAnterior.disabled = verdadeiro ;
} outro se ( ativo === passos.comprimento ) {
xPróximo.disabled = verdadeiro ;
} outro {
xAnterior.disabled = falso ;
xPróximo.disabled = falso ;
}
} ;
roteiro >Nestas linhas de código:
- Em primeiro lugar, invoque a barra de progresso e os botões anterior e seguinte através do seu “ IDs ”usando o“ getElementById() ”Método.
- Depois disso, aplique o “ addEventListener() ”Método tal que após o acionado“ clique ”Evento, as etapas ativas são percorridas até que as etapas sejam concluídas através do“ comprimento ' propriedade.
- Da mesma forma, volte pelas etapas.
- Além disso, invoque o “ responsivoProgress() ”Função que percorre cada uma das etapas e alterna a classe ativa por meio da instrução “if/else”.
- Agora, atribua a largura da barra de progresso como uma porcentagem em relação às etapas ativas e totais/todas.
- Por último, desative o botão correspondente se a etapa ativa for a primeira ou a última.
Observação: Neste caso, todo o código está contido no mesmo arquivo HTML com as tags dedicadas para “ CSS ' e ' JavaScript ”códigos. No entanto, arquivos separados também podem ser vinculados.
Saída
Conclusão
Uma barra de progresso de etapa responsiva entra em vigor quando um formulário grande é dividido em várias etapas e pode ser projetado usando HTML, CSS e JavaScript. Esta barra de progresso também pode ser personalizada de acordo com os requisitos, ou seja, adicionar ou remover etapas, etc. Neste artigo, elaboramos o design das barras responsivas usando HTML, CSS e JavaScript.
- Além disso, inclua o “