У меня есть виджет веб-чата, который я загружаю по URL-адресу, но мне нужно стилизовать виджет, чтобы в нижней части полосы прокрутки всегда отображались самые последние сообщения.Я нашел способ сделать это с помощью CSS, но он еще не совсем там.
Если я добавлю display: -webkit-flex;
, я получу именно то, что мне нужно, но ширина окна чата таинственно сокращается по ширине.Я попытался добавить свойства ширины, но они игнорируются при запуске.
![enter image description here](https://i.stack.imgur.com/hJUk3.png)
Тогда, если я использую display: -webkit-flex;
и flex-direction:column-reverse
, ширина остается полной шириной контейнера, в котором он находится, и фокус находится наснизу, как я хотел, но полоса прокрутки исчезает, поэтому пользователь не может просматривать прошлые сообщения.Я также попробовал некоторые методы javascript, но они, похоже, также игнорируются, когда я добавляю их в свой скрипт в моем файле .pug
.
![Scrollbar gone](https://i.stack.imgur.com/jvaC8.png)
Как мне получить окно чата, чтобы прокручивать фокус внизу (чтобы видеть новые сообщения без прокрутки) и при этом иметь возможность снова вручную прокручивать вверх, чтобы увидеть старые сообщения?Я открыт для решения в CSS, HTML или JavaScript.Поскольку HTML легко получить в формате Pug, я включу его в качестве тега, даже если я использую Pug для своего пользовательского интерфейса.
index.pug
chat-window
#webchat(action='/chat', method='POST')
script(src='https://cdn.botframework.com/botframework-webchat/latest/webchat.js')
script.
const styleSet = window.WebChat.createStyleSet({
bubbleBackground: 'rgba(252, 229, 53, 1)',
bubbleFromUserBackground: 'rgba(4, 234, 104, 1)',
paddingRegular: 10,
sendBoxHeight: 50,
});
window.WebChat.renderWebChat({
directLine: window.WebChat.createDirectLine({ secret: 'xxxxxxxxxxxxxxxxxxxxxxxxxx' }),
styleSet
}, document.getElementById('webchat'));
main.css
chat-window {
border-style: solid;
border-width: 2px 2px 1px 1px;
border-color: #000080;
float: left;
padding-top: 40px;
padding-bottom: 40px;
width: 70%;
background-color: #5a8cb1;
height: 350px;
}
#webchat {
max-height: 270px;
margin-bottom: 20px;
width: 100%;
overflow: auto;
display: -webkit-flex;
}