Venytetty linkki
Tee mistä tahansa HTML-elementistä tai Bootstrap-komponentista napsautettavaa "venyttämällä" sisäkkäistä linkkiä CSS:n kautta.
Lisää .stretched-link
linkkiin, jotta sen sisältävä lohko on klikattava ::after
pseudoelementin kautta. Useimmissa tapauksissa tämä tarkoittaa, että elementti, position: relative;
joka sisältää linkin .stretched-link
luokkaan, on napsautettava.
Korteilla on position: relative
oletusarvoisesti Bootstrap, joten tässä tapauksessa voit turvallisesti lisätä .stretched-link
luokan kortissa olevaan linkkiin ilman muita HTML-muutoksia.
Useita linkkejä ja napautuskohteita ei suositella venytettyjen linkkien kanssa. Jotkut position
ja z-index
tyylit voivat kuitenkin auttaa, jos sitä tarvitaan.
Kortti venytetyllä linkillä
Nopea esimerkkiteksti kortin otsikon pohjalta ja muodostaa suurimman osan kortin sisällöstä.
Mennä jonnekin<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>
Mediaobjekteilla ei ole position: relative
oletuksena, joten meidän on lisättävä .position-relative
tähän, jotta linkki ei venyisi mediaobjektin ulkopuolelle.
Media venytetyllä linkillä
Cras sit amet nibh libero, 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.
Mennä jonnekin<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>
Sarakkeet ovat position: relative
oletuksena, joten napsautettavat sarakkeet edellyttävät vain .stretched-link
linkin luokkaa. Linkin venyttäminen kokonaisen päälle .row
vaatii .position-static
kuitenkin sarakkeen ja .position-relative
rivin.
Sarakkeet venytetyllä linkillä
Cras sit amet nibh libero, 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.
Mennä jonnekin<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>
Sisältävän lohkon tunnistaminen
Jos venytetty linkki ei näytä toimivan, sen sisältävä lohko on todennäköisesti syynä. Seuraavat CSS-ominaisuudet tekevät elementistä sisältävän lohkon:
- Muu
position
arvo kuinstatic
- A
transform
taiperspective
muu arvo kuinnone
will-change
Arvotransform
tai _perspective
- Muu
filter
kuin arvonone
taiwill-change
arvofilter
(toimii vain Firefoxissa)
Kortti venytetyillä linkeillä
Nopea esimerkkiteksti kortin otsikon pohjalta ja muodostaa suurimman osan kortin sisällöstä.
Venytetty linkki ei toimi täällä, koska position: relative
on lisätty linkkiin
Tämä venytetty linkki leviää vain p
-tagin päälle, koska siihen sovelletaan muunnos.
<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>