Ligazón estirada
Fai clic en calquera elemento HTML ou compoñente Bootstrap "estirando" unha ligazón aniñada a través de CSS.
Engadir .stretched-link
a unha ligazón para facer clic no seu bloque que o contén mediante un ::after
pseudoelemento. Na maioría dos casos, isto significa que se pode facer clic nun elemento position: relative;
que contén unha ligazón coa .stretched-link
clase. Teña en conta como funciona CSSposition
, .stretched-link
non se pode mesturar coa maioría dos elementos da táboa.
As tarxetas teñen position: relative
por defecto Bootstrap, polo que neste caso podes engadir a .stretched-link
clase con seguridade a unha ligazón da tarxeta sen ningún outro cambio de HTML.
Non se recomendan varias ligazóns e obxectivos táctiles con ligazóns estiradas. Non obstante, algúns position
e z-index
estilos poden axudar se isto é necesario.
Tarxeta con ligazón estirada
Algún texto de exemplo rápido para construír o título da tarxeta e facer a maior parte do contido da tarxeta.
Vai a algún lado<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>
Os obxectos multimedia non teñen position: relative
por defecto, polo que necesitamos engadir .position-relative
aquí para evitar que a ligazón se estenda fóra do obxecto multimedia.
Medios con ligazón estirada
Este é un contido de marcador de posición para o obxecto multimedia. Preténdese imitar o que parecería algún contido do mundo real, e usámolo aquí para darlle un pouco de corpo e tamaño ao compoñente.
Vai a algún lado<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>
As columnas son position: relative
por defecto, polo que as columnas nas que se pode facer clic só requiren a .stretched-link
clase nunha ligazón. Non obstante, estender unha ligazón sobre unha totalidade .row
require .position-static
na columna e .position-relative
na fila.
Columnas con ligazón estirada
Outra instancia de contido de marcador de posición para este outro compoñente personalizado. Preténdese imitar o que parecería algún contido do mundo real, e usámolo aquí para darlle un pouco de corpo e tamaño ao compoñente.
Vai a algún lado<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>
Identificación do bloque que contén
Se a ligazón estirada non parece funcionar, probablemente o bloque que o conteña sexa a causa. As seguintes propiedades CSS farán que un elemento sexa o bloque que contén:
- Un
position
valor distinto destatic
- A
transform
ouperspective
valor distinto denone
- Un
will-change
valor detransform
ouperspective
- Un
filter
valor que non sexanone
ou unwill-change
valor defilter
(só funciona en Firefox)
Tarxeta con ligazóns estiradas
Algún texto de exemplo rápido para construír o título da tarxeta e facer a maior parte do contido da tarxeta.
A ligazón estirada non funcionará aquí porque position: relative
se engade á ligazón
Esta ligazón estirada só se espallará sobre a p
etiqueta -, porque se lle aplica unha transformación.
<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>