Maintenir le ratio d'aspect d'un div en CSS

Je veux créer un div qui peut changer sa largeur/hauteur que la largeur de la fenêtre de modifications.

Existe-il des règles CSS3 qui permettrait à la hauteur de changer en fonction de la largeur, tout en maintenant son ratio d'aspect?

Je sais que je peux le faire en JavaScript, mais je préfère en utilisant uniquement CSS.

Maintenir le ratio d'aspect d'un div en CSS

  • J'ai écrit sur les différentes approches dans mon CSS-Tricks article sur mise à l'échelle sensible les animations
  • Je suis venu à ce Q&très en retard, mais je dois commenter. Bien qu'il est très discipliné et dans les règles de chacun de répondre à essayer de leur mieux pour satisfaire le "seul CSS" à la demande de la question, il est assez surprenant que, à l'exception de la réponse par user007 bas sur la page, personne n'a mentionné l'évidence: pas fiable du CSS seule solution existe, ce problème nécessite l'activation de Javascript. Un débutant de venir sur cette page ne perdez plus de temps de commutation à partir d'un ensemble de avantages/inconvénients à l'autre avant que l'ampoule s'éteint: CSS-seulement de ne pas le faire.
  • J'ai écrit un petit outil qui facilite la prévisualisation et de calculer les ratios d'aspect, aspectrat.io. Il génère également le CSS appropriée dans/Sass/Moins de code que vous pouvez copier et coller dans vos projets. J'espère que les gens le trouvent utile.
  • voir cet exemple: w3schools.com/howto/howto_css_aspect_ratio.asp ..... qui a travaillé moi
  • Cette question est pour le réglage de la hauteur en fonction de la largeur. Si vous avez besoin d'en face, découvrez Réglage de l'Élément de la Largeur sur la Hauteur Via CSS.
InformationsquelleAutor jackb | 2009-09-29