1
resposta

Botões não cabem na borda

Quando meu site é visto por outro dispositivo menor, como celular, ele ultrapassa as bordas

@import url('https://fonts.googleapis.com/css2?family=Krona+One&family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');

/* :root{
    --cor-primaria: #000000;
    --cor-secundaria:#F6F6F6;
    --cor-terciaria:palevioletred;

    --fonte-principal:"krona one", san serif;

    isso serve para criar variaveis, cores e fontes base/padrao
    ;} */

*{
    margin: 0;
    padding: 0;
    
}

body{
    box-sizing: border-box;
    background-color: black;
    /* background-color: var(--cor-primaria); 
    quando criamos a variavel usamos assim ela*/
    color: #F6F6F6;
}

.apresentacao{
    padding: 5% 12%;
    display: flex;
    align-items: flex-start;
    gap: 82px;
    /* align-items: center;  tirei pq eu quero colocar a foto em cima e nao no centro*/
    /* justify-content: space-between;  */
}
.apresentacao-conteudo{
    width: 50%;
    display: flex;
    flex-direction: column;
    gap: 40px;
   
}
.apresentacao-conteudo-titulo{
    font-size: 2.25rem;
    font-family: "Krona One", sans-serif;
}
.paragrafo{
    font-size: 1.5rem;
    font-family: "Montserrat", sans-serif;
}
.titulo-destaque{
    color: palevioletred;
    /* color: var(--cor-terciaria); */
}
.subtitulo{
    font-family: "Krona One", sans-serif;
    font-weight: 400;
    font-size: 1.5rem;

}
.botao{
    display: flex;
    flex-direction: column;
    gap: 32px;
    align-items: center;
}
.img{
    /* padding-left: 5%; */
    width: 20%;
}


.link{
    display: flex;
    justify-content:center ;
    gap: 16px;
    width: 50%;
    border: 2px solid palevioletred;
    text-align: center;
    border-radius: 8px ;
    font-size: 1.5rem;
    padding: 21.5px 0;
    text-decoration: none;
    color: white;
    font-family: "Montserrat", sans-serif;
    font-weight: 600;
}
.link:hover{
    background-color: palevioletred;
    color: white;
    border: 2px solid white;
}
.rodape{
    background-color: palevioletred;
    text-align: center;
    padding: 24px;
    font-size: 1.25rem ;
    font-family: "Montserrat", sans-serif;
    font-weight: 400;
}

.cabecalho{
    padding: 2% 0% 0% 12%;
}

.cabecalho-menu{
    display: flex;
    gap: 70px
 ;
}


.cabecalho-menu-link
{
    color: white;
    font-family: "Montserrat", sans-serif;
    font-weight: 600;
    color:palevioletred;
    text-decoration: none;
}

.cabecalho-menu-link:hover{

    color:white;
   
}

.aboutme{
    color: palevioletred;
}

@media(max-width:600px){
.apresentacao{
    flex-direction: column-reverse;
    padding-left: 2%;
    align-items: center;
    
}
.apresentacao-conteudo{
    margin: auto;
    width: auto;
    text-align: center;
    
}
.cabecalho{
    padding: 5%;
}
.cabecalho-menu{
    justify-content: center;
}
/* .link{
    width: auto;
    padding: 8%;
} */
.apresentacao-conteudo-titulo{
    text-align: center ;
}


}

/* @media(min-width:600px){

} */

@media(max-width:768px){
    .apresentacao{
        flex-direction: column-reverse;
        padding-left: 2%;
        align-items: center;
        
    }
    .apresentacao-conteudo{
        margin: auto;
        width: auto;
        text-align: center;
        
    }
    .cabecalho{
        padding: 5%;
    }
    .cabecalho-menu{
        justify-content: center;
    }
    /* .link{
        width: auto;
        padding: 5%;
    } */
    .apresentacao-conteudo-titulo{
        text-align: center ;
    }
    
}

/* @media(min-width:992px){

}

@media(min-width:1300px){

} */
1 resposta

Olá! Existem algumas possibilidades de seu problema, mas as principais são larguras fixas ou porcentagens grandes demais em telas pequenas e box-sizing aplicado apenas ao body, quando o ideal é aplicar a todos os elementos.

Soluções possiveis: Ajustar o box-sizing para todos os elementos: Coloque isto no início do CSS (no seu * {} já existente):

*, *::before, *::after {
    box-sizing: border-box;
}

Evitar padding horizontal grande em .apresentacao. Troque isso:

.apresentacao {
    padding: 5% 12%;
}

Por isso:

.apresentacao {
    padding: 5% 5%;
}

Garantir que o body e os containers principais não ultrapassem a tela. Adicione isto ao CSS:

html, body {
    max-width: 100%;
    overflow-x: hidden;
}

Usar width: 100% e max-width para imagens e links.

.img {
    width: 100%;
    max-width: 300px; /* ou o tamanho que desejar */
    height: auto;
}

.link {
    width: 100%;
    max-width: 400px;
}

Evitar media queries repetidas desnecessariamente. Você está repetindo @media(max-width:600px) e @media(max-width:768px) com o mesmo conteúdo. Pode unificar:

@media (max-width: 768px) {
    .apresentacao {
        flex-direction: column-reverse;
        padding: 5%;
        align-items: center;
    }
    .apresentacao-conteudo {
        margin: auto;
        width: 100%;
        text-align: center;
    }
    .cabecalho {
        padding: 5%;
    }
    .cabecalho-menu {
        justify-content: center;
        flex-wrap: wrap;
    }
    .apresentacao-conteudo-titulo {
        text-align: center;
    }
    .link {
        width: 100%;
        padding: 5%;
    }
}

Espero que alguma coisa vai ajudar!