如何根据div的高度应用滚动?

时间:2016-06-28 09:42:22

标签: html css angularjs

我正面临对齐问题,而高度正在扩大。

场景:我有一个div标签,如果div的高度超过固定高度,我需要应用滚动。对于固定高度,滚动将不适用。

请帮忙。

#configurator .content .white-box {
  background-color: white;
  border: 1px solid #cecece;
  /*overflow:scroll;*/
}
#configurator .content .white-box-accessory {
  background-color: white;
  border: 1px solid #cecece;
  height: 50px;
  overflow: scroll;
}
#configurator .content .white-box-services {
  background-color: white;
  border: 1px solid #cecece;
  height: 50px;
  overflow: scroll;
}
<div class="white-box">
  <div>
    <p>Accasory Header
    </p>
  </div>
  <div class="white-box-accessory">
    <p>
      Accesory 1
      <br>Accesory 2
      <br>Accesory 3
      <br>Accesory 4
      <br>Accesory 5
      <br>Accesory 6
      <br>Accesory 7
      <br>Accesory 8
    </p>
  </div>
  <div>
    <p>Services Header
    </p>
  </div>
  <div class="white-box-services">
    <p>
      Services 1
      <br>Services 2
      <br>Services 3
      <br>Services 4
      <br>Services 5
      <br>Services 6
      <br>Services 7
      <br>Services 8
    </p>
  </div>
</div>

3 个答案:

答案 0 :(得分:0)

将css中的 max-height 添加到div并 overflow:auto ,以便在达到该高度后应用滚动,

#configurator .content .white-box {
  background-color: white;
  border: 1px solid #cecece;
  /*overflow:scroll;*/
}
 .white-box-accessory {
  background-color: white;
  border: 1px solid #cecece;
  max-height:100px;
  overflow:auto;
}
 .white-box-services {
  background-color: white;
  border: 1px solid #cecece;
  max-height:100px;
  overflow:auto;
}
<div class="white-box"> 
        <div>
             <p>Accasory Header
			 </p>
        </div>

        <div class="white-box-accessory">    
            <p>
			Accesory 1<br>
			Accesory 2<br>
			Accesory 3<br>
			Accesory 4<br>
			Accesory 5<br>
			Accesory 6<br>
			Accesory 7<br>
			Accesory 8
			</p>
        </div>

        <div>    
         <p>Services Header
		 </p>
        </div>

        <div class="white-box-services">    
              <p>
			  Services 1<br>
			  Services 2<br>
			  Services 3<br>
			  Services 4<br>
			  Services 5<br>
			  Services 6<br>
			  Services 7<br>
			  Services 8
			  </p>
        </div>

	</div>

Here is the fiddle

答案 1 :(得分:0)

首先将CSS类添加到要定位的所有div。我使用过scroll。然后添加max-height以设置固定高度,然后添加overflow-y: auto以在内容超过max-height时添加滚动。

在下面的代码段中,我已从您的代码中删除了一些服务以证明其效果。

&#13;
&#13;
.scroll {
  max-height: 300px;
  overflow-y: auto;
  height: 50vh;
}
&#13;
<div class="white-box">
  <div>
    <p>Accasory Header
    </p>
  </div>

  <div class="white-box-accessory scroll">
    <p>
      Accesory 1
      <br>Accesory 2
      <br>Accesory 3
      <br>Accesory 4
      <br>Accesory 5
      <br>Accesory 6
      <br>Accesory 7
      <br>Accesory 8
    </p>
  </div>

  <div>
    <p>Services Header
    </p>
  </div>

  <div class="white-box-services scroll">
    <p>
      Services 1
      <br>Services 2
      <br>Services 3
      <br>Services 4
    </p>
  </div>

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

答案 2 :(得分:0)

以下是示例

html,
body {
  height: 100%;
}
#wrapper {
  height: 100%;
  display: table;
  width: 700px;
}
#header {
  display: table-row;
  height: 30px;
}
#right-col {
  display: inline-block;
  width: 320px;
  height: 100%;
  max-height: 100%;
  margin-right: 20px;
  border: 2px black solid;
  vertical-align: top;
  overflow: hidden;
}
#inner-right {
  height: 300px;
  max-height: 300px;
  overflow-y: scroll;
  background: ivory;
}
<div id="wrapper">
  <div id="header">Header</div>
  <div id="body">
    <div id="right-col">
      <div id="header-text">Header</div>
      <div id="inner-right">
        <p>
          Accesory 1
          <br>Accesory 2
          <br>Accesory 3
          <br>Accesory 4
          <br>Accesory 5
          <br>Accesory 6
          <br>Accesory 7
          <br>Accesory 8 Accesory 1
          <br>Accesory 2
          <br>Accesory 3
          <br>Accesory 4
          <br>Accesory 5
          <br>Accesory 6
          <br>Accesory 7
          <br>Accesory 8 Accesory 5
          <br>Accesory 6
          <br>Accesory 7
          <br>Accesory 8
        </p>
      </div>
    </div>
  </div>
</div>