Calculateur de ratio CSS pour un padding-top adaptatif
Ce calculateur de ratio CSS transforme une largeur et une hauteur en pourcentage de padding-top pour la technique classique des blocs adaptatifs.
Lancer gratuitement
Saisissez des dimensions positives, par exemple 16 et 9, et obtenez une valeur prête à copier. L’outil facilite l’entretien d’anciennes feuilles de style, la création de solutions de repli compatibles et la génération de conteneurs multimédias depuis des dimensions enregistrées. Le calcul est déterministe, ne conserve aucune donnée et fournit un résultat identique dans le navigateur et via l’API.
Convertissez les dimensions en espace vertical adaptatif
En CSS, un espacement vertical exprimé en pourcentage est calculé par rapport à la largeur du bloc conteneur. Ce comportement permet de réserver une hauteur avant le chargement d’une image, d’une vidéo, d’un iframe ou d’un autre contenu intégré. Le calculateur divise la hauteur fournie par la largeur, multiplie le résultat par cent, puis ajoute le signe de pourcentage. Des dimensions panoramiques de 16 par 9 donnent ainsi une valeur directement utilisable dans une déclaration padding-top. Les dimensions ne doivent pas nécessairement être exprimées en pixels ni décrire une ressource volumineuse. Elles doivent seulement employer la même unité, car seule leur proportion intervient. Une image de 1600 par 900, une miniature de 160 par 90 et un cadre de 16 par 9 réservent donc le même espace relatif. Utilisez deux nombres positifs et finis : les valeurs absentes, nulles, négatives ou non numériques sont refusées afin d’éviter un CSS trompeur ou inutilisable.
Utilisez le pourcentage comme solution de repli CSS
La valeur calculée correspond au modèle traditionnel du bloc à ratio intrinsèque. Appliquez le pourcentage au padding-top d’un conteneur, donnez-lui une position relative, puis positionnez son enfant de façon absolue afin qu’il remplisse l’espace réservé. Le conteneur suit alors la largeur disponible tandis que son espacement vertical conserve la proportion demandée. Le CSS moderne propose la propriété aspect-ratio, généralement plus lisible pour un nouveau projet, mais les blocs fondés sur l’espacement restent utiles dans les anciennes feuilles de style, les solutions de compatibilité, les extraits générés et les bases de code déjà organisées autour de cette méthode. Considérez le résultat comme du texte CSS, et non comme un nouveau ratio. Pour une largeur de 4 et une hauteur de 3, conservez cet ordre ; les inverser crée volontairement un bloc vertical. L’outil n’analyse aucun fichier et ne devine pas l’orientation : il effectue uniquement la conversion explicite.
Choisissez les dimensions et comprenez la précision
Utilisez la largeur et la hauteur intrinsèques pour faire correspondre le conteneur à une ressource réelle, ou des dimensions de conception pour réserver un emplacement prévu. Les grandes valeurs sont acceptées si elles restent positives et finies, mais diviser les deux par le même facteur ne modifie pas le résultat. Les nombres décimaux conviennent également lorsque le ratio provient de mesures de mise en page. Le résultat prend la forme d’un pourcentage compact, avec une précision significative adaptée aux usages CSS courants. Les navigateurs peuvent arrondir les sous-pixels selon la largeur de la fenêtre ; un pourcentage mathématiquement précis ne garantit donc pas que chaque bord tombe sur un pixel physique entier. Il s’agit du fonctionnement normal de la mise en page, pas d’une modification du ratio. Lorsque cela est possible, déclarez aspect-ratio comme règle principale et gardez ce padding calculé comme solution de repli. Via l’API, chaque requête déterministe coûte $0.002 ; le navigateur exécute localement le même calcul pur.
Cas d’usage
Réserver la place d’une vidéo adaptative
Convertissez les dimensions d’une vidéo en padding-top pour éviter un déplacement de page avant le chargement du lecteur.
Générer des solutions de repli de ratio
Créez des déclarations fondées sur l’espacement pendant l’adoption progressive de la propriété moderne aspect-ratio.
Construire des modèles de médias intégrés
Transformez les métadonnées de largeur et de hauteur en pourcentage lors de la génération d’iframes, d’images ou de composants.
Questions fréquentes
Quelle formule le calculateur emploie-t-il ?
Il divise la hauteur par la largeur, multiplie cette valeur par cent et ajoute le signe de pourcentage.
Pourquoi un padding vertical en pourcentage conserve-t-il le ratio ?
CSS le calcule depuis la largeur du bloc conteneur ; l’espace vertical évolue donc proportionnellement à celle-ci.
Faut-il utiliser padding-top ou la propriété aspect-ratio ?
Préférez aspect-ratio dans le code moderne. Employez le padding-top calculé pour la compatibilité ou les solutions de repli.
La largeur et la hauteur peuvent-elles être décimales ?
Oui. Les deux valeurs peuvent être entières ou décimales, à condition d’être finies et strictement positives.
Que se passe-t-il si une dimension est nulle ou négative ?
La requête renvoie une erreur d’entrée invalide, car ces valeurs ne définissent pas un bloc adaptatif valable.
Combien coûte une requête API ?
Chaque requête API coûte $0.002. Le même calcul déterministe est également disponible dans le navigateur.
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/image/css-aspect-ratio \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"width":16,"height":9}'const res = await fetch("https://api.kit.forhosting.com/image/css-aspect-ratio", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"width": 16,
"height": 9
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/image/css-aspect-ratio",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"width": 16,
"height": 9
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/image/css-aspect-ratio", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"width":16,"height":9}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"width":16,"height":9}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/image/css-aspect-ratio", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"width": 16,
"height": 9
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "image.css_aspect_ratio",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Limites
max_mb | 15 |
max_megapixels | 12 |
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |