A imagem no popover de bootstrap está transbordando de popover [duplicado]

Nov 25 2020

Estou tentando criar uma página com imagens em popover. Usei uma demonstração online para criá-la, mas quando a imagem fica maior do que um determinado tamanho, ela começa a transbordar do popover. Como faço para corrigir isso?

Js Fiddle aqui: https://jsfiddle.net/rdvL6kj9/10/

html:

  <div class="container my-4">
    <p class="font-weight-bold">This simple example shows how to place an image within a bootstrap popover. You can
      define if you want to launch the popover on hover or on click.</p>

    <p><strong>Detailed documentation and more examples of Bootstrap grid you can find in our <a href="https://mdbootstrap.com/docs/jquery/javascript/popovers/"
    target="_blank">Bootstrap Popovers Docs</a></strong></p>

    <a class="btn btn-primary" data-toggle="popover-hover" data-img="https://placekitten.com/500/300">Hover
      over me</a>
  </div>
  <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>

js:

    // popovers initialization - on hover
    $('[data-toggle="popover-hover"]').popover({ html: true, trigger: 'hover', placement: 'bottom', content: function () { return '<img src="' + $(this).data('img') + '" />'; }
    });

Aqui está uma captura de tela do problema:

Respostas

1 SaiManoj Nov 25 2020 at 00:43

Você estava quase lá. Eu adicionei uma classe embutida de bootstrap> class="img-fluid"à imgtag para torná-la responsiva em todas as imagens

   $('[data-toggle="popover-hover"]').popover({ html: true, trigger: 'hover', placement: 'bottom', content: function () { return '<img src="' + $(this).data('img') + '"  class="img-fluid"/>'; }
    });

Aqui está o violino funcionando

jmona789 Nov 25 2020 at 01:06

Percebi, para qualquer um que tenha essa pergunta no futuro, aqui está a resposta: Se você concordar em reduzir a imagem, pode usar a resposta de Sai Manoj, se quiser que a imagem seja maior, embora seja necessário substituir a propriedade max-width na classe popover assim:

.popover {
    max-width: none;
}