Контейнер CSS не растет в то же время, когда размер содержимого внутри - PullRequest
0 голосов
/ 24 июня 2018

Вы можете проверить CSS здесь:

https://jsfiddle.net/razp9f0k/

Хорошо, проблема в моем css это следующая, у меня есть контейнер с именем win_container_gen , этот контейнер находится внутри других элементов div в относительной позиции и внутри элемента div с именем win_container , измените его высоту и ширину, первое, что вы можете увидеть, когда загружаете демонстрационный сайт с этим примером css, это div с рамкой черного цвета, и это общий контейнер, и, как вы можете видеть, этот контейнер больше, чем содержимое. внутри проблема с высотой

Я пытаюсь исправить это usind height auto, также с max-height и т. Д., Но в результате получается то же самое, общий контейнер не растет вместе с содержимым внутри

Я не знаю, существует ли какая-то хитрость для этого, но мой вопрос, что это

Как я могу сделать для общего роста контейнера в то же время и с той же высотой, что и внутри содержимого, чтобы не показывать больше меньших контейнеров внутри

#win_container_gen {
  position:relative;
  width:350px;
  height:300px;
  margin:auto;
  border:4px solid #111;
}

#win_title {
  position:relative;
  width:100%;
  height:35px;
  line-height:35px;
  margin:auto;
  font-family:Arial;
  font-size:14px;
  color:#fff;
  padding-left:1%;
  background-color:#111;
  -webkit-border-top-left-radius: 5px;
-webkit-border-top-right-radius: 5px;
-moz-border-radius-topleft: 5px;
-moz-border-radius-topright: 5px;
border-top-left-radius: 5px;
border-top-right-radius: 5px;
}

#win_container {
  position:relative;
  width:100%;
  height:100%;
  margin-left:auto;
  margin-right:auto;
  border:0px solid;
  background-color:#eee;
}


#win_footer {
  position:relative;
  width:100%;
  height:40px;
  line-height:40px;
  cursor: nwse-resize;
  background-color:grey;
  bottom:0;
  -webkit-border-bottom-right-radius: 5px;
-webkit-border-bottom-left-radius: 5px;
-moz-border-radius-bottomright: 5px;
-moz-border-radius-bottomleft: 5px;
border-bottom-right-radius: 5px;
border-bottom-left-radius: 5px;
}

#iframe {
  display:block;
  width:100%;
  height:100%;
}
<div id="win_container_gen">

<div id="win_title"></div>

<div id="win_container">
<iframe src="http://brute-power.com" width="0" marginwidth="0" height="0" marginheight="0"  scrolling="yes" frameborder="0" id="iframe"></iframe>
</div>

<div id="win_footer"></div>
</div>

1 Ответ

0 голосов
/ 24 июня 2018

Проблема в том, что вы определили height:100% на внутреннем элементе, НО у вас больше элементов, поэтому общая высота всех элементов превысит 100%, таким образом, вы получите переполнение.Это легко исправить, полагаясь на flexbox, и вместо height:100% вы используете flex:1, чтобы внутренний контейнер заполнил оставшееся пространство, оставленное другими элементами:

#win_container_gen {
  width: 350px;
  height: 300px;
  display: flex;
  flex-direction: column;
  margin: auto;
  border: 4px solid #111;
}

#win_title {
  position: relative;
  height: 35px;
  line-height: 35px;
  font-family: Arial;
  font-size: 14px;
  color: #fff;
  padding-left: 1%;
  background-color: #111;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
}

#win_container {
  flex: 1;
  border: 0px solid;
  background-color: #eee;
}

#win_footer {
  height: 40px;
  line-height: 40px;
  cursor: nwse-resize;
  background-color: grey;
  border-bottom-right-radius: 5px;
  border-bottom-left-radius: 5px;
}

#iframe {
  display: block;
  width: 100%;
  height: 100%;
}
<div id="win_container_gen">

  <div id="win_title"></div>

  <div id="win_container">
    <iframe src="http://brute-power.com" width="0" marginwidth="0" height="0" marginheight="0" scrolling="yes" frameborder="0" id="iframe"></iframe>
  </div>

  <div id="win_footer"></div>
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...