11
votes

Est-ce que cette police: Syntaxe de propriété sténographique valide? (Ma lecture de la série dit oui, mais la moitié de mes navigateurs installés n'est pas d'accord.)

est-ce valide? Police: Bold 10PX / 13PX hériter;

Selon ma lecture du Spécifications qui devrait signifier un poids de police de 'Bold', une famille de police de 'hériter', une forme de police de '10px' et une hauteur de ligne de '13px'.

Il semble fonctionner correctement dans Internet Explorer 8 (8.0.6001.18702).

Cela fonctionne correctement dans Safari 5.0.4 (7533.20.27) sous Windows.

Opéra 11.01 (Build 1190) et Firefox 3.6.16 Les deux erreurs de journal à ce sujet.

Je n'ai pas encore essayé Chrome ou Firefox 4.

Si cela est effectivement censé être valorisé, ce bogue analysant un problème connu?

Quelques points supplémentaires:

  • Le validateur W3 signale également cela comme étant invalide.
  • Aucune de 'Font: Bold 10px hériter;', 'Font: Bold 10px / 13px;' ou 'Font: Bold 10px;' Travailler correctement dans Firefox ici.

    mise à jour

    Comme indiqué par Adam Wagner dans sa réponse, ma tentative de valeur n'est en fait pas valide (malgré ce que ma lecture naïve de la spécification suggérée) due au § C.3.1 de la spécification CSS2.1.


3 commentaires

Pour une raison quelconque, cela fonctionne bien dans Firefox lorsqu'il n'utilise pas hériter sur la famille de polices ...


Cela ne fonctionne pas bien de cette façon ici. Quelle version de Firefox utilisez-vous?


Firefox 4.0 ici. Je voulais dire préciser la police explicitement, ne pas le quitter. Voir mon " Répondre " ci-dessous.


5 Réponses :


0
votes

Non.

La propriété sténographique de police est p>

line-height: 13px;


5 commentaires

Le Specs raconte une histoire différente de la syntaxe ...


La spécification CSS1 a des exameples qui incluent le / si le texte lui-même ne semble pas en parler. Il est cependant dans le texte dans REC-CSS2-20080411. N'apparaît pas tout cela récent pour moi. Je ne pense pas non plus que c'est en fait le problème de cette ligne.


Etan a raison, la hauteur de ligne existe depuis CSS1. De plus, elle et la syntaxe sténographique sont soutenues par IE4 + et chaque version de Firefox, Opera, Safari, Chrome, etc.


Le la hauteur de ligne n'est pas du tout récent, il y est déjà dans CSS 1. w3.org/tr/2008/rec-css1-20080411/#font Ce n'est que des polices système et hériter qui a été ajouté à CSS 2.


Je n'ai jamais su cela. Merci de m'être informé.



10
votes

Je pense que le problème est avec l'ajout "hériter" à votre valeur.

par les spécifications:

[[<'style font-style'> || <'Font-variant'> || <'Font-Poids'>]? <'Taille de police'> [/ <'Hauteur de ligne'>]? <'Font-famille'>] | légende | icône | menu | messagerie | hériter

Je pense que la section audacieuse que j'ai énumérée ci-dessus est une option et "Légende", "Icône", "Menu", "Message-Box" et "hériter" sont les options restantes.

En bref, essayez: Font: Bold 10PX / 13PX

mise à jour:

Il semble que WebKit a un rapport de bogue exceptionnel sur ce problème même. Pas sûr de Firefox. ( https://bugs.webkit.org/show_bug.cgi?id=20181)

Aussi, comme une personne du billet mentionne, le SPE-2.1 adresse ce:

"Propriétés sténographiques Prenez une liste de valeurs de sous-performance ou de la valeur" hériter ". On ne peut pas mélanger" hériter "avec d'autres valeurs de sous-performance car il ne serait pas possible de spécifier la sous-performance auquel" hériter "appliquait. Les définitions d'un Nombre de propriétés sténographiques n'a pas appliqué cette règle: «frontière», «frontière-droite», «frontière», «frontière», «frontière», «fond», «police», style de police ',' cue ', et "contour". "

http://www.w3.org/tr/css21/changes. HTML # Q142


4 commentaires

Essayé ça. Cela ne fonctionne pas non plus. De plus, si vous plongez dans Font-Family, vous verrez qu'il a une valeur hérité répertorie également.


Oui, Font-famille est hériter ou quelque chose de coutume et j'essaie d'utiliser hériter. Le point de ma question était de savoir si je lis que je lis les choses de manière incorrecte et / ou que certains des navigateurs sont simplement en train d'être cassés.


Je dirai des navigateurs cassés ... qui est étrange, puisque le site de développement de Mozilla est identique à celui des spécifications: développeur.mozilla.org/fr/css/font


Il n'y a rien de mal avec les navigateurs, il est correct de rejeter l'utilisation de hériter comme une famille de polices dans le style de police. Voir ma réponse.



1
votes

Il est évident que le mot-clé hériter cause des problèmes. Peut-être parce que CSS tente de le faire fonctionner même si vous ne suivez pas l'ordre des options prescrit (semble ne pas être le cas, car une commande différente ne fonctionne pas non plus) et ne peut pas décider de quoi La directive hérite appartient à.

Cela fonctionne bien si vous définissez explicitement la famille de polices: police: Bold 10PX / 13PX SERIF;


0 commentaires

4
votes

Selon Les normes , vous pouvez ' t Utilisez hériter avec d'autres options dans la police style composite.

Les valeurs de la taille et de la famille de polices doivent être spécifiées (si vous n'utilisez aucun des formulaires où ils ne sont pas utilisés du tout).

Donc, vous ne pouvez pas l'utiliser pour définir uniquement le poids, la taille, la hauteur de la ligne, mais hériter de la famille.


3 commentaires

Je suppose que vous faites la même revendication Adam Wagner était, auquel cas je vous invite à regarder la famille de la famille aussi. Sinon, veuillez expliquer.


Je vois ce que vous essayez de faire et pourquoi cela devrait fonctionner. Je ne sais pas si la spécification indique quelque chose à propos de l'utilisation de valeurs hériter pour les sous-sections de ces raccourcissements. Cela étant dit, je peux voir comment il serait facile pour les navigateurs de se tromper, car ce sujet n'est pas exploré dans la spécification.


@Etan Reisner: Vous pouvez utiliser hériter dans le style Font-famille , mais cela ne signifie pas que vous pouvez l'utiliser au lieu d'un nom de famille de polices dans le police style. Il ne pouvait pas être utilisé de cette manière dans des styles composites, car la valeur hériter ne peut donner aucune indication sur laquelle des composants de style doit être hérité.



1
votes

Ma solution suit (pour créer le plus petit nombre de frais de CSS que possible lorsque vous utilisez une grande déclaration de police composite pour votre site):

.my-class {
  font: bold 1.167em/2 Helvetica;
  font-family: inherit;
}
  • testé (et travaillant) à FF où j'avais le problème ci-dessus. Li> ul> p>


0 commentaires