Có vẻ như nó có thể xảy ra với flexbox, nhưng tôi không thể tìm ra.Nó có thể flexbox không? Cửa sổ trò chuyện với đầu vào ở dưới cùng, cuộc trò chuyện cuộn lên
http://codepen.io/MichaelJCole/pen/NGBVGe
Mục tiêu:
- textarea (ví typeing trong các tin nhắn) vẫn ở dưới cùng trong suốt thời gian.
- cuộc trò chuyện bắt đầu ở dưới cùng, sau đó cuộn lên khi cần.
- Nếu bạn sử dụng "Google Hangouts", như ứng dụng nhắn tin trong đó.
Dưới đây là đánh dấu:
<div id="chatBar">
<div id="chatList">
<div class="chat mine">hello world</div>
<div class="chat theirs">hello moon</div>
</div>
<input id="chatBarInput" class="form-control" type="textarea">
</div>
Và đây là CSS:
html, body { height: 100%; }
#chatBar {
height: 100%;
display: flex;
flex-flow: column nowrap;
justify-content: flex-end;
overflow: none;
}
#chatList {
flex: 0 1 auto;
display: flex;
flex-flow: column nowrap;
justify-content: flex-end;
overflow-y: scroll;
}
#chatBarInput {
flex: 1 0 auto;
}
.chat {
flex: none;
align-self: flex-start;
background-color: lightgreen;
}
.chat.mine {
align-self: flex-end;
background-color: pink;
}
tôi không thể nhận #chatBar
để "bóp" #chatList
mà không cần thiết lập một chiều cao. Đó là những gì tôi đang cố gắng tránh bằng cách sử dụng flexbox: -/
Xin lỗi, tôi là người lập trình phụ trợ. Đã thử một loạt các công cụ, sau đó pared nó xuống cho CodePen.
Có vẻ như tôi sẽ có thể nói cho flexbox bên trong cuộn, trong khi để bên ngoài một mình. Tôi có phải sử dụng vị trí: tuyệt đối không?
Tôi không hoàn toàn chắc chắn những gì bạn đang cố gắng hoàn thành. Nhưng tôi thấy bạn đang sử dụng 'chiều cao: 100%' trong thùng chứa flex của bạn ('# chatBar'). * 100% những gì? * Bạn cần cung cấp một khung tham chiếu khi sử dụng tỷ lệ phần trăm cao trong CSS. Thêm mã này vào mã của bạn: 'html, body {height: 100%; } ' –
Ok, điểm tốt. Tôi đã thêm điều đó vào codepen, nhưng vẫn còn cùng một rắc rối. Khi cơ thể nhỏ, đầu vào sẽ cuộn xuống dưới cùng. Tôi muốn các flexbox bên ngoài để đặt đầu vào * tại * phía dưới, và không bao giờ di chuyển. Hộp bên trong nên đặt các mục ở phía dưới và cuộn nếu chúng tràn. cái đó có giúp ích không? –