iPhone não mostra área de imagem corretamente no site. Por quê?

Então, em 3 dos meus telefones Android (marcas diferentes, etc.), uma das minhas páginas da web fica assim (como deveria ser):

No iPhone do meu parceiro, no iPhone de um membro da família e no iPhone de um amigo, fica assim:

Meu arquivo SCSS móvel que renderiza a área da imagem superior é:

body.landing-page {
  &.blog {
    > .contents {
      max-width: 100%;
      width: 100%;
      display: block;
      padding: 1em;

      .page-first {
        display: none;
      }
    }
    .mobile-header .menu {
      background-color: #4a4a4a !important;
/*       height: min-content; */
    }
    
    .topic-list {
      grid-template-columns: repeat(auto-fit, minmax(100%, 1fr));
      padding: 2em 0 0 0;

      .topic-byline {
        .bull {
          padding: .2em .5em;
        }
      }
    }
  }

  .canvas {
    padding: 0.8em !important;
}

  .bull {
    display:none
    }

  &.blog-post {
    header {
      background-color: $secondary;
    }

    .container {
      width: 100%;
    }

    .post-container {
      width: 100%;
    }
    
    .title-container {
      background: no-repeat center/cover fixed;
      display: flex;
      flex-direction: column;
      min-height: 530px;
      max-height: 40%;
      justify-content: flex-end;
      align-items: center;

      .title {
        font-size: 2.0em !important;
        width: 100%;
        text-align: center;
/*         margin: 0 0 1em 0; */
      }

      .topic-byline {
        flex-direction: column;

        .bull {
          padding: .2em 1em;
        }
      }
    }

    img {
      max-width: 100%;
      height: auto;
    }
    
    .comment-container {
      .comment-heading h4 {
        text-align: center;
      }

      .comment-footer {
        padding: 0 2em;
        box-sizing: border-box;
        justify-content: center;
      }
    }
  }

  &.blog,
  &.blog-post {
    .btn-subscribe {
      padding: 0;

      .fixed-avatar {
        width: 60px;
        height: 60px;
      }
    }
  }
}

Então, por que em todos os iPhones a imagem não está sendo posicionada corretamente, mas está em vários telefones Android? Como corrijo isso? Fiquei preso nisso por um total de 30 horas. :upside_down_face: Coisa estranha é que, também, no meu Elemento de Inspeção, ele está mostrando bem lá também em algumas predefinições de iPhone que ele tem… mas não nos dispositivos reais deles…

O plugin de landing pages não é mantido há quase 2 anos. Eu desconfiaria de usá-lo.

Não tenho certeza do que está acontecendo lá, mas você tem alguns erros de sintaxe em seu código.

O que você quer dizer com que não foi mantido? Recentemente, o @cabidop atualizou algumas coisas em todos os 3 componentes que foram mesclados aos branches principais… a menos que você quisesse dizer outra coisa :open_mouth:

GitHub - paviliondev/discourse-landing-pages: Adds landing pages to Discourse
GitHub - paviliondev/blog-landing-pages
GitHub - paviliondev/blog-landing-theme

Erros de sintaxe, hein? Hmmm

Olá :waving_hand:

Não testei, mas parece que a causa é background-attachment: fixed;

O código que você compartilhou acima tem:

.title-container {
  background: no-repeat center/cover fixed;
}

O que significa:

.title-container {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  background-attachment: fixed; // isso causa o problema
}

O background-attachment: fixed; é necessário neste caso?

Quero dizer, acho que ele cria um tipo de efeito parallax. Mas esta não é a melhor solução para isso… pois não é muito suportado e talvez não seja necessário para o seu caso de uso.

1 curtida

Nossa, que site legal você linkou, obrigado. Vou tentar isso assim que meu novo VPS iniciar e (espero) restaurar totalmente meu site!

Então, você está dizendo para apenas excluir a parte fixed?

Então eu teria:

.title-container {
  background: no-repeat center/cover;
}

?