J'ai une image que je veux couvrir toute la fenêtre de mon navigateur lors du chargement du site. Je l'ai fait de sorte que, comme la largeur de la fenêtre du navigateur augmente ou diminue, l'image est redimensionnée tout en préservant l'alignement du centre et le ratio d'aspect en recadrant de chaque côté. Cependant, je veux que, comme la hauteur de la fenêtre du navigateur augmente ou diminue, l'image est recadrée à partir du bas de sorte que le bas de l'image s'aligne toujours avec le bas de la fenêtre du navigateur et le haut de la l'image n'est jamais coupée. En d'autres termes, lorsque je défile vers le bas, il ne devrait plus y avoir d'image sous la fenêtre du navigateur pour faire défiler la page. J'ai le code HTML et CSS suivant:Comment redimensionner la hauteur d'une image à recadrer avec la fenêtre du navigateur?
HTML:
<div class="hs-slide hs-slide-count<?php echo $i; ?>">
<div class="hs-slide-overlay"></div>
<img src="<?php echo esc_url($hashone_slider_image); ?>" class="banner">
<div class="hs-slide-caption">
<div class="hs-slide-cap-title animated fadeInLeft">
<?php echo esc_html($hashone_slider_title); ?>
</div>
<div class="hs-slide-cap-desc animated fadeInRight">
<?php echo esc_html($hashone_slider_subtitle); ?>
</div>
</div>
</div>
CSS:
img.banner{
/* Set rules to fill background */
min-height: 100%;
min-width: 1024px;
/* Set up proportionate scaling */
width: 100%;
height: auto;
/* Set up positioning */
position: relative;
top: 0;
left: 0;
z-index: -1;
}
@media screen and (max-width: 1024px) { /* Specific to this particular image */
img.banner {
left: 50%;
margin-left: -512px; /* 50% */
}
}
Comment puis-je faire, idéalement sans JavaScript? En outre, j'ai obtenu le CSS d'un guide sur le remplissage de la fenêtre du navigateur avec une image, et je ne sais pas pourquoi la min-largeur dans le HTML est spécifiquement fixé à 1024px.
Avec cette solution, cela signifie l'image ne défile pas avec la page? Je ne veux pas que l'image soit un arrière-plan permanent persistant sur toute la page. Merci pour l'aide! – rsteilberg
Je viens de remarquer que mon exemple était l'inverse, vous avez dit que vous voulez corriger l'image en haut, donc le fond peut être coupé. J'ai mis à jour le code en conséquence. En outre, je ne suis pas sûr de vous avoir bien compris. Avez-vous un exemple de page avec un effet similaire? Voulez-vous quelque chose comme [parallax scrolling] (https://ihatetomatoes.net/demos/parallax-scroll-effect/)? – greengiraffe
[Ici] (http://austinwu.com) est un exemple d'un site web avec ce que je veux, sauf qu'il recueille aussi du haut. Mais, vous pouvez voir que l'image de fond s'aligne toujours avec le bas de la fenêtre du navigateur sur l'écran de démarrage, le jsfiddle ressemble à ce que je veux, donc je vais essayer de l'implémenter maintenant. – rsteilberg