Razvučena veza
Učinite bilo koji HTML element ili komponentu Bootstrap moguće kliknutim tako što ćete "razvući" ugniježđenu vezu putem CSS-a.
Dodajte .stretched-link
linku kako biste omogućili klikanje na blok koji sadrži::after
pseudo element. U većini slučajeva, to znači da se na element position: relative;
koji sadrži vezu s .stretched-link
klasom može kliknuti. Imajte na umu kako CSS position
radi , .stretched-link
ne može se miješati s većinom elemenata tablice.
Kartice se position: relative
podrazumevano nalaze u Bootstrapu, tako da u ovom slučaju možete bezbedno dodati .stretched-link
klasu na vezu na kartici bez ikakvih drugih HTML promena.
Višestruke veze i mete dodirivanja se ne preporučuju s rastegnutim vezama. Međutim, neki position
i z-index
stilovi mogu pomoći ako je to potrebno.
Kartica sa rastegnutom vezom
Neki brzi primjer teksta koji treba nadograditi na naslov kartice i činiti većinu sadržaja kartice.
Idi negde<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>
Medijski objekti nemaju position: relative
podrazumevano, tako da moramo da dodamo .position-relative
ovde da sprečimo da se veza rasteže izvan medijskog objekta.
Mediji sa rastegnutim linkom
Ovo je neki sadržaj čuvara mjesta za medijski objekat. Namijenjen je da oponaša kako bi izgledao neki sadržaj iz stvarnog svijeta, a mi ga ovdje koristimo da komponenti damo malo tijela i veličine.
Idi negde<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>
Kolone su position: relative
podrazumevano, tako da kolone na koje se može kliknuti zahtevaju samo .stretched-link
klasu na linku. Međutim, za istezanje veze preko čitavog .row
potrebno .position-static
je na koloni i .position-relative
na redu.
Kolone sa rastegnutom vezom
Još jedna instanca sadržaja čuvara mjesta za ovu drugu prilagođenu komponentu. Namijenjen je da oponaša kako bi izgledao neki sadržaj iz stvarnog svijeta, a mi ga ovdje koristimo da komponenti damo malo tijela i veličine.
Idi negde<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>
Identifikacija bloka koji sadrži
Ako se čini da rastegnuta veza ne radi, uzrok će vjerovatno biti blok koji ga sadrži . Sljedeća CSS svojstva će element učiniti blokom koji sadrži:
- Vrijednost
position
koja nijestatic
- A
transform
iliperspective
vrijednost koja nijenone
will-change
Vrijednosttransform
ili _perspective
filter
Vrijednost koja nije ilinone
vrijednostwill-change
(filter
radi samo na Firefoxu)
Kartica sa rastegnutim vezama
Neki brzi primjer teksta koji treba nadograditi na naslov kartice i činiti većinu sadržaja kartice.
Razvučeni link ovdje neće raditi, jer position: relative
je dodat linku
Ova rastegnuta veza će se širiti samo preko p
oznake -oznake, jer se na nju primjenjuje transformacija.
<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>