Bonjour à la communauté,
Depuis deux jours je rencontre un problème que je n'avais pas jusqu'alors.
Voici le code sur jsfiddle pour plus de simplicité : https://jsfiddle.net/1p0Lmj6b/17/
Normalement, la class .block est a 100%, prenant en compte margin et padding (box-sizing). Or lorsque mon block dépasse le body, il se met bien à 100%, mais la marge de droite n'est plus prise en compte dans le calcul. Ce qui provoque un débordement par la droite et évidemment des soucis de mise en page.
Je suis allée voir la doc de box-sizing, il n'y a pas eu de modifications effectuées.
Peut-être un bug temporaire ?
Qu'en pensez-vous ?
Edit : le problème se "corrige" en mettant la classe block à max-width:100%. Là, le box-sizing fait le job. Mais du coup, on ne peut plus fixer une largeur max. Ce qui ne m'arrange pas, à moins de passer par les media-query. Beaucoup de code en plus pour pas grand chose.
Modifié par J_B (09 Nov 2021 - 10:04)
Depuis deux jours je rencontre un problème que je n'avais pas jusqu'alors.
Voici le code sur jsfiddle pour plus de simplicité : https://jsfiddle.net/1p0Lmj6b/17/
*{
box-sizing: border-box;
}
body{
width: 100%;
max-width: 1000px;
margin: auto;
border: 4px solid #000;
background-color: #333;
}
.block{
width: 100%;
max-width: 1000px;
background-color: #fefefe;
border: 1px solid #ddd;
padding: 10px;
margin: 50px;
}
Normalement, la class .block est a 100%, prenant en compte margin et padding (box-sizing). Or lorsque mon block dépasse le body, il se met bien à 100%, mais la marge de droite n'est plus prise en compte dans le calcul. Ce qui provoque un débordement par la droite et évidemment des soucis de mise en page.
Je suis allée voir la doc de box-sizing, il n'y a pas eu de modifications effectuées.
Peut-être un bug temporaire ?
Qu'en pensez-vous ?
Edit : le problème se "corrige" en mettant la classe block à max-width:100%. Là, le box-sizing fait le job. Mais du coup, on ne peut plus fixer une largeur max. Ce qui ne m'arrange pas, à moins de passer par les media-query. Beaucoup de code en plus pour pas grand chose.
.block{
width: 100%;
max-width: 100%;
/* ancien code
width: 100%;
max-width: 1000px;*/
background-color: #fefefe;
border: 1px solid #ddd;
padding: 10px;
margin: 50px;
}
Modifié par J_B (09 Nov 2021 - 10:04)