Gestrekte skakel
Maak enige HTML-element of Bootstrap-komponent klikbaar deur 'n geneste skakel via CSS te "rek".
Voeg .stretched-link
by 'n skakel om die inhoudblok klikbaar te maak via 'n ::after
pseudo-element. In die meeste gevalle beteken dit dat 'n element position: relative;
wat 'n skakel met die .stretched-link
klas bevat, klikbaar is. Neem asseblief kennis, gegewe hoe CSS position
werk , .stretched-link
kan nie met die meeste tabelelemente gemeng word nie.
Kaarte het position: relative
by verstek in Bootstrap, so in hierdie geval kan jy die .stretched-link
klas veilig by 'n skakel in die kaart voeg sonder enige ander HTML-veranderinge.
Veelvuldige skakels en tikteikens word nie aanbeveel met gestrekte skakels nie. Sommige position
en z-index
style kan egter help as dit nodig is.
Kaart met uitgerekte skakel
'n Paar vinnige voorbeeldteks om op die kaarttitel te bou en die grootste deel van die kaart se inhoud uit te maak.
Gaan êrens<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>
Media-objekte het nie position: relative
by verstek nie, so ons moet die .position-relative
hier byvoeg om te verhoed dat die skakel buite die media-voorwerp strek.
Media met uitgerekte skakel
Dit is 'n paar plekhouer-inhoud vir die media-voorwerp. Dit is bedoel om na te boots hoe sommige werklike inhoud sou lyk, en ons gebruik dit hier om die komponent 'n bietjie liggaam en grootte te gee.
Gaan êrens<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>
Kolomme is position: relative
by verstek, so klikbare kolomme vereis slegs die .stretched-link
klas op 'n skakel. Om 'n skakel oor 'n geheel te strek, .row
vereis egter .position-static
op die kolom en .position-relative
op die ry.
Kolomme met uitgerekte skakel
Nog 'n voorbeeld van plekhouer-inhoud vir hierdie ander pasgemaakte komponent. Dit is bedoel om na te boots hoe sommige werklike inhoud sou lyk, en ons gebruik dit hier om die komponent 'n bietjie liggaam en grootte te gee.
Gaan êrens<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>
Identifisering van die inhoudsblok
As die uitgerekte skakel nie lyk of dit werk nie, sal die blokkie waarskynlik die oorsaak wees. Die volgende CSS-eienskappe sal 'n element die inhoudblok maak:
- 'n
position
Ander waarde asstatic
- A
transform
ofperspective
waarde anders asnone
- 'n
will-change
Waarde vantransform
ofperspective
- 'n
filter
Ander waarde asnone
of 'nwill-change
waarde vanfilter
(werk net op Firefox)
Kaart met uitgerekte skakels
'n Paar vinnige voorbeeldteks om op die kaarttitel te bou en die grootste deel van die kaart se inhoud uit te maak.
Gestrekte skakel sal nie hier werk nie, want position: relative
dit word by die skakel gevoeg
Hierdie uitgerekte skakel sal slegs oor die p
-tag versprei word, omdat 'n transformasie daarop toegepas word.
<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>