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.
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
Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. Fusce condimentum nunc ac nisi vulputate fringilla. Donec lacinia congue felis in faucibus.
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>Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. Fusce condimentum nunc ac nisi vulputate fringilla. Donec lacinia congue felis in faucibus.</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
Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. Fusce condimentum nunc ac nisi vulputate fringilla. Donec lacinia congue felis in faucibus.
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>Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. Fusce condimentum nunc ac nisi vulputate fringilla. Donec lacinia congue felis in faucibus.</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>