2017-11-15 27 views
0

私はチャットインターフェイスを構築しています。私の仕事はメッセージ間に日付を追加することです。日付は中央に配置しなければならず、メッセージは伝統的に左右になければなりません。HTMLとCSS - DIVを同じ行に並べるにはどうすればいいですか?

メッセージは正しく機能していますが、日付は問題です。

enter image description here

チャットはセクションで分かれています。それはどのように見えるか

。各セクションには日付があります。各セクションには複数のメッセージを入れることができます。

セクションのコードは以下の通りです:

 <div> 
      <div class="discussionMessageDate">{date here}</div> 
      <ul className="noDot"> 
       <li className="noDot + ..logic to figure out if to apple 'right' class"><span class="discussionMessage">{message}</span></li> 
      </ul> 
     </div> 

クラスは、私が間違って何をやっている

.discussionMessage { 
    background: rgba(255, 255, 255, 0.8); 
    border-radius: 10px; 
    padding: 5px 13px; 
    list-style-type: none; 
    max-width: 300px; 
    float: left; 
    clear: both; 
} 

.discussionMessageDate { 
    background: rgba(255, 255, 255, 0.8); 
    border-radius: 10px; 
    padding: 5px 13px; 
    max-width: 300px; 
    display: block 
} 

.noDot { 
    list-style-type: none; 
    padding: 0; 
    margin: 0 0 5px 0; 
} 

.right { 
    float: right; 
    clear: both; 
} 

ですか?

+0

を動作するはずだと思うようになります。どのような振る舞いが間違っていますか?日付はどのように「問題」ですか? – BSD

+0

'.discussionMessageDate'に' text-align:center'を宣言しようとしましたか? – UncaughtTypeError

+0

不正な動作は、日付がリストにないことです。順序はdate-> message-> message-> date-> message-> date-> messageでなければなりません。 <..> - 各日付をリストに表示する必要があります。日付のリストは別の場所に表示されます –

答えて

1

は、ラッピングのdivにclearfixを追加し、これは、私はそれはあなたがもう少し具体的にのようになり

https://jsfiddle.net/hmtkyz96/

<div class="discussionMessageContainer"> 
    <div class="discussionMessageDate">{date here}</div> 
    <ul class="noDot"> 
    <li class="right"><span class="discussionMessage">{message}</span></li> 
    </ul> 
</div> 

.discussionMessageContainer::after { 
    content:''; 
    clear:both; 
    display:table; 
} 
+0

今は大丈夫です!どのように私は "discussionMessageDate"をコンテナの中央に整列させ、liアイテムの配置を保存できますか? –

+0

マージン:0自動;トリックをやった –

1

あなたは "text-align:center;"を追加します。プロパティを "discussionMessageDate"クラスに追加して、テキストを中央に配置します。 divはデフォルトで左に揃えられたコンテンツを表示します。

また、コンテナの最大サイズも300pxに指定する必要があると思います。それ以外の場合、リストは画面全体に広がりますが、日付は固定サイズです。

フロートされた要素の親がその高さを失うので、フロートをクリアする必要があります。このよう

body{ 
    max-width: 300px; 
} 
.discussionMessageDate { 
    background: rgba(255, 255, 255, 0.8); 
    border-radius: 10px; 
    padding: 5px 13px; 
    max-width: 300px; 
    display: block; 
    text-align: center; 
} 

.clearer{ 
    clear: both; 
} 

<div> 
    <div class="discussionMessageDate">{date here}</div> 
     <ul class="noDot"> 
      <li class="right"><span class="discussionMessage">{message}</span></li> 
      <li class=""><span class="discussionMessage">{message}</span></li> 
      <li class="right"><span class="discussionMessage">{message}</span></li> 
     </ul> 
    </div> 
    <div class="clearer"></div> 
    <div> 
     <div class="discussionMessageDate">{date here}</div> 
      <ul class="noDot"> 
       <li class="noDot + ..logic to figure out if to apple 'right' class"><span class="discussionMessage">{message}</span></li> 
      </ul> 
     </div> 
    </div> 
+0

この回答ですか? – iNullPointer

+0

これはコメントではなく、回答としてでなければなりません –

+1

まあ、StackOverflowに伝えてください...評判が50未満のコメントを書くことはできません。ですから、サイトがどのように動作するのかという理由だけで、downvoteをしないでください。 – Sorix

関連する問題