Antages det, at det overordnede element har position: relative;
, vil disse fire egenskaber centrere et underordnet element både vandret og lodret indeni, uanset hvilken højde bredden af begge er.
@mixin centerer ( position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); )
.parent ( position: relative; ) .child ( @include centerer; )
Se Pen Centerer Mixin af Chris Coyier (@chriscoyier) på CodePen.
Selvom pas på, hvis det underordnede element, der er centreret, er højere end forældrene, kan toppen blive afskåret.
Fancier
Hvis du kun vil kunne centrere i en retning ...
@mixin centerer($horizontal: true, $vertical: true) ( position: absolute; @if ($horizontal and $vertical) ( top: 50%; left: 50%; transform: translate(-50%, -50%); ) @else if ($horizontal) ( left: 50%; transform: translate(-50%, 0); ) @else if ($vertical) ( top: 50%; transform: translate(0, -50%); ) )
Se Pen yybgZd af Chris Coyier (@chriscoyier) på CodePen.