放置几个div,一个接一个宽度全宽,并调整宽度和高度为图像背景

时间:2018-03-30 14:52:01

标签: html css

我希望一个接一个地显示div $ stat testfile ... Inode: 1181459 $ vim testfile # and do some change $ stat testfile ... Inode: 1181460 #botone#bottwo。我还希望在#botthree div上按100%宽度和比例高度调整背景图像。

现在最后两个Div显示在#botone Div后面,#botone div将49px添加到来自#botone Div的垂直位置。

我还希望将.topnav Div置于最顶层。



.topnav

** body {
  margin: 0px 0px;
}


/* Add a black background color to the top navigation */

.topnav {
  background-color: #000;
  overflow: hidden;
  height: 49px;
}


/* Style the links inside the navigation bar */

.topnav a {
  float: right;
  color: #f2f2f2;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
  font-size: 17px;
}


/* Change the color of links on hover */

.topnav a:hover {
  background-color: #ddd;
  color: black;
}


/* Add a color to the active/current link */

.topnav a.active {
  background-color: #4CAF50;
  color: white;
}

.block {
  float: left;
  width: 40px;
}

.blocka {
  float: right;
  width: 250px;
}

#botone {
  position: absolute;
  height: 100%;
  width: 100%;
  background-image: url("arc.jpg");
  background-size: cover;
}

#bottwo {
  background-color: blue;
  height: 400px;
  width: 100%;
}

#botthree {
  background-color: yellow;
  height: 600px;
  width: 100%;
}




2 个答案:

答案 0 :(得分:1)

如果我理解你的问题,这会完成你想要做的事吗?

HTML:

<div class="topnav">
  <div class="block">
      <a href="#oi">Oi</a>
  </div>
  <div class="blocka">
      <a href="#news">News</a>
      <a href="#contact">Contact</a>
      <a href="#about">About</a>
  </div>
  </div>
  <div id="botone">testtext
  </div>
  <div id="bottwo">testtext
  </div>
  <div id="botthree">testtext
</div>

CSS :(底部的变化)

body {
margin: 0px 0px;
}

/* Add a black background color to the top navigation */
.topnav {
background-color: #000;
overflow: hidden;
height: 49px;

}

/* Style the links inside the navigation bar */
.topnav a {
float: right;
color: #f2f2f2;
text-align: center;
padding: 14px 16px;
text-decoration: none;
font-size: 17px;
}

/* Change the color of links on hover */
.topnav a:hover {
background-color: #ddd;
color: black;
}

/* Add a color to the active/current link */
.topnav a.active {
background-color: #4CAF50;
color:white;
}

.block { float:left;width: 40px; }
.blocka { float:right;width: 250px; }

#botone {
position: absolute;
height: 100%;
width: 100%;
background-image: url("arc.jpg");
background-size: cover;
}
#bottwo {
background-color:blue;
height: 400px;
width: 100%;

}
#botthree {
background-color:yellow;
height: 600px;
width: 100%;
}


/*--- Fixes --*/

.topnav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 5;
}

#botone {
  /*-- Test --*/
  background-image: url("https://images.pexels.com/photos/948358/pexels-photo-948358.jpeg?auto=compress&cs=tinysrgb&h=650&w=940");

  background-position: center;
  height: 100vh;
  margin-top: 49px;
  position: relative;
}

link to example

答案 1 :(得分:0)

与您的要求描述有点混淆,但我认为这是您要实现的目标:

.topnav {
  background-color: #000;
  overflow: hidden;
  height: 49px;
  position:fixed; //add this
  width:100%; //add this
}

#botone {
  position: absolute;
  margin-top: 49px; //add this
  height: 100%;
  width: 100%;
  background-image: url("arc.jpg");
  background-size: cover;
}

要固定顶部导航或标题,请使用position:fixed。您必须将宽度定义为100%,否则它将自动为width: auto

要确保以下div直接显示在固定元素下,请为其指定与固定元素高度对应的margin-top。如果您使用SCSS,这在响应式设计中会更好,因为您可以创建一个同时将高度应用于margin-top的函数。但是如果你使用CSS,只需检查你的@media查询,以确保高度和margin-top是一致的。

目前,蓝色元素是跟随固定元素的元素。如果你想在蓝色元素和标题之间添加一些东西(即幻灯片或横幅),那么就像正在处理蓝色元素一样。将此边距顶部并将其从蓝色元素中移除,因为蓝色元素不再直接位于固定标题下。

请参阅DEMO

或摘录中的整个代码

body {
  margin: 0px 0px;
}


/* Add a black background color to the top navigation */

.topnav {
  background-color: #000;
  overflow: hidden;
  height: 49px;
  position:fixed;
  width:100%;
  top:0;
}


/* Style the links inside the navigation bar */

.topnav a {
  float: right;
  color: #f2f2f2;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
  font-size: 17px;
}


/* Change the color of links on hover */

.topnav a:hover {
  background-color: #ddd;
  color: black;
}


/* Add a color to the active/current link */

.topnav a.active {
  background-color: #4CAF50;
  color: white;
}

.block {
  float: left;
  width: 40px;
}

.blocka {
  float: right;
  width: 250px;
}

#botone {
  position: absolute;
  margin-top: 49px;
  height: 100%;
  width: 100%;
  background-image: url("arc.jpg");
  background-size: cover;
}

#bottwo {
  background-color: blue;
  height: 400px;
  width: 100%;
}

#botthree {
  background-color: yellow;
  height: 600px;
  width: 100%;
}
<div class="topnav">
  <div class="block">
    <a href="#oi">Oi</a>
  </div>
  <div class="blocka">
    <a href="#news">News</a>
    <a href="#contact">Contact</a>
    <a href="#about">About</a>
  </div>
</div>
<div id="botone">testtext
</div>
<div id="bottwo">testtext
</div>
<div id="botthree">testtext
</div>