我希望将一个div放在另一个div中,另一个div位于其下方。

时间:2016-12-29 20:18:46

标签: html css positioning

这是我的CSS和html:



.container {
	background-image: url('./images/bg.jpg');
	height: 500px;
	width: 960px;
	margin: auto;
}

.logo {
	margin: auto;
	text-align: center;
	width: 960px;
	height: 100px;
	position: relative;
	top: 200px;
}

ul {
	list-style: none;
}

li {
	display: inline;
}

.nav {
	margin: auto;
	text-align: center;
	padding-right: 35px;
	clear: both;
}

<div class="container">
	<div class="logo">
		<h1>My Page</h1>
	</div>
	
	<div class="nav">
		<ul>
			<li><a href="#">Home</a></li>
			<li><a href="#">About</a></li>
			<li><a href="#">Contact</a></li>
		</ul>
	</div>
&#13;
&#13;
&#13;

我不认为他们定位<div class="logo"></div>可能是正确的,但我不确定如何将内容集中在div中,我找到的任何解决方案似乎都会影响<div class="nav"></div>的定位。

所以这个问题是双重的 - 如何在<div class="logo"></div>中集中<div class="container"></div>,然后如何将<div class="nav"></div>置于<div class="logo"></div>之下?

感谢您的帮助。

3 个答案:

答案 0 :(得分:1)

您可以使用flexbox来做到这一点 https://jsfiddle.net/bjdvz1km/

.container {
	background-image: url('./images/bg.jpg');
	height: 500px;
	width: 960px;
  text-align: center;
  margin: auto;
  
  display: flex;
  flex-wrap: wrap;
  align-content: center;
}

.logo {
	margin: auto;
	width: 960px;
	height: 100px;
}

ul {
	list-style: none;
}

li {
	display: inline;
}

.nav {
	margin: auto;
	padding-right: 35px;
	clear: both;
}

body {
  margin: 0;
}
<div class="container">
  
  <div class="logo">
    <h1>My Page</h1>
  </div>
  
  <div class="nav">
    <ul>
      <li><a href="#">Home</a></li>
      <li><a href="#">About</a></li>
      <li><a href="#">Contact</a></li>
    </ul>
  </div>

</div>

答案 1 :(得分:0)

如果你想相对定位两个div,一个简单的方法是将一个相对定位的项目放在其父容器中,使用left:50%,transform:translateX(-50%)。

.container {
	background-image: url('./images/bg.jpg');
	height: 500px;
	width: 960px;
	margin: auto;
}

.logo {
	margin: auto;
	text-align: center;
	width: 960px;
	height: 100px;
	position: relative;
    left: 50%;
    transform: translateX(-50%);
}

ul {
	list-style: none;
}

li {
	display: inline;
}

.nav {
	margin: auto;
    position: relative;
	text-align: center;
	padding-right: 35px;
	clear: both;
    left: 50%;
    transform: translateX(-50%);
}
<div class="container">
	<div class="logo">
		<h1>My Page</h1>
	</div>
	
	<div class="nav">
		<ul>
			<li><a href="#">Home</a></li>
			<li><a href="#">About</a></li>
			<li><a href="#">Contact</a></li>
		</ul>
	</div>

答案 2 :(得分:0)

.container {
    background-image: url('./images/bg.jpg');
    height: 500px;
    width: 960px;
    margin: auto;
}

.logo {
    margin: auto;
    text-align: center;
    width: 960px;
    height: 100px;
    position: absolute;
    top: 40%;
    dispaly: block;
}

ul {
    list-style: none;
    padding: 0px;
    margin: 0px;
}

li {
    display: inline;
}



<div class="container">
    <div class="logo">
        <h1>My Page</h1>
        <ul>
            <li><a href="#">Home</a></li>
            <li><a href="#">About</a></li>
            <li><a href="#">Contact</a></li>
        </ul>
    </div>

</div>

这是你想要的吗?