Quantcast
Channel: Active questions tagged flexbox - Stack Overflow
Viewing all articles
Browse latest Browse all 1675

newbie Flexbox Responsiveness alignment issues

$
0
0

I'm trying to make my neocities using a premade flexbox layout for the first time.

In mobile devices, the boxes are slightly aligned to left, making the browser to zoom in to center the content somehow.

What could I be doing wrong in the CSS or html?

I am using ChatGPT to write and adapt the layout for me, e.g. write a tile background for me.change some inline html styling to CSS, organize my code with comments, make my music player work as a fixed footer, align some text, make the actual footer to be transparent while its text has a dark transparent background covering the textbox, write a JavaScript for an animated "under construction" text, organize all the stuff in my CSS, and so on and so on.

I've been doing this by copy/pasting my index.html and style.css code and asking for it to analyze the codes.

the layout is almost the way I want it, but, somehow, in mobile screens, the Flexbox layout is ALWAYS slightly aligned to left. the browser makes a tiny zoom in so it can fix it somehow, I think.

O've tried a lot of suggestions from ChatGPT, and all of them made my flexboxes do be drastically re-dimensioned, such in desktop as in mobile views.

I've come to a point where ChatGPT simply can't solve my problem, I must ask for help while I try to learn about responsiveness and more in-depth CSS syntax and practices.

I know, might be ridiculous for some, but my goal is to make a cool place for me to share my work, thoughts and researches. I'm encouraging myself to engage in coding in this process, which is being really good for me as a whole.

what could be wrong in my code?

here are the codes for my index and style, respectively:

 function typeWriter(text, i, span) {    if (i < text.length) {      span.innerHTML += text.charAt(i);      i++;      // Move o cursor para o final do texto      span.innerHTML = text.substring(0, i);      // Define o cursor para ficar sempre visível      span.scrollTop = span.scrollHeight;      setTimeout(function() {         typeWriter(text, i, span);       }, 100); // Ajuste o valor 100 para controlar a velocidade da digitação    } else {      // Adiciona o cursor piscando após o texto completo ser digitado      span.innerHTML += "<span id='cursor'>|</span>";      setInterval(function() {        var cursor = document.getElementById('cursor');        cursor.style.visibility = (cursor.style.visibility == 'visible') ? 'hidden' : 'visible';      }, 500); // Ajuste o intervalo de piscagem conforme desejado (por exemplo, 500ms)    }  }  // Chamada da função de animação ao carregar a página  window.onload = function() {    var text = "Site ainda em construção...";    var span = document.getElementById("construction-text");    typeWriter(text, 0, span);  };
html {  /* Set some global colors here for quick re-coloring of stuff! */  --bg-color: rgba(0, 0, 0, 0);  --darker-color: black;  --lighter-color: black;  --accent-color: white;  --sidebar-width: 140px;  background-color: var(--bg-color);  background-image: url(RUBIX%20LAYOUT/stars5.gif); /* add image url for tiled background */  width: 100%;  min-height: 100vh;  position: relative;}@font-face {  font-family: 'NeueHaasDisplay-RomanItalic';  src: url('RUBIX%20LAYOUT/FONTS/NeueHaasDisplay-RomanItalic.woff') format('woff');  font-style: italic; /* Defina o estilo da fonte como itálico */}html, body, div, span, applet, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,a, abbr, acronym, address, big, cite, code,del, dfn, img, ins, kbd, q, s, samp,small, strike, sub, sup, tt, var, u, center,dl, dt, dd, ol, ul, li,fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td,article, aside, canvas, details, embed,figure, figcaption, footer, header, hgroup,menu, nav, output, ruby, section, summary,time, mark, audio, video {  margin: 0;  padding: 0;  border: 0;  font-size: 100%;  font-family: 'NeueHaasDisplay-RomanItalic', sans-serif; /* Use a fonte itálica definida ou uma fonte alternativa caso a primeira não esteja disponível */  vertical-align: baseline;}/* HTML5 display-role reset for older browsers */article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {  display: block;  color: var(--darker-color);  background-color: var(--lighter-color);}body {  margin: 0%; /* Margem de 2% em todos os lados do corpo do site */  padding: 0; /* Remove o preenchimento padrão do corpo */  background-color: var(--bg-color);  background-image: url(stars5.gif); /* Adiciona a imagem de fundo */  width: 100%; /* Largura do corpo é 96% da largura da tela após subtrair as margens */  min-height: 100vh;  position: relative;}ol,ul {  list-style: none;  list-style-type: square;}h1 {  width: calc(100% - 20px);  font-size: 3em;  font-weight: bold;  padding: 25px 10px 10px;  text-align: center; /* Alinhar o cabeçalho ao centro */}h1 img {  width: 100%;  max-width: 720px;}h2 {  font-size: 2em;  font-weight: bold;  padding: 10px 8px 10px;}.boxgallery {  margin: auto;  padding: 15px 30px 15px;  max-width: 100%;  display: flex;  flex-flow: row-reverse wrap-reverse;  justify-content: center;  background-color: var(--bg-color);}.box {  display: block;  position: relative;  min-width: 400px;  max-width: 400px;  min-height: 300px;  margin: 5px;  flex-grow: 1;  background-color: var(--accent-color);  background-position: center;  background-size: cover;  border: 4px solid var(--accent-color);}.boxHover {  position: absolute;  top: 0;  bottom: 0;  padding: 15px 0px 30px;  width: 100%;  opacity: 0;  transition: opacity 0.6s ease;  display: flex;  flex-flow: column nowrap;  overflow: hidden;}.boxHover:hover {  opacity: 1;  background: grey;  background: rgba(0, 0, 0, 0);  transition: opacity 0.6s;}.boxHover {  position: relative;  padding: 15px 0px 30px;  width: 100%;  display: flex;  flex-flow: column nowrap;  opacity: 1; /* Alterando a opacidade para 1 para manter o texto sempre visível */}/* Adicione esta seção ao seu CSS existente */.boxHover a {  text-decoration: none; /* Remover o sublinhado */}.boxHover h3 {  color: black; /* Definir a cor do texto para preto */}.box a, .box p {  color: black; /* Definir a cor do texto para preto */}.boxHover h3 {  color: black; /* Definir a cor do texto para preto */  font-size: 20px; /* Definir o tamanho da fonte conforme necessário */  text-align: center; /* Centralizar o texto dentro da box */}.box a,.box p {  display: inline-block;  width: 90%;  margin: auto;  color: black; /* Defina a cor do texto como preto */  font-size: 130%;  opacity: 1; /* Mantendo a opacidade do texto em 1 */  text-decoration: none; /* Remover sublinhado */}@media screen and (max-width: 768px) {  .boxgallery {    margin: 0 5vw; /* Adiciona uma margem lateral de 5% à flexbox */  }  .box {    width: 90vw; /* Redimensiona a largura para 90% da largura da viewport */    max-width: none; /* Remove a largura máxima para permitir a flexibilidade */    margin: 2vw auto; /* Centraliza horizontalmente com uma margem de 2% nas laterais */  }}p {  padding: 10px 12px 10px;}/* Estilos para o footer */footer {  text-align: center;  padding: 20px 0; /* Aumentando o padding para espaçamento extra */  color: white;  background-color: transparent; /* Fundo transparente para o footer */}/* Estilo para o texto H4 */footer h4 {  margin: 0; /* Removendo a margem padrão */}/* Estilo para a linha de contato */footer .contact-info {  margin: 10px 0; /* Adicionando margem para separação */}/* Estilo para os links de rodapé */footer .footer-links {  display: flex; /* Tornando os links em linha */  justify-content: center; /* Centralizando horizontalmente */  align-items: center; /* Alinhando verticalmente */}/* Estilos específicos para os links dentro do footer */footer .footer-links a {  color: white; /* Cor do texto */  padding: 0 10px; /* Espaçamento interno */  margin: 0 5px; /* Margem entre os links */  text-decoration: underline; /* Sublinhado padrão */}/* Estilos específicos para o contêiner do GIF e do link VOLTAR */.gif-container {  position: relative; /* Define o posicionamento relativo */}.gif-container a.voltar {  position: absolute; /* Define o posicionamento absoluto */  bottom: 40%; /* Alinha o link na base do contêiner */  left: 50%; /* Alinha o link no centro horizontal do contêiner */  transform: translate(-50%, 50%); /* Move o link -50% horizontalmente e 50% verticalmente */  font-weight: bold; /* Adiciona negrito ao texto do link */  background-color: transparent; /* Fundo transparente */}/* Estilos para o botão dentro do gif-container */.gif-container .gif-button {  background-color: transparent; /* Fundo transparente */  color: white; /* Cor do texto */  font-weight: bold; /* Adiciona negrito ao texto */}/* Fundo preto levemente transparente apenas para texto e links */footer h4, footer .contact-info, footer .footer-links a:not(.voltar) {  background-color: rgba(0, 0, 0, 0.8);}/* Regra de mídia query para todo o footer em dispositivos móveis */@media screen and (max-width: 768px) {  footer {    padding: 10px; /* Reduz o padding para dispositivos móveis */  }  footer h4 {    font-size: 16px; /* Reduz o tamanho da fonte para dispositivos móveis */  }  footer .contact-info {    font-size: 14px; /* Reduz o tamanho da fonte para dispositivos móveis */    margin-bottom: 10px; /* Adapta a margem inferior para dispositivos móveis */  }  footer .footer-links {    justify-content: center; /* Centraliza os links horizontalmente */  }  footer .footer-links a {    margin: 0 5px; /* Adapta as margens dos links para dispositivos móveis */  }}/* Regra de mídia query para a flexbox */@media screen and (max-width: 768px) {  .boxgallery {    margin: 0 auto; /* Centraliza a flexbox horizontalmente */  }}/* Define o segundo cursor como o cursor padrão para o corpo da página */body {cursor: url(https://cur.cursors-4u.net/mechanics/mec-4/mec317.cur), auto !important;}/* Define o primeiro cursor como o cursor para os links */a {  cursor: url('https://ani.cursors-4u.net/cursors/cur-11/cur1073.png'), auto !important;}/* Outros estilos CSS *//* Estilos para o container do player do Mixcloud */#mixcloud-player-container {  position: fixed; /* Define o posicionamento fixo */  bottom: 0; /* Alinha o elemento ao fundo da página */  left: 50%; /* Define o ponto inicial como o centro da página */  transform: translateX(-50%); /* Move o elemento de volta para a esquerda em 50% de sua própria largura */  width: calc(100% - 20px); /* Define a largura com margens para preencher toda a largura da página */  max-width: calc(100% - 40px); /* Define a largura máxima com margens */  background-color: rgba(0, 0, 0, 0); /* Define a cor de fundo do rodapé */  padding: 10px; /* Adiciona espaço interno ao rodapé */  text-align: center; /* Centraliza o conteúdo do rodapé */  z-index: 9999; /* Garante que o rodapé esteja acima de outros elementos */}/* Estilos para o player do Mixcloud */.mixcloud-player {  width: 100%; /* Define a largura para preencher todo o container */  max-width: 100%; /* Define a largura máxima */}#construction-text {  color: yellow;  height: 1em; /* Defina uma altura fixa para o elemento durante a animação */  text-align: center;  font-size: 5vw; /* Tamanho da fonte responsivo em relação à largura da tela */  font-weight: bold;  padding: 10px 8px;  white-space: nowrap; /* Impede a quebra de linha */  margin: 0; /* Define as margens para 0 para garantir que não haja espaço adicional */}.construction-section {  text-align: center; /* Centraliza o conteúdo horizontalmente */  height: auto; /* Altura fixa para a construction-section */  position: relative; /* Define posição relativa para os elementos filhos */  margin: 0; /* Define as margens para 0 para garantir que não haja espaço adicional */}.centered-gif {  max-width: 100%; /* Define a largura máxima da imagem */  position: relative; /* Define a posição relativa */  margin-top: 20px; /* Adiciona um espaço entre o texto e a imagem */}@media screen and (min-width: 768px) {  /* Redefine o tamanho máximo da fonte para telas maiores */  #construction-text {    font-size: 2em; /* Define o tamanho máximo da fonte em ems */    margin-bottom: 0; /* Remove a margem inferior para evitar espaçamento desnecessário */  }  /* Adicione outras regras de estilo conforme necessário para ajustar o layout em telas maiores */}/* Animação de blinkCursor */#cursor {  display: inline-block;  vertical-align: middle; /* Alinha verticalmente com o texto */  animation: blinkCursor 0.5s infinite; /* Define a animação de piscar */}@keyframes blinkCursor {  0% {    opacity: 1; /* Começa visível */  }  50% {    opacity: 0; /* Fica invisível */  }  100% {    opacity: 1; /* Volta a ficar visível */  }}
<!DOCTYPE html><html><head><meta charset="UTF-8"><title>**GERMANI**</title><link href="style.css" rel="stylesheet" type="text/css"><meta name="viewport" content="width=device-width, initial-scale=1"></head><body><!-- Imagem do cabeçalho/link para a página inicial --><h1><a href="RUBIX%20LAYOUT/"><img src="bannerzinho.png" alt="dj Germani"></a></h1><!-- Texto em construção --><div class="construction-section"><h2 id="construction-text"></h2><img src="digitalends.gif" class="centered-gif" alt="digitalends"></div><!-- Outros conteúdos da página --><div class="boxgallery"><a href="RUBIX%20LAYOUT/" style="text-decoration: none;"><div class="box"><div class="boxHover"><h3>SOBRE MIM</h3></div></div></a> <a href="RUBIX%20LAYOUT/" style="text-decoration: none;"><div class="box" style="background-image:url(28.gif)"><div class="boxHover"><h3>IMAGENS</h3></div></div></a> <a href="RUBIX%20LAYOUT/" style="text-decoration: none;"><div class="box" style="background: linear-gradient(white, green);"><div class="boxHover"><h3>BLOG/RESEARCH</h3></div></div></a> <a href="RUBIX%20LAYOUT/" style="text-decoration: none;"><div class="box" style="background: red"><div class="boxHover"><h3>SOUNDS...</h3></div></div></a> <a href="RUBIX%20LAYOUT/" style="text-decoration: none;"><div class="box"><div class="boxHover"><h3>PORTFOLIO</h3></div></div></a></div> <!-- /BOXGALLERY --><!-- EMBED DO MIXCLOUD --><!-- Player do Mixcloud como elemento fixo no rodapé --><div id="mixcloud-player-container"><!-- Código de incorporação do Mixcloud usando uma div --><div class="mixcloud-player"><iframe width="100%" height="60" src="Fescuta-me-por-favor%2F" frameborder="0"></iframe></div></div><!-- Rodapé --><footer><h4>"Germani é, sobretudo, um DJ com sensibilidade, com o ouvido atento para interagir com o imaginário do pop e as surpresas de uma pista de dança."</h4><h3 class="contact-info">Contato: pegermani@gmail.com</h3><div class="footer-links"><!-- LINKS DE RODAPÉ --><b><a href="germaniusleviosa_/">INSTAGRAM</a></b><div class="gif-container"><a href="#" class="voltar">voltar</a><a href="RUBIX%20LAYOUT/"><img class="gif-button" src="i-25794.gif" alt="gif"></a></div> <b><a href="germani-souza/">MIXCLOUD</a></b></div><br><br><br></footer>

Viewing all articles
Browse latest Browse all 1675

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>