根据 window 大小调整 div 以及里面的内容

Resize div along with content inside according to window size

我已经查找了一百万种技术,但我无法让它发挥作用,而且我知道还有其他类似的帖子。如果它打扰了任何人,我很抱歉,但我需要针对我的代码的具体说明,因为我很愚蠢。非常感谢您!我希望 div 容器 contentContactBox 以及其中的所有 div 在浏览器 window 调整大小时按比例调整大小。 contentcontactBox 的左侧是一些文本,右侧是嵌入的 google 地图。我希望它们都随着 window.

的大小按比例缩小

注意:我知道我可能需要把position: absolute out of children divs

HTML:

<div id="contact" class="tab-pane fade in">
    <div id="contentBoxContact">
      <div id="map"></div>
      <div id="contact-content">
        <h1>Come see us downtown<br> and have a beer!</h1><br>
        <h2 style="text-decoration: underline">Phone Number:</h2>
        <h2>555-555-5555</h2><br>
        <h2 style="text-decoration: underline">Email:</h2>
        <h2>fakeemail@gmail.com</h2><br>
        <h2 style="text-decoration: underline">Address:</h2>
        <h2>
          Fake Place<br>
          414 2nd Avenue<br>
          Fake Location<br>
        </h2>
      </div>
    </div>
  </div>
</div>

CSS:

body {
  padding-top: 80px;
  width: 100%;
  height: 100%;
  color: white;
  background: url(/images/TaphouseTaps2.jpg) no-repeat center center fixed; 
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}


.tab-content{
  -webkit-transition: all 1s ease-in-out;
  -moz-transition: all 1s ease-in-out;
  -o-transition: all 1s ease-in-out;
  transition: all 1s ease-in-out;
}

#contentBoxContact {
  margin-top: 54px;
  width: 1185px;
  height: 560px;
  margin-left: -593px;
  background: rgba(34,34,34,.75);
}

#contact-content {
  position: absolute
  margin-top: 8px;
  margin-left: 40px;
  line-height: 2px;
  font-family: Titillium Web, Arial, Verdana, sans-serif;
  color: white; 
}

#map {
  position: absolute;
  width: 600px;
  height: 500px;
  margin-top: 30px;
  margin-left: 550px;
}

我建议你看看 Bootstrap。它以动态着称;如果屏幕尺寸发生变化,则该页面的整个 CSS 都会发生变化。这是 link:Bootstrap 3。希望对您有所帮助:)

我认为你需要在 child div 中使用 px 而不是 % 而对于 parent 使用

height: auto;
width:auto;

您可以使用 vw 值使 div 与 window 成比例缩小。

Example

HTML

<div class="one"></div>
<div class="two"></div>
<div class="three"></div>

CSS

.one {
  width: 20vw;
  height: 20vw;
  background-color: #76ccde;
  float: left;
  margin-left: 10px;
}

.two {
  width: 25vw;
  height: 25vw;
  background-color: #c976de;
  float: left;
  margin-left: 10px;
}

.three {
  width: 30vw;
  height: 30vw;
  background-color: #a7de76;
  float: left;
  margin-left: 10px;
}