The reason:
- container is 940px
- row is 960px with a -20px margin
- span4 300px with a 20px margin
when screen width is <=940px, the -20px from row and the 20px margin from span4 cancel each other out, that’s why the first span4 has no left margin.
The ‘twitter bootstrap’ solution:
Add bootstrap-responsive.css and when the screen goes under 980px and beyond 768px:
container become 724px, row 744px and span4 228px, keeping a left margin on first span4.