html - HTML 样式,显示消息从底部开始,但不能滚动?
问题描述
我想创建一个像微信这样的表面。所有消息都是从底部开始的,但是为什么它不能滚动?如果消息从顶部开始,它可以滚动..但我希望消息从底部开始..
如何改进我的脚本?谢谢。
var childrens = document.querySelector("#chat").children.length;
document.querySelector("#chat").childNodes[childrens-1].scrollIntoView()
<div style="height: 100vh; background-position: top center; width: 100%; max-height: 1366px; position: relative;">
<div style="height: 40px; background-color: black; color: white; line-height: 40px; position: fixed; top: 0px; width: 100%; z-index: 999" align="right">
<div style="margin-right: 1em">menu</div>
</div>
<div style="bottom:0; background-color: white; color: white; line-height: 50px; position: fixed; width: 100%; height: 50px; z-index: 999; border-top: 1px solid #D3D3D3;" align="right">
<div style="width: 100%">
<div style="padding-left:1em; padding-right: 1em;" align="left"><input type="text" style="width: 90%;"><div style="float: right; border: 2px solid grey; height: 20px; margin-top: 0.5em; width: 20px; border-radius: 30px; color: grey; line-height: 20px; font-size: 1.5em;" align="center">+</div></div>
</div>
</div>
<div style="background-color: transparent; color: white; position: absolute; width: 100%; height: 100%; overflow: auto;" align="right">
<div style="padding-top: 40px; padding-right: 1em; padding-left: 1em; padding-bottom: 60px; position: absolute;">
<div id="chat" style="width: 100%; color: black; padding-top: 1em; font-size: 12px;">
<div>First message here</div><div>Message here</div><div>Message here</div><div>Message here</div><div>Message here</div><div>Message here</div><div>Message here</div><div>Message here</div><div>Message here</div><div>Message here</div><div>Message here</div><div>Message here</div><div>Message here</div><div>Message here</div><div>Message here</div><div>Message here</div><div>Message here</div><div>Message here</div><div>Message here</div><div>Message here</div><div>Message here</div><div>Message here</div><div>Message here</div><div>Message here</div><div>Message here</div><div>Message here</div><div>Message here</div><div>Message here</div><div>Message here</div><div>Last message</div>
</div>
</div>
</div>
</div>
解决方案
将 id "chat" 赋予所有消息的父 div 并使用此脚本
<script>
var childrens = document.querySelector("#chat").children.length;
document.querySelector("#chat").childNodes[childrens-1].scrollIntoView()
</script>
推荐阅读
- python - 如何在两个数据类之间绘制分隔线?
- python - 包含已删除元素的列表
- prometheus - 有没有办法让 prometheus 不刮掉 pod 的端口?
- python - 对于每一行,获取最频繁值的频率
- c# - 如何在 C# 中验证签名而不通过填充算法
- html - 如何在由宽度定义的元素下响应式放置 Div
- javascript - 未捕获的语法错误:意外的标识符 game.js:25
- jackson - 如何在 Ktor 中配置 jackson-modules-java8
- wordpress - wordpress 下一篇文章链接没有按预期工作
- sql - 在一个查询中使用两次嵌套查询 - 用于 FROM 和 WHERE