frendeitpt

CSS - width, height, margin, padding

Pour saisir rapidement les classes les plus utilisées, j'ai réservé des noms très courts

  • la première lettre est le type de propriété CSS : w: width, m: margin, p: padding
  • la deuxième lettre peut avoir 2 sens :
    • indicateur de taille d'écran : s pour small, smartphone et m pour medium, moyen
    • le coté concerné : l: left, t: top, r: right, b: bottom, h: horizontal (left & right), v: vertical (top & bottom)
  • la troisième lettre est le coté en cas de mention d'une taille d'écran.
  • le nombre ou auto indique la valeur ou l'indice de la valeur.

Quelques exemples pour comprendre le principe:

  • w6 : width:6/12=50% → largeur du bloc en pourcentage
  • ws6 → idem mais seulement sur mobile (s)
  • m1 : margin: 10px; → l'indice 1 est défini à 10px dans les variables SCSS
  • mm1 → idem mais seulement sur tablette (m)
  • mst2 : margin-top: 20px → marge top sur mobile (s)
  • psr1 : padding-right:10px → padding de 10px sur mobile (s)
  • mcenter : margin-left & margin-right sur auto pour centrer un bloc

WIDTH - largeur des blocs sur la base d'une grille de 12 colonnes

Syntaxe : w[ecran]largeur en % w[s|m]0|1|2|3|4|5|6|7|8|9|10|11|12|auto|25|50|75|100

Une largeur de zéro est équivalent à un display:none. Exemple: ws0 = invisible sur mobile

avec w4, j'occupe le tiers de l'espace
w3 wm4 ws0. Je disparais sur mobile
w2
wauto, la place restante
<div class="cell-row tc">
  <div class="cell bg-bleuClair w4 pv2">avec w4, j'occupe le tiers de l'espace</div>
  <div class="cell bg-vert w20 wm4 ws0" >w20 wm4 ws0. Je disparait sur mobile</div>
  <div class="cell bg-orange w2">w2</div>
  <div class="cell bg-violet wauto">wauto, la place restante</div>
</div>

Note : par commodité, les classes 25, 50, 75 et 100 indiquent la largeur du bloc en pourcentage.

MARGIN - les marges autour des blocs

Syntaxe : p[ecran][coté][dimension] m[s|m][l|t|r|b|h|v]0|1|2|3|center|left|right

m0
m1
w50 mcenter
mt3 ms0
<div class="bloc tc">
  <div class="w3 float-left bd-orange">
    <div class="m0 bg-orange">m0</div>
  </div>
  <div class="w3 float-left bd-bleuClair">
    <div class="m1 bg-bleuClair">m1</div>
  </div>
  <div class="w3 float-left bd-orange">
    <div class="mcenter w50 bg-orange">w50 mcenter</div>
  </div>
  <div class="w3 float-left bd-bleuClair">
    <div class="mt3 ms0 bg-bleuClair">mt3 ms0</div>
  </div>
</div>

m-child-raz supprime la marge haute du premier enfant et la marge basse du dernier enfant d'un bloc. Cette règle est très pratique dans une boite, pour éviter que les règles des enfants soient prioritaires sur celles du parent.

Titre

Contenu

<div class="bloc bd-bleuClair tc">
  <h2>Titre</h2>
  <p>Contenu</p>
</div>

Titre

Contenu

<div class="bloc m-child-raz bd-bleuClair tc">
  <h2>Titre</h2>
  <p>Contenu</p>
</div>

PADDING - les marges internes aux blocs

Syntaxe : p[ecran][coté][dimension] p[s|m][l|t|r|b|h|v]0|1|2|3

p0 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Iam in altera philosophiae parte. Quo modo? Duo Reges: constructio interrete. Laboro autem non sine causa.
p1 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Iam in altera philosophiae parte. Quo modo? Duo Reges: constructio interrete. Laboro autem non sine causa.
ph3 psh1 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Iam in altera philosophiae parte. Quo modo? Duo Reges: constructio interrete. Laboro autem non sine causa.
pv1 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Iam in altera philosophiae parte. Quo modo? Duo Reges: constructio interrete. Laboro autem non sine causa.
<div class="fg-row fg-gap fg-vtop">
  <div class="fg-c3 fg-cm5 fg-cs6 bd-orange p0"><b>p0</b> ... Laboro autem non sine causa.</div>
  <div class="fg-c3 fg-cm7 fg-cs6 bd-orange p1"><b>p1</b> ...</div>
  <div class="fg-c3 fg-cm6 bd-orange ph3 psh1"><b>ph3 psh1</b> ...</div>
  <div class="fg-c3 fg-cm6 bd-orange pv1"><b>pv1</b> ...</div>
</div>

HEIGHT - une hauteur minimale en pixels

Pour réserver une hauteur minimale en pixels, on dispose d'une classe responsive minh[s|m]0|100|200|400 et hscreen

.minh0
.minh100
.minh200
.minh400
.hscreen
j'occupe la hauteur de la fenêtre du navigateur

Et une hauteur maximale

La même chose pour une hauteur maximale en pixels avec ajout d'un ascenseur maxh[s|m]0|100|200|400

.maxh100

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vulgo enim dicitur: Iucundi acti labores, nec male Euripidesconcludam, si potero, Latine; Nam de isto magna dissensio est. Nam quibus rebus efficiuntur voluptates, eae non sunt in potestate sapientis. Duo Reges: constructio interrete. Mihi enim satis est, ipsis non satis. Sed quanta sit alias, nunc tantum possitne esse tanta.

Cum sciret confestim esse moriendum eamque mortem ardentiore studio peteret, quam Epicurus voluptatem petendam putat. Sed venio ad inconstantiae crimen, ne saepius dicas me aberrare; Itaque in rebus minime obscuris non multus est apud eos disserendi labor. Sin tantum modo ad indicia veteris memoriae cognoscenda, curiosorum. Omnia contraria, quos etiam insanos esse vultis. Quid turpius quam sapientis vitam ex insipientium sermone pendere?

Expectoque quid ad id, quod quaerebam, respondeas. Ita nemo beato beatior. Summus dolor plures dies manere non potest? Quae diligentissime contra Aristonem dicuntur a Chryippo.

Quid, si reviviscant Platonis illi et deinceps qui eorum auditores fuerunt, et tecum ita loquantur? Etsi ea quidem, quae adhuc dixisti, quamvis ad aetatem recte isto modo dicerentur. Qui enim voluptatem ipsam contemnunt, iis licet dicere se acupenserem maenae non anteponere. Re mihi non aeque satisfacit, et quidem locis pluribus. Quid enim est a Chrysippo praetermissum in Stoicis? Quare, quoniam de primis naturae commodis satis dietum est nunc de maioribus consequentibusque videamus. Quicquid porro animo cernimus, id omne oritur a sensibus; Age, inquies, ista parva sunt.