Bootstrap - 拉伸链接


本章讨论Bootstrap 提供的.stretched-link类。

Bootstrap 中的.stretched-link类用于创建一个拉伸以填充整个父容器的链接。

  • 此类可用于任何可以包含链接的元素(例如<div><a>元素),以使整个元素可单击并充当链接。

  • 任何具有position:relative且包含带有.stretched-link类的链接的元素都是可点击的。

  • .stretched -link类不能与大多数表格元素混合。

  • 这个类可以安全地添加到卡片中,因为它们在 Bootstrap 中默认具有position:relative 。

  • 不建议将拉伸链接与多个链接和点击目标一起使用。

带有拉伸链接的卡片

这对于您想要使整个内容部分(例如卡片或列表项)可单击的情况非常有用。

让我们看一个关于在卡片中使用.stretched-link类的示例:

例子

您可以使用“编辑并运行”选项编辑并尝试运行此代码。

<!DOCTYPE html>
<html lang="en">
    <head>
      <title>Bootstrap - Card</title>
      <meta charset="UTF-8">
      <meta http-equiv="X-UA-Compatible" content="IE=edge">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha3/dist/css/bootstrap.min.css" rel="stylesheet">
      <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha3/dist/js/bootstrap.bundle.min.js"></script>
    </head>
    <body>
        <h4>Stretched link in a card</h4>
        <div class="card" style="width: 20rem;">
          <img src="/bootstrap/images/tutimg.png" class="card-img-top" alt="...">
          <div class="card-body">
            <h5 class="card-title">Stretched link in a card</h5>
            <p class="card-text">Here is an example that shows the entire card as a link. This is because of the .stretched-link class of Bootstrap.</p>
            <a href="#" class="btn btn-primary stretched-link">View</a>
          </div>
        </div>
    </body>
</html>

当自定义组件默认没有position:relative时,您需要添加.position-relative类以防止链接延伸到父元素之外。

让我们看一个关于.position-relative类的用法的示例:

例子

您可以使用“编辑并运行”选项编辑并尝试运行此代码。

<!DOCTYPE html>
<html lang="en">
  <head>
    <title>Bootstrap - Helper - Stretched link</title>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha3/dist/css/bootstrap.min.css" rel="stylesheet">
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha3/dist/js/bootstrap.bundle.min.js"></script>
  </head>
  <body>
      <h4>Custom component with stretched link</h4>
      <div class="d-flex position-relative">
        <img src="/bootstrap/images/tutimg.png" class="flex-shrink-0 me-3" alt="...">
        <div>
          <h5 class="mt-0">Custom component with stretched link using .position-relative</h5>
          <p>Here is an example showing the use of .position-relative class in a component that shows a stretched link usage.</p>
          <a href="#" class="stretched-link">View</a>
        </div>
      </div>
  </body>
</html>

让我们再看一个.position-relative类的用法示例:

例子

您可以使用“编辑并运行”选项编辑并尝试运行此代码。

<!DOCTYPE html>
<html lang="en">
  <head>
    <title>Bootstrap - Helper - Stretched link</title>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha3/dist/css/bootstrap.min.css" rel="stylesheet">
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha3/dist/js/bootstrap.bundle.min.js"></script>
  </head>
  <body>
      <h4>Columns with stretched link</h4>
      <div class="row g-0 bg-body-secondary position-relative">
        <div class="col-md-4 mb-md-0 p-md-4">
          <img src="/bootstrap/images/tutimg.png" class="w-100" alt="...">
        </div>
        <div class="col-md-4 p-4 ps-md-0">
          <h5 class="mt-0">Columns with stretched link</h5>
          <p>Another example of strecthed link with .position-relative on this other custom component. You can use it here to give the component a bit of body and size.</p>
          <a href="#" class="stretched-link">View</a>
        </div>
      </div>
  </body>
</html>