Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

Testen Sie Ihr Können: Positionierung

Ziel dieses Fähigkeitstests ist es, Ihnen zu helfen, zu beurteilen, ob Sie das Positionieren in CSS mithilfe der CSS-position-Eigenschaft und ihren Werten verstehen. Sie werden zwei kleine Aufgaben durchgehen, die verschiedene Elemente des Materials verwenden, das Sie gerade behandelt haben.

Hinweis: Um Hilfe zu erhalten, lesen Sie unseren Anleitung zur Nutzung Ihrer Fähigkeiten. Sie können uns auch über einen unserer Kommunikationskanäle kontaktieren.

Aufgabe 1

Um diese Aufgabe abzuschließen, positionieren Sie das Element mit der Klasse target oben rechts im Container, der die 5px graue Umrandung hat.

Ihr Endergebnis sollte wie diese fertige Darstellung aussehen:

Bonusfrage: Können Sie das Ziel unterhalb des Textes anzeigen lassen?

html
<div class="container">
  <p>
    Veggies es bonus vobis, proinde vos postulo essum magis kohlrabi welsh onion
    daikon amaranth tatsoi tomatillo melon azuki bean garlic.
  </p>
  <div class="target">Target</div>
  <p>
    Gumbo beet greens corn soko endive gumbo gourd. Parsley shallot courgette
    tatsoi pea sprouts fava bean collard greens dandelion okra wakame tomato.
    Dandelion cucumber earthnut pea peanut soko zucchini.
  </p>
</div>
css
body {
  font: 1.2em / 1.5 sans-serif;
}

* {
  box-sizing: border-box;
}

.container {
  padding: 0.5em;
  border: 5px solid #cccccc;
}

.target {
  width: 150px;
  height: 150px;
  border-radius: 5px;
  background-color: #663398;
  padding: 1em;
  color: white;
}

.container {
  /* Add styles here */
}

.target {
  /* Add styles here */
}

Dies ist der Anfangszustand der Aufgabe:

Klicken Sie hier, um die Lösung anzuzeigen

Dies erfordert position: relative und position: absolute und ein Verständnis dafür, wie sie zueinander in Bezug stehen, indem die relative Positionierung einen neuen Positionierungskontext erstellt. Ein wahrscheinliches Problem könnte sein, dass Sie position: absolute auf das Kind anwenden, ohne position: relative auf den Container anzuwenden. In diesem Fall wird das Ziel relativ zum Viewport positioniert.

css
.container {
  position: relative;
}

.target {
  position: absolute;
  top: 0;
  right: 0;
}

Für die Bonusfrage müssen Sie einen negativen z-index zum Ziel hinzufügen, zum Beispiel z-index: -2.

Aufgabe 2

Im Anfangszustand dieser Aufgabe scrollt die Sidebar mit dem Inhalt, wenn Sie den Inhalt scrollen. Sie sollen den Code so aktualisieren, dass die Sidebar (<div class="sidebar">) an Ort und Stelle bleibt und nur der Inhalt scrollt, wie in dieser fertigen Darstellung gezeigt:

html
<div class="container">
  <div class="sidebar">
    <p>
      This is the sidebar. It should remain in position as the content scrolls.
    </p>
  </div>
  <div class="content">
    <p>
      Veggies es bonus vobis, proinde vos postulo essum magis kohlrabi welsh
      onion daikon amaranth tatsoi tomatillo melon azuki bean garlic.
    </p>
    <p>
      Gumbo beet greens corn soko endive gumbo gourd. Parsley shallot courgette
      tatsoi pea sprouts fava bean collard greens dandelion okra wakame tomato.
      Dandelion cucumber earthnut pea peanut soko zucchini.
    </p>
    <p>
      Turnip greens yarrow ricebean rutabaga endive cauliflower sea lettuce
      kohlrabi amaranth water spinach avocado daikon napa cabbage asparagus
      winter purslane kale. Celery potato scallion desert raisin horseradish
      spinach carrot soko. Lotus root water spinach fennel kombu maize bamboo
      shoot green bean swiss chard seakale pumpkin onion chickpea gram corn pea.
      Brussels sprout coriander water chestnut gourd swiss chard wakame kohlrabi
      beetroot carrot watercress. Corn amaranth salsify bunya nuts nori azuki
      bean chickweed potato bell pepper artichoke.
    </p>
  </div>
</div>
css
body {
  font: 1.2em / 1.5 sans-serif;
}

* {
  box-sizing: border-box;
}

.container {
  height: 400px;
  padding: 0.5em;
  border: 5px solid #cccccc;
  overflow: auto;
}

.sidebar {
  color: white;
  background-color: #663398;
  padding: 1em;
  float: left;
  width: 150px;
}

.content {
  padding: 1em;
  margin-left: 160px;
}

.sidebar {
  /* Add styles here */
}

Dies ist der Anfangszustand der Aufgabe:

Klicken Sie hier, um die Lösung anzuzeigen

Ihr fertiges Sidebar-CSS sollte so aussehen:

css
.sidebar {
  position: fixed;
}