当我将鼠标悬停在分屏左侧的文本上时,如何在屏幕右侧显示图像(分屏)?

How to show an image on the right side of the screen (split screen) when I hover over a text from the left side of the split screen?

我是一个完全的编码新手。我昨天才开始学习 HTML 和 CSS 的基础知识。所以请原谅我的问题,如果它看起来很愚蠢。

我想创建一个分屏,屏幕左侧(白色背景)显示我最喜欢的艺术家的列表。当我将鼠标悬停在一位艺术家的名字上时,我希望他们的作品的 1 张图像出现在屏幕的右侧(红色背景),然后在我移开鼠标指针后消失。当我将鼠标悬停在列表中每个艺术家的名字上时,我希望出现相同的效果。

我还希望艺术家的每个名字都是带有超链接的文本,当我点击它时将我引导到他们的社交媒体页面(虽然我已经弄清楚了,这只是我上面描述的悬停部分'我有问题)。

现在,当我将鼠标悬停在艺术家的名字上时,图片确实会显示,但它只显示在左侧而不是完全显示。如前所述,我希望图片仅显示在右侧,足够大以适合整个右侧而不裁剪图像的任何部分。

我目前的代码如下所示,其中很多都是我从网上各种tutorials/sources复制+粘贴的(可能是乱七八糟的,我不知道怎么说)。

理想情况下,最终结果应该是这样的:https://imgur.com/a/Keo5tHd

有人可以帮忙吗?我很高兴现在学习编码,因为我有一个实际问题想要解决(我正在尝试列出这个清单),这激励我继续寻找解决方案并继续学习。

img{
               display: none
            }

            span:hover + img{
               display: block;
            }


        /* Split the screen in half */
        .split {
          height: 100%;
          width: 70%;
          position: fixed;
          z-index: 1;
          top: 0;
          overflow-x: hidden;
          padding-top: 20px;
        }

        /* Control the left side */
        .left {
          left: -300;
          background-color: #FFFFFF;
          width: 63%;
          height: 20%;
        }

        /* Control the right side */
        .right {
          right: 0;
          background-color: #FF1111;
          
        }

        /* If you want the content centered horizontally and vertically */
        .centered {
          position: absolute;
          top: 50%;
          left: 50%;
          transform: translate(-50%, -50%);
          text-align: left;
        }

        /* Style the image inside the centered container, if needed */
        .centered img {
          border-radius: 0;
}
<div class="split left">
          <div class="left: centered">
            
            <h2>My favorite artists</h2>
            
                    <a href="https://www.twitter.com/rinotuna" target="_blank"> <span>Artist 1: Rinotuna</span>
                    <img src="https://pbs.twimg.com/media/FIGzZZnakAEV90i?format=jpg&name=small"/><br></a>
                    
                    <a href="https://www.twitter.com/WLOP" target="_blank"> <span>Artist 2: WLOP</span>
                    <img src="https://pbs.twimg.com/media/FKpRYQIVcAMvPlA?format=jpg&name=small"/><br></a>
            
            
          </div>
        </div>

        <div class="split right">
          <div class="centered">
            
            
            
            
            
            
          </div>
        </div>

顺便说一句,这根本不是一个愚蠢的问题,你才刚刚开始学习。 首先,我建议您考虑为每个名称和照片使用单独的 <div> 标签,这样您就不会在确定组件位置时遇到麻烦。 其次,使用 Flexbox 或 CSS Grid 或 JavaScript 可以创建此 mini-project,而使用简单的 CSS 则变得非常困难。 请从更简单的 mini-project 开始。 如果我能帮上忙,我很乐意去做。

有多种方法可以实现布局。以下是其中之一。我只使用了基本的 CSS 规则。
要了解它是如何工作的,请搜索 MDN web docs 上的任何 CSS 属性。它是最详尽的开发人员友好文档。


为了更好地理解,请在 运行 以下代码段之后单击左上角的“完整页面”link。并打开Developer console了解元素。

* {
  box-sizing: border-box;
}

body,
html {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
}

main {
  height: 100%;
  width: 100%;
  position: relative;
}

.left {
  padding-left: 1rem;
  width: 30%;
  height: 100%;
  background-color: wheat;
  float: left;
}

.right {
  padding: 1rem;
  float: right;
  width: 70%;
  height: 100%;
  background-color: #FF1111;
}

.right>p {
  margin: 0;
  font-weight: bolder;
  font-size: 1.2rem;
  color: rgb(255, 208, 255);
  writing-mode: vertical-lr;
  text-orientation: upright;
}

img {
  visibility: hidden;
  position: fixed;
  top: 2.5rem;
  right: 10%;
  width: 50vw;
  height: 90vh;
  object-fit: contain;
  z-index: 100;
}

span:hover+img {
  visibility: visible;
}
<main>
  <div class="left">
    <h2>My favorite artists</h2>
    <a href="https://www.twitter.com/rinotuna" target="_blank"> <span>Artist 1: Rinotuna</span>
      <img src="https://pbs.twimg.com/media/FIGzZZnakAEV90i?format=jpg&name=small" /><br></a>
    <a href="https://www.twitter.com/WLOP" target="_blank"> <span>Artist 2: WLOP</span>
      <img src="https://pbs.twimg.com/media/FKpRYQIVcAMvPlA?format=jpg&name=small" /><br></a>
  </div>

  <div class="right">
    <p>Art Gallery</p>
  </div>
</main>