Div вашего чат-бота занимает всю правую часть, потому что вы указываете ему делать это в css, задавая height: 100vh;
. И объединение этого с position: fixed;
и width: 390px;
означает, что RHS для 390 пикселей из вашего окна используется вашим <div id="chatBot"...
. Также, используя z-index: 11111;
, вы обязательно наложите его поверх всего на этой странице.
Значит, это не имеет ничего общего с вашим iframe. Просто чистый css. Но я полагаю, что проблема в том, что вы хотите, чтобы ваше окно чата достигло полной ширины при открытии. Затем вы должны создать решение javascript (или если вы используете некоторую структуру, которая позволяет вам условно отображать использование класса), чтобы динамически установить ширину на 100% или 100vh только при открытии чата и удалить это, когда чат закрыто.
Я также рекомендую вам использовать z-index только тогда, когда он вам действительно нужен, и старайтесь не использовать такие большие числа, потому что сложно поддерживать такой код.
Изменить: Вы можете сделать это, создав более широкий контекст z-index
. Но тогда ваши кнопки будут отображаться поверх iframe чата.
Вы можете попробовать создать тот же контекст z-index
для своего chatBot div
, а также для контейнера кнопок, которые задают относительное отображение iframe и z-index: 1
Но это было бы проще работать с контекстами, если не использовать такие большие числа для z-index. (вот почему я сказал, что вам следует использовать меньшие z-index
). В любом случае это тоже может сработать. Это не имеет большого значения. Это просто не очень хорошая практика.
Продолжение: обратите внимание, что если у вас есть элемент, позиционированный относительно, абсолютный или фиксированный с z-индексом, который уже является контекстом. Итак, если у вас есть другой элемент с позиционированием, но с немного большим z-index (скажем, первый имеет z-index: 1, а второй - z-index: 2), этот второй контекст будет более крупным, чем первый, несмотря ни на что. Итак, если у вас есть внутри первого элемента (без z-индекса) другой элемент, вы можете указать любой z-индекс, который хотите (например, z-index: 99999
), у него будет только этот огромный индекс в первом контексте. Так будет отображаться под вторым элементом, если он перекрывается. Пример:
.big-z-index {
position: absolute;
z-index: 9999;
background:red;
width: 100px;
height:50px
}
.small-z-index {
position: absolute;
z-index: 2;
background:blue;
width: 50px;
height:20px
}
<div style="position: absolute; z-index:1">
<div class="big-z-index"></div>
</div>
<div class="small-z-index"></div>
Итак, если у вас есть контекст z-index для контейнеров, только если у вас такой же контекст, вы можете позиционировать определенные элементы.