Positionering ten opzichte van de ouder in CSS

Als een element relative heeft gekregen, en zijn nakomeling - absolute, dan zal deze nakomeling zich positioneren ten opzichte van zijn ouder, en niet ten opzichte van het browservenster.

In zo'n geval krijgt de ouder doorgaans relative zonder verschuivingen. In dit geval gebeurt er niets met deze ouder, maar al zijn nakomelingen zullen zich nu positioneren ten opzichte van hem.

Laten we naar voorbeelden kijken.

Voorbeeld

Laten we om te beginnen gewoon een ouderblok en een nakomelingenblok maken zonder positionering:

html<div id="parent">
  <div id="child"></div>
</div>
css#parent {
  width: 500px;
  height: 300px;
  margin: 0 auto;
  border: 1px solid red;
}
#child {
  width: 200px;
  height: 200px;
  border: 1px solid green;
}

Результат:

Voorbeeld

Laten we het groene blok nu absoluut positioneren. Aangezien de ouder geen relative heeft gekregen, zal de nakomeling zich positioneren ten opzichte van het browservenster:

html<div id="parent">
  <div id="child"></div>
</div>
css#parent {
  width: 500px;
  height: 300px;
  margin: 0 auto;
  border: 1px solid red;
}
#child {
  position: absolute;
  top: 20px;
  left: 20px;
  
  width: 200px;
  height: 200px;
  border: 1px solid green;
}

Результат:

Voorbeeld

Laten we de ouder nu relative geven. In dit geval zal de nakomeling zich positioneren ten opzichte van zijn ouder:

html<div id="parent">
  <div id="child"></div>
</div>
css#parent {
  position: relative;
  width: 500px;
  height: 300px;
  margin: 0 auto;
  border: 1px solid red;
}
#child {
  position: absolute;
  top: 20px;
  left: 20px;
  
  width: 200px;
  height: 200px;
  border: 1px solid green;
}

Результат:

Praktische taken

In de volgende taken staat het hoofdblok gecentreerd met behulp van margin met de waarde auto, en de andere worden gepositioneerd ten opzichte ervan met behulp van de eigenschap position.

Задание 1
Задание 2
Задание 3
Задание 4
Задание 5