ユーザーがテキストを入力するための入力フィールドを持つチャットを作成しました。彼がテキストを入力し、送信(または入力)を押すと、テキストは入力フィールドの上に表示されます。 チャット - 要素が最下位に達すると、絶対位置から相対位置への変更
私が欲しいもの:このようIは、入力フィールドがページの下部になりたいです。私はposition: absolute;
を使用して、これを達成しかしチャットはフィールドをたくさん持っているとき、あなたが戻ってスクロールしてチャットを見ることができません。
位置をposition: relative;
に設定すると、チャットをスクロールバックすることができます。
だから私の質問は次のとおりです。
私はいつも一番下にあるように、入力フィールドを設定することができ、チャットテキストがトップに達したときに、ユーザーがスクロールすることができるはず方法トップに戻る。私はこのdivの外にコンテナを使用し、そのコンテナの位置を作ってみた
.custom_chat {
position: relative;
bottom: 30px;
width: 40%;
margin-left: 33%;
}
:ここ
<div class="container custom_chat">
<div class="box box-warning direct-chat direct-chat-warning">
<div class="box-body">
<div class="direct-chat-messages">
<div class="direct-chat-msg" ng-repeat="message in listOfMessages track by $index" ng-class="{'right':!message.me}">
<div class="direct-chat-info clearfix" style="margin-top:20px;">
<span class="direct-chat-timestamp " ng-class="{'pull-left':message.me, 'pull-right':!message.me}">{{ message.timeMessage }}</span>
<span class="direct-chat-name" ng-class="{'pull-left':!message.me, 'pull-right':message.me}"><strong>{{ message.senderFirstName }}</strong></span>
</div>
<div class="direct-chat-text right">
<span style="word-break: break-all;">{{ message.content }}</span>
</div>
</div>
</div>
<div class="box-footer" style="margin-top:20px">
<form ng-submit="sendMessage()">
<div class="input-group">
<input type="text" placeholder="Type message..." autofocus="autofocus" class="form-control" ng-model="message.content" ng-enter="sendMessage()">
<span class="input-group-btn">
<button type="submit" class="btn btn-warning btn-flat">Send</button>
</span>
</div>
</form>
</div>
</div>
</div>
</div>
がCSSである:ここでは
はHTMLで相対。 ここでoffSetがどのように役立つのか分かりません。オフセットを使用するかどうかを説明してください。
本当にありがとうございました!私は完全にオーバーフローを忘れてしまった。これは私のために働いた。 – IkePr