Page 1 of 2

Centering

Posted: Tue Aug 04, 2015 1:00 pm
by Emrys
I have a really quick question for everybody. Does anyone know how to completely centre a layout but have the content be off to the side? Wait, that was phrased weird.

Think of a box. Now think of that box exactly dead centre of your screen - both vertically and horizontally. How do you do that? And now, to add onto that, imagine that box has some instructions that are off to the right side of said box. How do you do that??
Image Like that! I have been trying for years to figure it out on my own and tutorials I look up are less than helpful. Maybe I'm not wording it right but idk xD

Re: Centering

Posted: Tue Aug 04, 2015 1:21 pm
by nyxmidnight
Developers have been trying to figure that out for years, so you're not alone. You might be able to do it with tables, but, yeah.

OH WAIT!

Re: Centering

Posted: Tue Aug 04, 2015 1:24 pm
by Crystal
Something kinda like this maybe? This one might also help too.

What I do is make a div with the header image as a background and then having another div inside it for the content or navigation (if that makes any sense at all, I'm bad at explaining things). You're welcome to use my coding as reference if it'll help at all.

Re: Centering

Posted: Tue Aug 04, 2015 7:19 pm
by Mikari
There's lots of options, pick the one that suits you best. :) I'll add another link to the list: here. After you center the box you can use padding to get the effect on the image.

Re: Centering

Posted: Thu Oct 08, 2015 9:14 am
by Destinie
I always do CSS and set it to:

display: block;
margin: 0 auto;
text-align: center;

I'll usually keep a center class so I can call it on different elements :B

Re: Centering

Posted: Thu Mar 17, 2016 8:16 am
by nyxmidnight
Is Flexbox implementation widespread yet? Genuinely curious.

Re: Centering

Posted: Thu Mar 17, 2016 9:50 am
by dubiousdisc
Yes! I was playing with it the other day and it's so awesome :D

Re: Centering

Posted: Sat Mar 19, 2016 8:46 pm
by Mikari
You can also use display:inline-block; in combination with the above codes, such as vertical-align:middle; It's good to see there are so many ways to do this. XD I find this one to be the fastest, though my newfound love for inline blocks might have something to do with it, I've found them to be so useful for all sorts of things.

Re: Centering

Posted: Mon Mar 21, 2016 12:26 am
by FandomSavant
The layout of http://fandomsavant.com is actually made up of divs within a centered container div.

Re: Centering

Posted: Wed Apr 13, 2016 1:40 am
by Lysianthus
I can suggest two solutions to horizontally and vertically center an element.

One is Flexbox, like some people already mentioned above. It's a relatively new feature, so old browsers may not support it. (Additionally, make sure to prepend the necessary vendor prefixes.)

HTML

Code: Select all

<div class="container">
    <div class="box"></div>
</div>
CSS

Code: Select all

html, body {
    min-height: 100%;
}

.container {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
}
Then set the width and height of your .box.

The second one would be using the line-height and vertical-align hack.

Assuming we have the same HTML code...

CSS

Code: Select all

html, body {
    min-height: 100%;
}

.container {
    line-height: 100vh; /* 100% viewport height */
    text-align: center; /* to center an inline-block */
}

.box {
    display: inline-block;
    line-height: 1;
    vertical-align: middle;
}
The .box must have a set width and height for this to work.

As for the text inside the box, I'm seconding the padding solution suggested by Mikari.

I hope this helps! :ok: