Using bootstrap cards as a hyperlink

后端 未结 9 2109
半阙折子戏
半阙折子戏 2021-02-01 04:16

I have a bootstrap card Which is used as a link.

Trying to wrap it with changes all of the styling of the card.

相关标签:
9条回答
  • 2021-02-01 04:49

    You can put text-dark utility class to the element to have the same appearance.

    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css">
    
    <a href="">
      <div class="card text-dark" style="width: 15rem; display: inline-block">
        <img class="card-img-top" src="https://placeholdit.imgix.net/~text?txtsize=33&txt=318%C3%97180&w=318&h=180" alt="Card image cap">
        <div class="card-body">
          <h5 class="card-title">Wrapped with a tag</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>
        </div>
      </div>
    </a>

    0 讨论(0)
  • 2021-02-01 04:49

    Just add "cursor: pointer;" to your style

    0 讨论(0)
  • 2021-02-01 04:57

    Try to add Display: Block to the link itself. Use your browsers Developer Tools (F12) and hover over the link to see if you need to add Height:auto perhaps.

    0 讨论(0)
  • 2021-02-01 05:01

    Its because <a> tags has a default blue color from user agent browser. Try to add a class to the link and set color:inherit to that class

    a.custom-card,
    a.custom-card:hover {
      color: inherit;
    }
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css">
    
    <div class="card" style="width: 15rem; display: inline-block">
      <img class="card-img-top" src="https://placeholdit.imgix.net/~text?txtsize=33&txt=318%C3%97180&w=318&h=180" alt="Card image cap">
      <div class="card-body">
        <h5 class="card-title">Normal card</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>
      </div>
    </div>
    
    <a href="" class="custom-card">
      <div class="card" style="width: 15rem; display: inline-block">
        <img class="card-img-top" src="https://placeholdit.imgix.net/~text?txtsize=33&txt=318%C3%97180&w=318&h=180" alt="Card image cap">
        <div class="card-body">
          <h5 class="card-title">Wrapped with a tag</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>
        </div>
      </div>
    </a>

    0 讨论(0)
  • 2021-02-01 05:05

    bootstrap make it easy with Stretched link

    <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>
    
    0 讨论(0)
  • 2021-02-01 05:06

    If you are using Bootstrap 4.3 you don't have to wrap card with <a> tag, but instead put it inside card-body, and use stretched-link class. This is much cleaner way.

    Visit https://getbootstrap.com/docs/4.3/utilities/stretched-link/ for more details.

    If you can't use Bootstrap 4.3 this is styling for stretched-link class:

    .stretched-link::after {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 1;
        pointer-events: auto;
        content: "";
        background-color: rgba(0,0,0,0);
    }
    

    Here is the example:

    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
    
      <div class="card" style="width: 15rem; display: inline-block">
    <img class="card-img-top" src="https://placeholdit.imgix.net/~text?txtsize=33&txt=318%C3%97180&w=318&h=180" alt="Card image cap">
    <div class="card-body">
      <h5 class="card-title">Normal card</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>
    </div>
      </div>
    
    
      <div class="card" style="width: 15rem; display: inline-block">
    <img class="card-img-top" src="https://placeholdit.imgix.net/~text?txtsize=33&txt=318%C3%97180&w=318&h=180" alt="Card image cap">
    <div class="card-body">
      <h5 class="card-title">Alternative</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="stretched-link"></a>
    </div>
      </div>

    0 讨论(0)
提交回复
热议问题