div不是水平居中的&垂直

时间:2017-01-03 01:02:27

标签: html css

我想让绿松石和绿色的div位于红色div的中心。我试过边距:0自动,浮动,文本对齐,所有这些都不起作用。

turquoise div = header-logo-wrap
green div = header-text-wrap

如何让这些div水平和垂直居中?

非常感谢任何帮助,谢谢



@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 &amp; more here
</header>
<slogan>more text goes here</slogan>
</div>
</div>
<div id="header-bottom"></div>

</div>
</body>
</html>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:2)

使用flex定位。

@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 &amp; more here
      </header>
      <slogan>more text goes here</slogan>
    </div>

  </div>
  <div id="header-bottom"></div>

答案 1 :(得分:0)

你需要制作这些div {s} display: inline-block以使它们水平居中,并使display: table-cell包裹容器以使div垂直居中。

&#13;
&#13;
@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;
}
&#13;
<!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 &amp; more here
</header>
<slogan>more text goes here</slogan>
</div>
</div>
<div id="header-bottom"></div>

</div>
</body>
</html>
&#13;
&#13;
&#13;