JackRoster
JackRoster

Reputation: 1663

CSS div overflow issue

I'm trying to create a simple chat room using CSS which consist of their message and their username. What I have done is I've wrapped the message and username inside a <div>. The problem occurs when the message goes over the <div>. It doesn't push other <div>s containing other message below.

Thank you for helping me.

here the jsiddle

http://jsfiddle.net/gjuv8/

enter image description here enter image description here

CSS

 body { background-color: #535954}
 .box22 {  content: "";display: block;clear: both;background-color: #FFFFFF;width: 500px;height:400px;position: relative;left: 450px;top: 230px; }

 .user{font-size:18px;font-family:Arial;color: #3A3E42 ;font-weight: bold;float:right;position: relative;left: -20px;top: 0px;}
 .message{font-size:18px;font-family:Arial;color: #3A3E42 ;font-weight: bold;float:left;position: relative;left: 10px;top: 40px;}
 .wrapper{position: relative;left: 10px;top: 50px;background-color: #FFFFFF;width: 480px;height: 100px}

HTML

<link rel="stylesheet" href="css/float.css">
<div class="box22">

<div class="wrapper">
<span class="user">johnny123 </span>
<span class="message">message  message overflow message  message overflowmessage  message overflowmessage  message overflowmessage  message overflow</span>
</div>

<div class="wrapper">d
<span class="user">glasses glasses </span>
<span class="message">michael </span>
</div>
</div>

Upvotes: 4

Views: 131

Answers (4)

chinanzio
chinanzio

Reputation: 96

You are just setting to much static heights and widths ... i would do it like the code below ... let me know if it works for your need, cheers

CSS :

 body {
        background-color: #535954
    }

    .box22 {
        position: relative;
        display: block;
        width: 50%;
        margin: 0 auto;
        background-color: #FFFFFF;
        position: relative;
    }

    .user {
        position: relative;
        font-size: 18px;
        font-family: Arial;
        color: #3A3E42;
        font-weight: bold;
        text-align: right;
        padding: 2%;
    }

    .message {
        position: relative;
        font-size: 18px;
        font-family: Arial;
        color: #3A3E42;
        font-weight: bold;
    }

    .wrapper {
        position: relative;
        background-color: #FFFFFF;
    }

HTML :

<div class="box22">
    <div class="wrapper">
        <div class="user">johnny123 </div>
        <div class="message">message
            message overflow message message overflowmessage message
            overflowmessage message overflowmessage message overflow
            <br />
            overflowmessage message overflowmessage message overflow
            <br />
            overflowmessage message overflowmessage message overflow
            <br />
            overflowmessage message overflowmessage message overflow
        </div>
    </div>

    <div class="wrapper">
        <div class="user">glasses glasses </div>
        <div class="message">
            michael
            <br />
            overflowmessage message overflowmessage message overflow
            <br />
            overflowmessage message overflowmessage message overflow
        </div>
    </div>
</div>

Upvotes: 0

gauti
gauti

Reputation: 1274

I think this may work for u irrespectively to reduce ur code.For the messages and name u put one container div. just put float:left; min-height:"some required height" ; height:auto; for ur container div. it will simply lead u to go with expanded height

Upvotes: 0

Khanh TO
Khanh TO

Reputation: 48972

There are a lot to change to make it work

  body { background-color: #535954}
    .box22 {  content: "";display: block;clear: both;background-color: #FFFFFF;width: 500px;height:400px;position: relative;left: 450px;top: 230px; }

    .user{font-size:18px;font-family:Arial;color: #3A3E42 ;font-weight: bold;text-align:right}
    .message{font-size:18px;font-family:Arial;color: #3A3E42 ;font-weight: bold;}
    .wrapper{position:relative;background-color: #FFFFFF;width: 480px;}

Check out the demo here

Upvotes: 3

Falguni Panchal
Falguni Panchal

Reputation: 8981

may i sure try this css :

body {
    background-color: #535954
}
.box22 {
    content: "";
    display: block;
    clear: both;
    background-color: #FFFFFF;
    width: 500px;
    height: 400px;
    position: relative;
    left: 450px;
    top: 230px;
}
.user {
    font-size: 18px;
    font-family: Arial;
    color: #3A3E42;
    font-weight: bold;
    float: right;
    position: relative;
    left: -20px;
    top: 0px;
}
.message {
    font-size: 18px;
    font-family: Arial;
    color: #3A3E42;
    font-weight: bold;
    float: left;
    position: absolute;
    left: 10px;
    top: 32px;
}
.wrapper {
    position: relative;
    left: 10px;
    top: 50px;
    background-color: #FFFFFF;
    width: 480px;
    height: 100px
    margin:5px 0;
}

html source :

<div class="box22">
  <div class="wrapper"> <span class="user">johnny123 </span> <span class="message">message  message overflow message  message overflowmessage  message overflowmessage  message overflowmessage  message overflow</span> </div>
  <div class="wrapper"> <span class="user">glasses glasses </span> <span class="message">michael </span> </div>
</div>

Upvotes: 3

Related Questions