CSS プロパティの background-size:cover と background-attachment:fixed on を使用する場合コンテナ要素の場合、要素がビューポートのフル サイズでない場合、背景画像が予期せずクリップされる可能性があります。これは、以下で説明するように、2 つのプロパティの組み合わせによるものです。
background-attachment:fixed 背景画像は、position:fixed 要素のように動作します。つまり、ドキュメントの通常のフローの一部ではなくなり、ビューポートに対して静止したままになります。
background-size: cover は、コンテナ要素全体をカバーするように背景画像を拡大縮小します。 Background-attachment:fixed と組み合わせると、コンテナ要素だけでなくビューポート全体をカバーするように画像が拡大縮小されることを意味します。
コンテナ要素がビューポートより小さい場合、背景イメージはコンテナ要素に垂直に収まるようにトリミングされます。ただし、ビューポートの幅全体をカバーするために水平方向に拡大縮小されます。これにより、画像の左側と右側が切り取られる可能性があります。
残念ながら、目的の効果を実現する方法はありません (画像は垂直方向または水平方向に切り取られますが、両方は切り取られません)。コンテナ要素を中心に配置) 純粋な CSS を使用します。これは、CSS で固定位置が機能する基本的な方法によるものです。
目的の効果を実現するには、JavaScript を使用してウィンドウのスクロール位置を基準にして背景位置プロパティを手動で更新し、固定位置をシミュレートする必要があります。背景サイズを計算しながら配置: コンテナ要素を基準にしてカバーします。
以上が「background-size: cover」と「background-attachment:fixed」を使用すると、クリップされた背景画像が予期せず切り取られるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。