freeCodeCamp/curriculum/challenges/german/01-responsive-web-design/basic-css/understand-absolute-versus-...

3.2 KiB

id title challengeType videoUrl forumTopicId dashedName
bad82fee1322bd9aedf08721 Was absolute und relative Einheiten unterscheidet 0 https://scrimba.com/c/cN66JSL 301089 understand-absolute-versus-relative-units

--description--

In den letzten Aufgaben wurden Außen- und Innenabstände von Elementen in Pixel angegeben. (px). Pixels sind eine Art von Längeneinheit, welche dem Browser mitteilt, wie groß ein Element selbst oder seine Abstände sein sollen. Zusätzlich zu px gibt es in CSS eine Reihe von verschiedenen Längeneinheiten, die du verwenden kannst.

Grundsätzlich unterscheidet man zwischen absoluten und relativen Längeneinheiten. Absolute Einheiten beziehen sich auf physikalische Längeneinheiten. Zum Beispiel beziehen sich in und mm auf Inch und Millimeter. Absolute Längeneinheiten nähern sich den realen Maßen auf dem Bildschirm an, aber es gibt Unterschiede, je nach Bildschirmauflösung.

Relative Einheiten wie em oder rem sind relativ zu einem anderen Längenwert. Beispielsweise basiert em auf der Schriftgröße eines Elements. Wenn man es verwendet, um die font-size-Eigenschaft selbst zu definieren, ist es relativ zur font-size des Elternelements.

Hinweis: Es gibt mehrere relative Einheiten die von der Größe des Viewports (deutsch etwa: Ansichtsfenster) abgeleitet werden. Sie werden im Bereich Responsive Web Design Prinzipien behandelt.

--instructions--

Füge eine padding-Eigenschaft zum Element mit der Klasse red-box hinzu und setze sie auf 1.5em.

--hints--

Deine Klasse red-box sollte eine padding-Eigenschaft haben.

assert(
  $('.red-box').css('padding-top') != '0px' &&
    $('.red-box').css('padding-right') != '0px' &&
    $('.red-box').css('padding-bottom') != '0px' &&
    $('.red-box').css('padding-left') != '0px'
);

Deine Klasse red-box sollte Elementen einen padding von 1.5em zuweisen.

assert(code.match(/\.red-box\s*?{[\s\S]*padding\s*:\s*?1\.5em/gi));

--seed--

--seed-contents--

<style>
  .injected-text {
    margin-bottom: -25px;
    text-align: center;
  }

  .box {
    border-style: solid;
    border-color: black;
    border-width: 5px;
    text-align: center;
  }

  .yellow-box {
    background-color: yellow;
    padding: 20px 40px 20px 40px;
  }

  .red-box {
    background-color: red;
    margin: 20px 40px 20px 40px;

  }

  .green-box {
    background-color: green;
    margin: 20px 40px 20px 40px;
  }
</style>
<h5 class="injected-text">margin</h5>

<div class="box yellow-box">
  <h5 class="box red-box">padding</h5>
  <h5 class="box green-box">padding</h5>
</div>

--solutions--

<style>
  .injected-text {
    margin-bottom: -25px;
    text-align: center;
  }

  .box {
    border-style: solid;
    border-color: black;
    border-width: 5px;
    text-align: center;
  }

  .yellow-box {
    background-color: yellow;
    padding: 20px 40px 20px 40px;
  }

  .red-box {
    background-color: red;
    margin: 20px 40px 20px 40px;
    padding: 1.5em;
  }

  .green-box {
    background-color: green;
    margin: 20px 40px 20px 40px;
  }
</style>
<h5 class="injected-text">margin</h5>

<div class="box yellow-box">
  <h5 class="box red-box">padding</h5>
  <h5 class="box green-box">padding</h5>
</div>