内容溢出DIV的底部

时间:2018-01-07 14:47:16

标签: html css layout overflow

两个DIV的内容溢出底部。 所有浏览器都不会出现此问题。 Chrome,IE,Edge - 运行良好,但Firefox,Safari和Chrome for Android(Android)反映了这个问题。

屏幕截图:适用于Android的Chrome(平板电脑设备)

代码有什么问题?

html {
  height: 100%;
}

body {
  background-image: url("background.jpg");
  background-size: cover;
  background-position: center center;
  background-repeat: repeat;
  height: 100%;
  font-family: 'Times New Roman', Times, sans-serif;
  font-size: 16px;
}

#open-hours {
  float: left;
}

#contacts {
  float: right;
}

.ins {
  width: 4%;
  height: 4%;
}

hr {
  background-color: black;
}

#first-row-1 {
  width: 362px;
  height: 264px;
  margin-right: -4px;
}

#first-row-1 img {
  width: 100%;
  height: 100%;
}

#first-row-2 {
  width: 360px;
  height: 262px;
  border: 1px solid black;
  vertical-align: top;
}

#first-row-2 h4 {
  margin-top: 5px;
}

#first-row-1,
#first-row-2,
#second-row-1,
#second-row-2 {
  display: inline-block;
}

#first,
#second,
h2 {
  text-align: center;
}

#first-row-2 ul,
#second-row-1 ul {
  text-align: left;
}

#logo {
  width: 358px;
  height: 34px;
}

#logo img {
  width: 68px;
  height: 34px;
}

#second-row-1 {
  width: 360px;
  height: 262px;
  border: 1px solid black;
  vertical-align: top;
  margin-right: -4px;
}

#second-row-2 {
  width: 362px;
  height: 264px;
}

#second-row-2 img {
  width: 100%;
  height: 100%;
}

#second {
  margin-top: -4px;
}

@media only screen and (max-width: 766px) {
  #first-row-1,
  #second-row-2,
  #hide,
  .ins,
  .free-space {
    display: none;
  }
  #open-hours,
  #contacts {
    float: none;
    text-align: center;
  }
  #first-row-2,
  #second-row-1 {
    border: 1px solid black;
    margin: 0 auto;
    display: block;
    width: 100%;
  }
  #second {
    margin: 0px;
  }
  span {
    display: block;
  }
  h2 {
    font-size: 18px;
  }
  h4 {
    margin: 5px 0px -10px 0px;
  }
  #logo {
    margin: auto;
  }
}

@media only screen and (max-width: 393px) {
  #logo {
    display: none;
  }
  #first-row-2,
  #second-row-1 {
    min-width: 285px;
  }
}
<div>
  <div id="open-hours">пн-пт 10.00-20.00</div>
  <div id="contacts">
    <img class="ins" src="phone_pic.png"> text
    <img class="ins" src="envelope_pic.png"> <span>text</span>
  </div>
  <br class="free-space">
  <hr>
  <br class="free-space">
  <h2>Успешный опыт продаж <span id="hide">кондиционеров и климатической техники</span> с 2007 года</h2>
  <div id="first">
    <div id="first-row-1">
      <img src="photo_1.jpg">
    </div>
    <div id="first-row-2">
      <h4>Мы предлагаем широкий спектр оборудования</h4>
      <ul>
        <li>бытовые кондиционеры</li>
        <li>кондиционеры для коммерч. применения</li>
        <li>тепловые насосы</li>
        <li>осушители воздуха</li>
        <li>мультизональные VRF системы</li>
        <li>системы бытовой, полупромышленной и промышленной вентиляции</li>
        <li>приточно-вытяжные агрегаты</li>
        <li>тепловые завесы</li>
      </ul>
      <div id="logo">
        <img src="logo.gif">
        <img src="logo.png">
        <img src="log.png">
        <img src="logo.png">
        <img src="logo.jpg">
      </div>
    </div>
  </div>
  <div id="second">
    <div id="second-row-1">
      <h4>Оплата</h4>
      <ul>
        <li>наличный расчет - в пункте выдачи или по факту доставки продукции</li>
        <li>безналичный расчет - оплата физическими и юридическими лицами</li>
      </ul>
      <h4>Доставка</h4>
      <ul>
        <li>самовывоз</li>
        <li>собственным транспортом компании</li>
        <li>почтовыми, курьерскими службами Украины</li>
      </ul>
    </div>
    <div id="second-row-2">
      <img src="photo_2.jpg">
    </div>
  </div>
</div>

2 个答案:

答案 0 :(得分:0)

尝试将第一行和第二行div的高度替换为min-height和height为auto

#first-row-1{
width: 362px;
height:auto;
min-height: 264px;
margin-right: -4px;
}


#first-row-2{
width: 360px;
height:auto;
min-height: 262px;
border: 1px solid black;
vertical-align: top;
}

答案 1 :(得分:0)

我试图解决你的问题而不做太多改动,但实际上问题是,你正在为子元素设置固定高度,并且它们会溢出父母。我建议你做出响应,以便在你想要写更长的段落时保存自己的头痛。

不要过多地改变代码,你可以 对firstsecond div

进行以下更改
  • display:flex;
  • 所需宽度,例如2 * 362
  • margin:auto;

关注first-row-1first-row-2以及second row

的相同内容
  • 删除宽度和高度属性(或出于设计目的将高度更改为最小高度)
  • flex:1 0 0;