CSS 悬停时将背景颜色从 50% 过渡到 100%

CSS Transition a background-color from 50% to 100% on hover

我正在尝试在悬停时创建一个简单的缓入缓出过渡,其中背景颜色从视口的 50% 增加到视口的 100%。

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>

    <style>
      .container {
        height: 100vh;
        width: 50%;
        background-color: #999;
        transition: all 0.5s ease-in-out;
      }

      .container:hover{
        /* width: 100% */
        }

    </style>

  </head>
  <body>
    <div class="container">
    </div>
  </body>
</html>

我尝试了很多组合,但无法顺利过渡。有没有一种直接的方法可以通过 css 转换来做到这一点,或者我是否需要考虑使用 Javascript?

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>

    <style>
      .container {
        height: 100vh;
        width: 50%;
        background-color: #999;
        transition: all 0.70s ease-in-out;
      }

      .container:hover{
        width: 100%
        }

    </style>

  </head>
  <body>
    <div class="container">
    </div>
  </body>
</html>

我认为这是一个平稳的过渡。