At the solution 3, the margin-collapsing mechanism is the reason leads to the issue you met, with overflow: hidden, it will prevent margin-collapsing, so it's working as expected.
I have other solution: just using a div tag and take advantage of it pseudo ::after to create the circle inside it:
At the solution 3, the margin-collapsing mechanism is the reason leads to the issue you met, with
overflow: hidden, it will prevent margin-collapsing, so it's working as expected.I have other solution: just using a div tag and take advantage of it pseudo
::afterto create the circle inside it: