Чтобы задать дочернему элементу свойство `position: sticky`, нужно использовать CSS. Элемент с `position: sticky` будет "прилипать" к родительскому элементу, если у родителя задана высота, которая превышает высоту дочернего элемента. Для этого родитель должен иметь `position` отличное от `static` (например, `relative`, `absolute`, или `fixed`).
Ниже приведён пример:
```html
<div class="parent">
<div class="child">
Это дочерний элемент с position: sticky
</div>
</div>
```
```css
.parent {
position: relative; /* Задаем position родителю */
height: 200vh; /* Высота родителя больше высоты экрана */
background: lightgray;
}
.child {
position: sticky; /* Делаем дочерний элемент sticky */
top: 0; /* Элемент будет прилипать к верхней части родителя */
background: lightblue;
}
```
Что касается второго вопроса, да, можно сделать элемент, который занимает всю высоту страницы, без указания его высоты в пикселях, используя только CSS. Для этого можно использовать свойство `height: 100vh`, которое задаёт высоту элемента равной 100% высоты окна просмотра (viewport).
Пример:
```html
<div class="full-height">
Этот элемент занимает всю высоту страницы
</div>
```
```css
.full-height {
height: 100vh; /* Задаем высоту 100% от высоты экрана */
background: coral;
}
```
Так что, чтобы ответить на ваш вопрос: **да, можно обойтись без JavaScript** для достижения описанных эффектов, используя только CSS.