Comment résoudre le problème selon lequel l'attribut d'étirement de la police ne peut pas être démarré
P粉676821490
P粉676821490 2023-08-26 14:42:23
0
2
531
<p>font-stretch属性根本不起作用。这是我的代码:</p> <pre class="brush:php;toolbar:false;"><!DOCTYPE html> <html> <tête> <meta charset="utf-8"> <titre>font-stretch</titre> <style> p{ taille de police : 5em ; famille de polices : « Myriad Pro » ; } </style> ≪/tête> <corps> <p> <span style="font-stretch : ultra-condensé">P</span> <span style="font-stretch: extra-condensé">P</span> <span style="font-stretch: condensé">P</span> <span style="font-stretch : semi-condensé">P</span> <span style="font-stretch: normal">P</span> <span style="font-stretch : semi-développé">P</span> <span style="font-stretch : étendu">P</span> <span style="font-stretch: extra-expansed">P</span> <span style="font-stretch : ultra-expansé">P</span> </p> </corps> </html></pre> <p>
P粉676821490
P粉676821490

répondre à tous(2)
P粉787934476

Vous pouvez utiliser font-stretch pour choisir une police condensée ou étendue parmi ces polices. Cette propriété n'a aucun effet si la police que vous utilisez ne fournit pas de police compressée ou étendue.

P粉567112391

L'interface utilisateur de Google Fonts préfère actuellement toujours la sortie CSS statique/à poids unique.

Mais vous pouvez forcer manuellement l'API à afficher des @font-facerègles pour les polices variables :

https://fonts.googleapis.com/css2?family=Inconsolata:wdth,wght@50..200,200..900

Il est important d'utiliser '..' comme séparateur de plage - sinon vous vous retrouverez avec un CSS contenant plusieurs woff2 URL de fichiers statiques.

De plus, l'API de Google utilise une certaine détection d'agent utilisateur (également connue sous le nom de reniflage de navigateur) pour assurer une compatibilité ascendante (pour les navigateurs qui ne prennent pas en charge les polices variables). C'est logique... Malheureusement, cela ne fonctionne pas très bien : certains navigateurs comme Opera (qui supporte parfaitement VF) reçoivent également des polices statiques. (Cela peut également fonctionner pour d'autres navigateurs basés sur Chromium/Blink)

Pour contourner le problème, je recommande d'ouvrir l'URL CSS ci-dessus dans Firefox. Le résultat devrait ressembler à ceci :

@font-face {
  font-family: 'Inconsolata';
  font-style: normal;
  font-weight: 200 900;
  font-stretch: 50% 200%;
  src: url(https://fonts.gstatic.com/s/inconsolata/v31/QldKNThLqRwH-OJ1UHjlKGlZ5qg.woff2) format('woff2');
}

Remarquefont-weightfont-stretchLa valeur de l'attribut contient 2 valeurs, indiquant la plage de poids/largeur. C'est un bon indicateur que vous avez acquis les règles (variables) correctes.

Exemple : police variable Inconsolata

@font-face {
  font-family: "Inconsolata";
  font-style: normal;
  font-weight: 200 900;
  font-stretch: 50% 200%;
  src: url(https://fonts.gstatic.com/s/inconsolata/v31/QldKNThLqRwH-OJ1UHjlKGlZ5qg.woff2) format("woff2");
}

body {
  font-size: 36px;
  font-family: sans-serif;
}

h2 {
  font-size: 0.5em;
  color: red;
}

p {
  font-family: Inconsolata;
  transition: 0.8s;
}

.customMap {
  font-family: sans-serif;
}

@font-face {
  font-family: "Inconsolata2";
  src: url(https://fonts.gstatic.com/s/robotocondensed/v25/ieVl2ZhZI2eCN5jzbjEETS9weq8-19K7DQ.woff2) format("woff2");
  font-stretch: 50%;
}

@font-face {
  font-family: "Inconsolata2";
  src: url(https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TLBCc6CsQ.woff2) format('woff2');
  font-stretch: 200%;
  font-style: normal;
  font-weight: normal;
}

.customMap {
  font-family: "Inconsolata2";
  font-style: normal;
}
<p style="font-family:sans-serif; font-size:12px">Font-stretch: <input type="range" id="fontStretch" value="50" min="50" max="200" step="5"></p>
<p style="font-family:sans-serif; font-size:12px">Font-weight: <input type="range" id="fontWeight" value="200" min="200" max="900" step="10"></p>
<p id="variableTest" style="font-stretch:50%" class="inconsolata variableTest">Hamburgefons</p>

<h2>Variable fonts Example</h2>

<p>
  <span style="font-stretch: ultra-condensed">P</span>
  <span style="font-stretch: extra-condensed">P</span>
  <span style="font-stretch: condensed">P</span>
  <span style="font-stretch: semi-condensed">P</span>
  <span style="font-stretch: normal">P</span>
  <span style="font-stretch: semi-expanded">P</span>
  <span style="font-stretch: expanded">P</span>
  <span style="font-stretch: extra-expanded">P</span>
  <span style="font-stretch: ultra-expanded">P</span>
</p>

<h2>Static fonts Example (custom fonts to widths mapping)</h2>
<p class="customMap">
  <span style="font-stretch: 50%">g</span>
  <span style="font-stretch: 200%">g</span>
</p>


<script>
  fontStretch.addEventListener('change', (e) => {
    variableTest.style.fontStretch = e.currentTarget.value + '%';
  });

  fontWeight.addEventListener('change', (e) => {
    variableTest.style.fontWeight = e.currentTarget.value;
  })
</script>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal