私はチャットHTMLテンプレートを作成しようとしています。しかし、私はメッセージ領域をスクロール可能にするいくつかの問題を抱えています。divで位置を絶対スクロール可能にする
チャットヘッダー:チャットや名前の人のタイトルを持つトップへ
私の構造は次のようです。
チャット入力メッセージ:あなたが書くことができます。
チャットの表示領域:合計の高さ - (チャットヘッダーの高さ+チャットの入力メッセージの高さ)。
メッセージ:最後のメッセージを読むには、高さを増やす必要がありますが、常にチャットの表示領域の下部にある必要があります。
この構造はすべて他のhtml要素と一緒に存在し、フルスクリーンではありません。
私のHTML構造は次のようである:
<div id="chat-1" class="chat-ventana">
<div class="chat-header">
<h4>Header</h4>
</div>
<div class="chat-mensajes-contenedor">
<div class="chat-mensajes-contenedor-general">
<div class="mensaje-contenedor">
<!-- messages content -->
</div>
</div>
</div>
<div class="chat-textarea">
<textarea class="form-control" placeholder="Type your message"></textarea>
<a href="#" class="mensaje-enviar"></a>
</div>
</div>
そして、私のCSSに見えますこれです:
.chat-container {
height: 70vh;
min-height: 400px;
}
.chat-ventana {
position: relative;
display: inline-block;
width: 65%;
float: left;
}
.chat-ventana, .chat-mensajes-contenedor {
height: 100%;
}
.chat-mensajes-contenedor, .chat-mensajes-contenedor-general {
padding: 15px 15px 20px 15px;
}
.chat-header {
z-index: 1;
position: absolute;
top: 0;
left: 0;
width: 100%;
}
.chat-mensajes-contenedor {
position: relative;
overflow-x: hidden;
overflow-y: scroll;
height: 400px;
}
.chat-mensajes-contenedor-general {
position: absolute;
bottom: 0;
left: 0;
width: 100%;
}
.chat-ventana, .chat-mensajes-contenedor {
height: 100%;
}
.chat-mensajes-contenedor {
height: calc(100% - 46px);
}
.chat-mensajes-contenedor, .chat-mensajes-contenedor-general {
padding: 66px 20px 25px 20px;
}
.chat-textarea {
position: absolute;
bottom: 0;
left: 0;
width: 100%;
}
.chat-textarea .form-control {
resize: none;
height: 46px;
padding: 10px 20px;
}
私はposition: relative;
に.chat-mensajes-contenedor-general
を設定した場合、それはscrolleableなるが、私見ますそれを底に置くことはできません。
を教えてくださいfor:https://jsfiddle.net/gLahjk5z/。私があなたの質問を理解しているかどうか完全には分からない。 – theblindprophet
@theblindprophet実際に私はメッセージが常に底にあることが必要です。チャットの自然な振る舞いのように。最後のメッセージは常に可視領域の一番下にあり、上にスクロールします。 –
ああ、テキストがすでに下にスクロールされることを除いて、それはあなたが望むものです。 – theblindprophet