1. jsfiddle.net/mhof8rkL
Почему отступ у абзаца (у блоков аналогично) появляется относительно окна, а не блока, в котором он находится?
2. Есть горизонтальное меню:
1) Гуглить "схлопывание отступов". Лечитсся добавлением блоку родителю бордера или паддинга сверху.
2) boder-left: dotted, установить нужную высоту строки и убрать у первого элемента (fist-child)