I use this mixin to centre content. It uses tranforms so not all versions of IE are supported.
MIXIN:
@mixin centre($axis: "both"){
position:absolute;
@if $axis == "y"{
top:50%;
-webkit-transform: translateY(-50%);
-moz-transform: translateY(-50%);
-ms-transform: translateY(-50%);
-o-transform: translateY(-50%);
transform: translateY(-50%);
}
@if $axis == "x"{
left:50%;
-webkit-transform: translateX(-50%);
-moz-transform: translateX(-50%);
-ms-transform: translateX(-50%);
-o-transform: translateX(-50%);
transform: translateX(-50%);
}
@if $axis == "both"{
top:50%;
left:50%;
-webkit-transform: translate(-50%, -50%);
-moz-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
-o-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
}
}
USAGE:
Y axis : @include centre(y);
X axis : @include centre(x);
Both axis : @include centre;
WORKING EXAMPLE: Fiddle