This is one way to do what you want:
.wrap {
position: relative;
margin: 5px;
border: 1px solid red;
}
.left {
float: left;
background-color: #CCC;
margin-right: 48px;
}
.right {
position: absolute;
top: 0;
right: 0;
width: 48px;
height: 48px;
background-color: #888;
}
Explanation:
- the current left column fills the entire width but retains a space for the right column with
margin-right: [right column width]; - 0, 0 ( )
- wrap
position: relative, .