Block formatting contexts next to floats

Small positive left margin on the block formatting context

No right margin on the float

float: left;
width: 100px;
border-right-width: 100px;
margin-right: 0;
overflow: hidden;
border-left-width: 100px;
width: 100px;
margin-left: 100px;

Positive right margin on the float

float: left;
width: 100px;
border-right-width: 100px;
margin-right: 100px;
overflow: hidden;
border-left-width: 100px;
width: 100px;
margin-left: 100px;

Negative right margin on the float

float: left;
width: 100px;
border-right-width: 100px;
margin-right: -100px;
overflow: hidden;
border-left-width: 100px;
width: 100px;
margin-left: 100px;

Large negative right margin on the float

float: left;
width: 100px;
border-right-width: 100px;
margin-right: -500px;
overflow: hidden;
border-left-width: 100px;
width: 100px;
margin-left: 100px;

Large positive left margin on the block formatting context

No right margin on the float

float: left;
width: 100px;
border-right-width: 100px;
margin-right: 0;
overflow: hidden;
border-left-width: 100px;
width: 100px;
margin-left: 400px;

Positive right margin on the float

float: left;
width: 100px;
border-right-width: 100px;
margin-right: 100px;
overflow: hidden;
border-left-width: 100px;
width: 100px;
margin-left: 400px;

Negative right margin on the float

float: left;
width: 100px;
border-right-width: 100px;
margin-right: -100px;
overflow: hidden;
border-left-width: 100px;
width: 100px;
margin-left: 400px;

Large negative right margin on the float

float: left;
width: 100px;
border-right-width: 100px;
margin-right: -500px;
overflow: hidden;
border-left-width: 100px;
width: 100px;
margin-left: 400px;

No left margin on the block formatting context

No right margin on the float

float: left;
width: 100px;
border-right-width: 100px;
margin-right: 0;
overflow: hidden;
border-left-width: 100px;
width: 100px;
margin-left: 0;

Positive right margin on the float

float: left;
width: 100px;
border-right-width: 100px;
margin-right: 100px;
overflow: hidden;
border-left-width: 100px;
width: 100px;
margin-left: 0;

Negative right margin on the float

float: left;
width: 100px;
border-right-width: 100px;
margin-right: -100px;
overflow: hidden;
border-left-width: 100px;
width: 100px;
margin-left: 0;

Large negative right margin on the float

float: left;
width: 100px;
border-right-width: 100px;
margin-right: -500px;
overflow: hidden;
border-left-width: 100px;
width: 100px;
margin-left: 0;

Small negative left margin on the block formatting context

No right margin on the float

float: left;
width: 100px;
border-right-width: 100px;
margin-right: 0;
overflow: hidden;
border-left-width: 100px;
width: 100px;
margin-left: -100px;

Positive right margin on the float

float: left;
width: 100px;
border-right-width: 100px;
margin-right: 100px;
overflow: hidden;
border-left-width: 100px;
width: 100px;
margin-left: -100px;

Negative right margin on the float

float: left;
width: 100px;
border-right-width: 100px;
margin-right: -100px;
overflow: hidden;
border-left-width: 100px;
width: 100px;
margin-left: -100px;

Large negative right margin on the float

float: left;
width: 100px;
border-right-width: 100px;
margin-right: -500px;
overflow: hidden;
border-left-width: 100px;
width: 100px;
margin-left: -100px;

Large negative left margin on the block formatting context

No right margin on the float

float: left;
width: 100px;
border-right-width: 100px;
margin-right: 0;
overflow: hidden;
border-left-width: 100px;
width: 100px;
margin-left: -400px;

Positive right margin on the float

float: left;
width: 100px;
border-right-width: 100px;
margin-right: 100px;
overflow: hidden;
border-left-width: 100px;
width: 100px;
margin-left: -400px;

Negative right margin on the float

float: left;
width: 100px;
border-right-width: 100px;
margin-right: -100px;
overflow: hidden;
border-left-width: 100px;
width: 100px;
margin-left: -400px;

Large negative right margin on the float

float: left;
width: 100px;
border-right-width: 100px;
margin-right: -500px;
overflow: hidden;
border-left-width: 100px;
width: 100px;
margin-left: -400px;