jQuery使います。
HTML
1 <body>
2 <div class="container area bg-light" id="hoge">
3 <div class="messages">hoge</div>
4 <div class="messages">これをbottom: 0の位置にくるようにしたい</div>
5 </div>
6 </body>
7 </html>
CSS
1 .area {
2 height : 50 vh ;
3 overflow-y : scroll
4 }
JavaScript
1 window . onload = function ( ) {
2 $ ( '#hoge' ) . animate ( { scrollTop : $ ( '#hoge' ) [ 0 ] . scrollHeight } , 'fast' ) ;
3 }
JavaScriptのタイミングは適当に変えてください。
追記
比較演算子の調整が必要かも
HTML
1 <body>
2 <div class="container area bg-light" id=hoge>
3 <div id=messages>
4 <div class="message">hoge</div>
5 <div class="message">hoge</div>
6 <div class="message">hoge</div>
7 <div class="message">hoge</div>
8 <div class="message">hoge</div>
9 <div class="message">hoge</div>
10 <div class="message">hoge</div>
11 <div class="message">hoge</div>
12 <div class="message">hoge</div>
13 <div class="message">hoge</div>
14 <div class="message">hoge</div>
15 <div class="message">hoge</div>
16 <div class="message">hoge</div>
17 <div class="message">hoge</div>
18 <div class="message">hoge</div>
19 <div class="message">hoge</div>
20 <div class="message">hoge</div>
21 <div class="message">hoge</div>
22 <div class="message">hoge</div>
23 <div class="message">hoge</div>
24 <div class="message">hoge</div>
25 <div class="message">hoge</div>
26 <div class="message">hoge</div>
27 <div class="message">hoge</div>
28 <div class="message">hoge</div>
29 <div class="message">hoge</div>
30 <div class="message">hoge</div>
31 <div class="message">hoge</div>
32 <div class="message">hoge</div>
33 <div class="message">hoge</div>
34 <div class="message">hoge</div>
35 <div class="message">hoge</div>
36 <div class="message">hoge</div>
37 <div class="message">hoge</div>
38 <div class="message">これをbottom: 0の位置にくるようにしたい</div>
39 </div>
40 </div>
41 </body>
CSS
1 .area {
2 height : 50 vh ;
3 overflow-y : scroll
4 }
JavaScript
1 window . onload = function ( ) {
2 var aH = window . innerHeight / 2 ;
3 var mH = $ ( '#messages' ) . outerHeight ( ) ;
4 if ( mH < aH ) {
5 var offset = $ ( '#messages' ) . offset ( { top : aH - mH } ) ;
6 } else {
7 $ ( '#hoge' ) . animate ( { scrollTop : $ ( '#hoge' ) [ 0 ] . scrollHeight } , 'fast' ) ;
8 }
9 }
両方要jQuery
思いつき等々で書いたのでもっといい書き方あるかもしれません。