In BEM a block is:
A functionally independent page component that can be reused.
Set "external geometry or positioning" in the page where the component is being used. In this example you see a single component used 4 times.
<div class="wrapper">
<div class="BEM">I am a single BEM component</div>
<div class="loc1">
<div class="BEM">I am a single BEM component</div>
</div>
<div class="loc2">
<div class="BEM">I am a single BEM component</div>
</div>
<div class="loc3">
<div class="BEM">I am a single BEM component</div>
</div>
</div>
.BEM {
width: 100%;
background: lightblue;
padding: 20px;
border: 1px solid gray;
}
.loc1 {
width: 50%;
margin: 20px;
}
.loc2 {
width: 30%;
margin: 0 auto;
}
.loc3 {
position: absolute;
bottom: 0;
}
see it in action here:
https://codepen.io/luetkemj/pen/BYJEGp
The BEM component has no concept of it's size on the page. Only that it should use 100% of the width it is given. It has no concept of margin or positioning on the page because that is not it's responsibility - that is for the page to decide.
Think of your BEM component as dumb css components that only know about themselves. Your pages are smart containers that hold the grand vision and the understanding of the design. With that knowledge the pages can orchestrate a layout and position all your dumb components.