絶対配置、インライン/インラインブロック表示、フレックス表示などを2日間考え、試行錯誤した後...私はまだ質問に対する答えを見つけられませんでした-「タイムスタンプのラベル位置をスタイルする方法は、純粋な CSS を使用した下のスクリーンショット?".
条件:
- タイムスタンプの幅は、親ブロックの min-width 60px から max-width 100% までさまざまです (親には max-width 値があり、右にフロートします)。
- タイムスタンプが 100% より小さい場合 (例: 50%)、その左側のスペースはテキストで埋められ、タイムスタンプは常に右揃えになります。
- テキストとタイムスタンプが親の最大幅よりも小さい場合 - それらは 1 行に表示されます (スクリーンショットの 1 番目と 2 番目のメッセージのように)
- タイムスタンプがテキストの 1 行に収まらない場合 - ドロップダウンして右揃え
- テキストが 1 行に収まらない場合 (スクリーンショットの 3 番目のメッセージのように)、タイムスタンプが 2 行目に表示され、右揃えになり、その上のスペースをブロックしません。
今までは JS でしか実現できませんでしたが、純粋な CSS で動作させることは可能だと思います。
UPD: http://jsbin.com/gatifevowu/2/edit?html,css,outputを手伝いたい場合は、サンドボックスの例を大まかなコードで追加しました。