I'm struggling to make CSS float for work (in my head).
Take a look at the following example:
<style type="text/css">
div.container {
width:500px;
}
div.left {
float:left;
clear:left;
}
div.right {
float:right;
}
</style>
<div class="container">
<div class="left">leftdata 1</div>
<div class="left">leftdata 2</div>
<div class="right">rightdata 1</div>
<div class="right">rightdata 2</div>
<div class="right">rightdata 3</div>
<div class="right">rightdata 4</div>
</div>
This will produce the following result:
+ ------------------------------------------------- ------------------- +
| leftdata 1 |
| leftdata 2 rightdata 1 rightdata 2 rightdata 3 rightdata 4 |
| |
+ ------------------------------------------------- ------------------- +
However, I expected this:
+ ------------------------------------------------- ------------------- +
| leftdata 1 rightdata 1 rightdata 2 rightdata 3 rightdata 4 |
| leftdata 2 |
| |
+ ------------------------------------------------- ------------------- +
Why it is clear: left; also clearing right?
My goal:
clear: right; DIV, : right. :
<style type="text/css">
div.left {float:left;clear:left;}
div.right {float:right;clear:right;}
</style>
+--------------------------------------------------------------------+
| leftdata 1 rightdata 1 |
| leftdata 2 rightdata 2 |
| rightdata 3 |
| rightdata 4 |
+--------------------------------------------------------------------+