Hi dupalo, pleased you have solved the issue, but I was asking for information, not making a suggestion. You see, neither clear or an explicit height should be necessary, and adding them both will probably be "fixing" another issue. I'm an advocate of avoiding the original issue rather than adding more and more fixes.
The reason I asked about positioning and height is because I wondered if you were working with a theme, and the ones we see here are frequently what I call "over-engineered". That is, have lots of extra code to control the html very specifically, but which is not really necessary, and so creates the sorts of issues you identified. A common response is to add "fixes" - that is "over-engineer" some more ... creating issues which are dealt with by adding more code .. which creates more issues ... To my mind, best resolve the original issue.
For the future, just keep in mind that a block element should contain it's contents unless it has an explicitly set height, and/or the contents have been removed from the flow (using float or positioning). Also, that clearing elements add extra html elements that have no semantic value. Rather than an extra div it is often possible to apply the clear to the element itself. Marshall's suggestion of using <br> is (to my mind) much less worse than a whole div, but the ideal is to code to avoid them. If you must, and are supporting modern versions only, the pseudo elements :before/:after are much less invasive.