JSFiddle - React, Tailwind, and code Playground

HTML

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width" />
    <link
          rel="stylesheet"
          href="https://cdn.jsdelivr.net/npm/@fancyapps/ui@5.0/dist/fancybox/fancybox.css"
          />
  </head>
  <body>
    <div>
    
     <a data-fancybox="gallery" data-src="#example" style="">
       <img src="https://placehold.co/200x150">
     </a>
    
    <div id="example" class="example" style="display: none;">
          <model-viewer 
          alt="Spacesuit" 
          src="https://modelviewer.dev/shared-assets/models/NeilArmstrong.glb" 
          poster="https://modelviewer.dev/shared-assets/models/NeilArmstrong.webp" 
          camera-controls touch-action="pan-y"></model-viewer>
    </div>

      <a
         data-fancybox="gallery"
         data-src="https://lipsum.app/id/2/1024x768"
         data-caption="Optional caption,&lt;br /&gt;that can contain &lt;em&gt;HTML&lt;/em&gt; code"
         >
        <img src="https://lipsum.app/id/2/200x150" />
      </a>

      <a data-fancybox="gallery" data-src="https://lipsum.app/id/3/1024x768">
        <img src="https://lipsum.app/id/3/200x150" />
      </a>

      <a data-fancybox="gallery" data-src="https://lipsum.app/id/4/1024x768">
        <img src="https://lipsum.app/id/4/200x150" />
      </a>
    </div>
    
    
    <script src="https://cdn.jsdelivr.net/npm/@fancyapps/ui@5.0/dist/fancybox/fancybox.umd.js"></script>
    <script>
      Fancybox.bind('[data-fancybox="gallery"]', {
        //
      });    
    </script>
    
    
    <script type="module" src="https://ajax.googleapis.com/ajax/libs/model-viewer/3.3.0/model-viewer.min.js"></script>
  </body>
</html>

CSS

.example {
  width: 50%;
  height: 50%;
  padding: 0;
  margin: 0;
  overflow: hidden;
  background: white;

  > * {
    width: 100%;
    height: 100%;
  }
}