Reputation: 528
I want to make the turquoise and green divs be in the centre of the red div. Ive tried margin:0 auto, floating, text align, all which don't work.
turquoise div = header-logo-wrap
green div = header-text-wrap
How can I make these divs be in the centre horizontally and vertically?
really appreciate any help, thank you
@charset "UTF-8";
/* CSS Document */
body{
background-color:#F6F7C1;
padding:0px;
margin:0 auto; /* aligns content to touch the edge; gets rid of default spacing/margin between edge and content */
}
/* Header */
#header-wrap{
background:#D6ECFF;
width:100%;
height:auto;
border-bottom: 3px solid #CCC;
/* margin:0 auto; needed? */
}
#header-top{
/* contains logo & title text */
background:#F00;
width:960px;
height:200px;
margin:0 auto; /* aligns centrally */
}
.header-text-wrap{
width:452px;
height:auto;
background:#0F0;
text-align:justify;
float:left;
}
.header-logo-wrap{
width:100px;
height:100px;
background:#0CC;
text-align:justify;
float:left;
}
#header-bottom{
/* contains navigation menu */
background:#00F;
width:960px;
height:50px;
margin:0 auto; /* aligns centrally */
border-top: 3px solid #CCC;
}
/* Fonts */
header{
font-family: Arial, sans-serif, tahoma, Arial, Cambria;
-webkit-font-smoothing: antialiased; /* subtley makes fonts smoother */
font-size:45px;
text-transform:uppercase;
line-height:40px;
}
slogan{
font-family: courier new, tahoma, Arial, Cambria, serif;
-webkit-font-smoothing: antialiased; /* subtley makes fonts smoother */
font-size:20px;
text-transform:uppercase;
word-spacing:10px;
letter-spacing:5px;
}
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<link rel="stylesheet" type="text/css" href="style.css"/>
<!-- Meta Tags Below -->
<meta name="description" content="" />
<meta name="keywords" content="" />
<title>___________________________</title>
<!-- Google Analytics Code Below -->
<!-- _____________________________ -->
</head>
<body>
<div id="header-wrap">
<div id="header-top">
<div class="header-logo-wrap"></div>
<div class="header-text-wrap">
<header>text goes here & more here
</header>
<slogan>more text goes here</slogan>
</div>
</div>
<div id="header-bottom"></div>
</div>
</body>
</html>
Upvotes: 0
Views: 413
Reputation: 9470
You need to make these div-s display: inline-block
to make them centered horizontally, and make display: table-cell
for wrapping container to make divs centered vertically.
@charset "UTF-8";
/* CSS Document */
body{
background-color:#F6F7C1;
padding:0px;
margin:0 auto; /* aligns content to touch the edge; gets rid of default spacing/margin between edge and content */
}
/* Header */
#header-wrap{
background:#D6ECFF;
width:100%;
height:auto;
border-bottom: 3px solid #CCC;
/* margin:0 auto; needed? */
}
#header-top{
/* contains logo & title text */
display: table-cell;
background:#F00;
width:960px;
height:200px;
text-align: center;
vertical-align: middle;
}
.header-text-wrap{
display: inline-block;
width:452px;
background:#0F0;
text-align: center;
margin: 0;
}
.header-logo-wrap{
display: inline-block;
width:100px;
height:100px;
background:#0CC;
text-align: center;
}
#header-bottom{
/* contains navigation menu */
background:#00F;
width:960px;
height:50px;
margin:0 auto; /* aligns centrally */
border-top: 3px solid #CCC;
}
/* Fonts */
header{
font-family: Arial, sans-serif, tahoma, Arial, Cambria;
-webkit-font-smoothing: antialiased; /* subtley makes fonts smoother */
font-size:45px;
text-transform:uppercase;
line-height:40px;
}
slogan{
font-family: courier new, tahoma, Arial, Cambria, serif;
-webkit-font-smoothing: antialiased; /* subtley makes fonts smoother */
font-size:20px;
text-transform:uppercase;
word-spacing:10px;
letter-spacing:5px;
}
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<link rel="stylesheet" type="text/css" href="style.css"/>
<!-- Meta Tags Below -->
<meta name="description" content="" />
<meta name="keywords" content="" />
<title>___________________________</title>
<!-- Google Analytics Code Below -->
<!-- _____________________________ -->
</head>
<body>
<div id="header-wrap">
<div id="header-top">
<div class="header-logo-wrap"></div>
<div class="header-text-wrap">
<header>text goes here & more here
</header>
<slogan>more text goes here</slogan>
</div>
</div>
<div id="header-bottom"></div>
</div>
</body>
</html>
Upvotes: 0
Reputation: 41893
Use flex
positioning.
@charset "UTF-8";
/* CSS Document */
body {
background-color: #F6F7C1;
padding: 0px;
margin: 0 auto;
/* aligns content to touch the edge; gets rid of default spacing/margin between edge and content */
}
/* Header */
#header-wrap {
background: #D6ECFF;
width: 100%;
height: auto;
border-bottom: 3px solid #CCC;
/* margin:0 auto; needed? */
}
#header-top {
/* contains logo & title text */
background: #F00;
width: 100%;
height: 200px;
margin: 0 auto;
/* aligns centrally */
display: flex;
justify-content: center;
align-items: center;
}
.header-text-wrap {
width: 452px;
height: auto;
background: #0F0;
text-align: justify;
float: left;
}
.header-logo-wrap {
width: 100px;
height: 100px;
background: #0CC;
text-align: justify;
float: left;
}
#header-bottom {
/* contains navigation menu */
background: #00F;
width: 100%;
height: 50px;
margin: 0 auto;
/* aligns centrally */
border-top: 3px solid #CCC;
}
/* Fonts */
header {
font-family: Arial, sans-serif, tahoma, Arial, Cambria;
-webkit-font-smoothing: antialiased;
/* subtley makes fonts smoother */
font-size: 45px;
text-transform: uppercase;
line-height: 40px;
}
slogan {
font-family: courier new, tahoma, Arial, Cambria, serif;
-webkit-font-smoothing: antialiased;
/* subtley makes fonts smoother */
font-size: 20px;
text-transform: uppercase;
word-spacing: 10px;
letter-spacing: 5px;
}
<div id="header-wrap">
<div id="header-top">
<div class="header-logo-wrap"></div>
<div class="header-text-wrap">
<header>text goes here & more here
</header>
<slogan>more text goes here</slogan>
</div>
</div>
<div id="header-bottom"></div>
Upvotes: 2