in English

Gestreckter Link

Machen Sie jedes HTML-Element oder jede Bootstrap-Komponente anklickbar, indem Sie einen verschachtelten Link über CSS „dehnen“.

Zu einem Link hinzufügen .stretched-link, um den enthaltenden Block über ein Pseudoelement anklickbar zu machen ::after. In den meisten Fällen bedeutet dies, dass ein Element position: relative;, das einen Link mit der .stretched-linkKlasse enthält, anklickbar ist. Bitte beachten Sie, dass CSS aufgrund der Funktionsweise positionnicht.stretched-link mit den meisten Tabellenelementen gemischt werden kann .

Karten haben standardmäßig Bootstrap, sodass Sie in diesem Fall die Klasse ohne weitere HTML-Änderungen position: relativesicher zu einem Link in der Karte hinzufügen können ..stretched-link

Mehrere Links und Tap-Ziele werden bei gestreckten Links nicht empfohlen. Einige positionund z-indexStile können jedoch hilfreich sein, falls dies erforderlich sein sollte.

Card image cap
Karte mit gestrecktem Link

Ein kurzer Beispieltext, der auf dem Kartentitel aufbaut und den Großteil des Inhalts der Karte ausmacht.

Irgendwohin gehen
<div class="card" style="width: 18rem;">
  <img src="..." class="card-img-top" alt="...">
  <div class="card-body">
    <h5 class="card-title">Card with stretched link</h5>
    <p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
    <a href="#" class="btn btn-primary stretched-link">Go somewhere</a>
  </div>
</div>

Medienobjekte haben position: relativestandardmäßig keine, daher müssen wir .position-relativehier hinzufügen, um zu verhindern, dass sich der Link über das Medienobjekt hinaus erstreckt.

Generic placeholder image
Medien mit gestrecktem Link

Dies ist ein Platzhalterinhalt für das Medienobjekt. Es soll nachahmen, wie einige reale Inhalte aussehen würden, und wir verwenden es hier, um der Komponente ein wenig Körper und Größe zu verleihen.

Irgendwohin gehen
<div class="media position-relative">
  <img src="..." class="mr-3" alt="...">
  <div class="media-body">
    <h5 class="mt-0">Media with stretched link</h5>
    <p>This is some placeholder content for the media object. It is intended to mimic what some real-world content would look like, and we're using it here to give the component a bit of body and size.</p>
    <a href="#" class="stretched-link">Go somewhere</a>
  </div>
</div>

Spalten sind position: relativestandardmäßig vorhanden, sodass für anklickbare Spalten nur die .stretched-linkKlasse auf einem Link erforderlich ist. Das Strecken eines Links über ein Ganzes .rowerfordert jedoch .position-staticdie Spalte und .position-relativedie Zeile.

Generic placeholder image
Spalten mit gestrecktem Link

Eine weitere Instanz von Platzhalterinhalt für diese andere benutzerdefinierte Komponente. Es soll nachahmen, wie einige reale Inhalte aussehen würden, und wir verwenden es hier, um der Komponente ein wenig Körper und Größe zu verleihen.

Irgendwohin gehen
<div class="row no-gutters bg-light position-relative">
  <div class="col-md-6 mb-md-0 p-md-4">
    <img src="..." class="w-100" alt="...">
  </div>
  <div class="col-md-6 position-static p-4 pl-md-0">
    <h5 class="mt-0">Columns with stretched link</h5>
    <p>Another instance of placeholder content for this other custom component. It is intended to mimic what some real-world content would look like, and we're using it here to give the component a bit of body and size.</p>
    <a href="#" class="stretched-link">Go somewhere</a>
  </div>
</div>

Identifizieren des enthaltenden Blocks

Wenn der gestreckte Link nicht zu funktionieren scheint, ist wahrscheinlich der enthaltende Block die Ursache. Die folgenden CSS-Eigenschaften machen ein Element zum enthaltenden Block:

  • Ein positionanderer Wert alsstatic
  • A transformoder perspectiveWert anders alsnone
  • Ein will-changeWert von transformoderperspective
  • Ein filteranderer Wert als noneoder ein will-changeWert von filter(funktioniert nur auf Firefox)
Card image cap
Karte mit gestreckten Links

Ein kurzer Beispieltext, der auf dem Kartentitel aufbaut und den Großteil des Inhalts der Karte ausmacht.

Der gestreckte Link funktioniert hier nicht, da position: relativeer dem Link hinzugefügt wird

Dieser gestreckte Link wird nur über das p-Tag verteilt, da eine Transformation darauf angewendet wird.

<div class="card" style="width: 18rem;">
  <img src="..." class="card-img-top" alt="...">
  <div class="card-body">
    <h5 class="card-title">Card with stretched links</h5>
    <p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
    <p class="card-text">
      <a href="#" class="stretched-link text-danger" style="position: relative;">Stretched link will not work here, because <code>position: relative</code> is added to the link</a>
    </p>
    <p class="card-text bg-light" style="transform: rotate(0);">
      This <a href="#" class="text-warning stretched-link">stretched link</a> will only be spread over the <code>p</code>-tag, because a transform is applied to it.
    </p>
  </div>
</div>