【问题标题】:Hero image not full height when viewing in portrait纵向查看时,英雄图像不是全高
【发布时间】:2021-09-10 19:29:23
【问题描述】:

嗨,我在我的 html 中创建了一个英雄图像。然而,在横向模式下背景是满的,但在纵向模式下,背景图像不是全高。我想在纵向观看时将其设为全高。有人可以帮我为什么吗?谢谢。

这是代码:

<style>
  #container {
    display: block;
  }

  .hero-image {
    background-image: url("https://wallpaperaccess.com/full/81538.jpg");
    background-color: #cccccc;
    height: 100vh;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
  }

  .hero-text {
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: black;
  }

  @media only screen and (orientation: portrait) {
    #container {
      height: 100vw;
      -webkit-transform: rotate(90deg);
      -moz-transform: rotate(90deg);
      -o-transform: rotate(90deg);
      -ms-transform: rotate(90deg);
      transform: rotate(90deg);
    }

    .hero-image {
      background-image: url("https://wallpaperaccess.com/full/81538.jpg");

      position: fixed;
      top: 50%;
      left: 50%;
      min-width: 100%;
      min-height: 100%;
      width: auto;
      height: auto;
      z-index: -100;
      -webkit-transform: translateX(-50%) translateY(-50%);
      transform: translateX(-50%) translateY(-50%);
      background: image-url("background.png") no-repeat;
      background-size: cover;
    }
  }

  @media only screen and (orientation: landscape) {
    #container {
      -webkit-transform: rotate(0deg);
      -moz-transform: rotate(0deg);
      -o-transform: rotate(0deg);
      -ms-transform: rotate(0deg);
      transform: rotate(0deg);
    }
  }
</style>

<body>
  <div id="container">
    <div class="hero-image">
      <div class="hero-text"><br />Welcome<br /></div>
    </div>
  </div>
</body>

可以在这里访问代码:

https://codesandbox.io/s/bold-fire-3qj09?file=/index.html:0-1613&resolutionWidth=320&resolutionHeight=675

【问题讨论】:

    标签: css responsive-design responsive


    【解决方案1】:

    <html lang="en">
      <head>
        <!-- Required meta tags -->
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    
        <style>
      #container {
        display: block;
      }
    
      .hero-image {
        background-image: url("https://wallpaperaccess.com/full/81538.jpg");
        background-color: #cccccc;
        height: 100vh;
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        position: relative;
      }
    
      .hero-text {
        text-align: center;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        color: black;
      }
    
      @media only screen and (orientation: portrait) {
        #container {
          height: 100vh;
          /*-webkit-transform: rotate(90deg);
          -moz-transform: rotate(90deg);
          -o-transform: rotate(90deg);
          -ms-transform: rotate(90deg);
          transform: rotate(90deg);*/
        }
    
        .hero-image {
          background-image: url("https://wallpaperaccess.com/full/81538.jpg");
    
          position: fixed;
          top: 50%;
          left: 50%;
          min-width: 100%;
          min-height: 100%;
          width: auto;
          height: 100vh;
          z-index: -100;
          -webkit-transform: translateX(-50%) translateY(-50%);
          transform: translateX(-50%) translateY(-50%);
          background: image-url("background.png") no-repeat;
          background-size: cover;
        }
      }
    
      @media only screen and (orientation: landscape) {
        #container {
          -webkit-transform: rotate(0deg);
          -moz-transform: rotate(0deg);
          -o-transform: rotate(0deg);
          -ms-transform: rotate(0deg);
          transform: rotate(0deg);
        }
      }
    </style>
    
    <body>
      <div id="container">
        <div class="hero-image">
          <div class="hero-text"><br />Welcome<br /></div>
        </div>
      </div>
    </body>
    </html>

    您的代码中只有两个错误我解决了它。检查一下

    【讨论】:

      猜你喜欢
      • 2018-01-10
      • 2020-03-14
      • 1970-01-01
      • 2021-09-18
      • 1970-01-01
      • 1970-01-01
      • 2019-10-28
      • 2018-01-06
      • 1970-01-01
      相关资源
      最近更新 更多