Станислав Макаров, это необычный вопрос, ответа на который, впрочем, и в вузе нет. Но если постараться, то скорее всего в гугле можно найти информацию об этом. Просто автор захотел пойти по более простому пути и послушать ответы от людей, которые могли столкнуться с таким же вопросом и нашли на него ответ. В программировании, если совсем не уходить в дебри, можно найти ответы почти на все вопросы. А по поводу вузов - может у них и есть некоторые с трудом заметные преимущества, но они настолько малы, что не оправдывают затраченного времени.
Станислав Макаров, в вузах в ИТ-области давно уже все устарело. И никакой мотивации там учиться нет. Полезнее потратить время на самообразование. Разве это не очевидно? И как не старайся, у тебя получится только НЕ получить образование. В россии образованию настал конец. Здесь можно только на физмат идти, и то не везде (в физмате самообразование - это гиблое дело).
position: relative и не должно было ничего изменить. Оно позволяет позиционировать элемент относительно своего обычного положения на странице. С position: absolute - можно относительно родителя, только родителю надо задать position: relative, чтобы точкой отсчета координат было не окно браузера.
zwezew, ну, если вы еще не решили проблему, то по-моему, в использовании js при ресайзе нет ничего противозаконного, если вам нужно просто взять высоту и сделать равный ей отступ у контента сверху или padding у body.
Hocopor, тормозит из-за того, что браузер каждый раз отрисовывает изображение со свойством background-attachment: fixed; заново. А там оно задано как фон блоку, в котором находится и другой контент - текст, навигация и т.п. Получается, что браузеру приходится не просто отрисовывать изображение, но и обрабатывать текст над ним, рисуя его поверх картинки. Вот он и лагает. Чтобы избежать этого, достаточно просто вынести фон в отдельный блок с другим контекстом наложения.
Ingernirated, не работает, если у вас каким-то другим способом высота html не задается во всю высоту окна браузера. Свойство height: 100% у body работает относительно html, а если не задать html height 100%, он не будет иметь высоту, такую же как у вьюпорта (окна браузера в данном случае) и 100% высоты у body будут совсем не такими, как ожидается)
Я бы использовал дочерние дивы в вашем коде как врапперы, задал бы им паддинг со всех сторон, а в их содержимом уже бы сделал блоки, которые нужны автору. Так и с отступами разбираться не надо, и все красиво выглядит) Единственное, что могут требования к верстке ограничить такую реализацию)
Senseich, как вам и написали - можно все кастомизировать в scss. А если отступы не везде нужно изменять - можете, например, использовать стандартные классы бутстрапа для маргинов и паддингов (bootstrap 4): https://v4-alpha.getbootstrap.com/utilities/spacing/