Rumah >hujung hadapan web >tutorial css >95% tapak web Cina perlu menulis semula pertukaran CSS_Experience
很长一段时间,我都使用12px作为网站的主要字体大小。10px太小,眼睛很容易疲劳,14px虽容易看清,却破坏页面的美感。唯独12px在审美和视力方面都恰到好处。
谁对我的网站字体大小有意见?
我老爸,他是第一个向我反映看不清我的网站文字的人。这使我意识到12px,其实只是让我觉得很不错而已,而对于那些视力下降明显的中年以上的人来讲,几乎等于10px对于我的感觉。
于是我告诉他,在“查看”里调整“文字大小”就可以了。但是却发现这是徒劳的。在Firefox能轻易调整的字体大小,怎么在IE就变得如此”坚不可调“?
问题出在哪?
我又试着打开中国的三大门户—新浪,网易,搜狐。它们的字体无一例外的在IE里失去可调性。看来这不是我网站独有的毛病。再看看MSN,Google,A list apart,华盛顿邮报,在IE里却是可调的。难道IE在字体调整上也搞歧视不成?
困扰我的问题直到看到这篇大作:How to size text using ems,才得到彻底的解决。
关键点:
1. IE无法调整那些使用px作为单位的字体大小;
2. 国外的大部分网站能够调整的原因在于其使用了em作为字体单位;
3. Firefox能够调整px和em,但是96%以上的中国网民使用IE浏览器(或内核)。这意味这中国网站的字体大小可以被认为不可调。
95%的中国网站需要重写CSS
在我所观察的中国网站中,包括三大门户,以及“引领”中国网站设计潮流的蓝色理想,ChinaUI等都是使用了px作为字体单位。只有百度好歹做了个可调的表率。
而在大洋彼岸,几乎所有的主流站点都使用em作为字体单位,也就是可调的。
没错,px比em更加容易使用,我也敢打赌大部分读者不知道em为何物或者它相当于多少px。
国外人士如此重视网站易用性(Accessibility),不仅因为其根生蒂固的人文精神,直接原因可能是因为有一部法律来约束他们—例如美国的Section 508,强制网站达到一定的易用性。所以没有哪个主流站点愿意被那些视力下降或是残缺的人告上法庭。
注: 在中国, 可能把微软告上法庭来的更简单点,为什么IE对于px那么死板。
如何重写你的网站CSS
Jorux.com作为一个对视力下降人士负责任的站点,已经重写了CSS的Font-size部分。在这里,Jorux和各个有人文精神的网站主讨论如何用em重写Font-szie的问题。
em vs. px
em是何物?
em指字体高,任意浏览器的默认字体高都是16px。所以未经调整的浏览器都符合: 1em=16px。那么12px=0.75em, 10px=0.625em。为了简化font-size的换算,需要在css中的body选择器中声明Font-size=62.5%,这就使em值变为16px*62.5%=10px, 这样12px=1.2em, 10px=1em, 也就是说只需要将你的原来的px数值除以10,然后换上em作为单位就行了。em有如下特点:
1. em的值并不是固定的;
2. em会继承父级元素的字体大小。
Étapes de réécriture :
1. Déclarez Font-size=62,5% dans le sélecteur de corps
2 Divisez votre valeur px d'origine par 10, puis remplacez-la par em. unit;
Gardons les choses simples. Si le problème peut être résolu uniquement par les deux étapes ci-dessus, personne ne peut utiliser px. Après les deux étapes ci-dessus, vous constaterez que la taille de la police de votre site Web est étonnamment grande. Étant donné que la valeur de em n'est pas fixe et héritera de la taille de l'élément parent, vous pouvez définir la taille de la police dans le div de contenu sur 1,2 em, soit 12 px. Ensuite, vous définissez la taille de police du sélecteur p sur 1,2em, mais si p appartient à l'enfant du contenu, la taille de police de p n'est pas 12px, mais 1.2em=1.2 * 12px=14.4px. En effet, la taille de la police du contenu est définie sur 1,2 em. Cette valeur em hérite de la taille du corps de son élément parent, qui est de 16 px * 62,5 % * 1,2 = 12 px, et p est son enfant, et em hérite de la hauteur de la police de. content , qui fait 12px. Donc 1,2em de p n'est plus 12px, mais 14,4px.
3. Recalculez les valeurs em de ces polices agrandies. Évitez les déclarations répétées de taille de police, c'est-à-dire évitez le phénomène 1,2 * 1,2 = 1,44 mentionné ci-dessus. Par exemple, si vous déclarez que la taille de la police est de 1,2 em dans #content, alors lorsque vous déclarez la taille de la police de p, elle ne peut être que de 1 em, et non de 1,2 em, car ce em n'est pas celui-là et il hérite de la police. hauteur de #content. Il est devenu 1em=12px.
Caractères chinois étranges de 12 pixels (la raison doit être étudiée)
J'ai également découvert un phénomène étrange lors de la conversion em, qui a été obtenu par le méthode ci-dessus Les caractères chinois d'une taille de 12 px (1,2 em) ne sont pas équivalents à la taille de police directement définie par 12 px dans IE, mais sont légèrement plus grands. J'ai résolu ce problème. Il vous suffit de changer 62,5 % en 63 % dans le sélecteur de corps et il s'affichera normalement. La raison peut être que lorsque IE traite les caractères chinois, la précision des valeurs à virgule flottante est limitée. Les lecteurs de cet article ont-ils d’autres explications ?
Ce phénomène ne se produit que pour les caractères chinois de 12 pixels et n'existe pas en anglais. Vous pouvez télécharger un fichier montrant ce phénomène ici. Après le téléchargement, veuillez utiliser IE pour ouvrir sample.htm. Vous pouvez voir que le premier paragraphe du texte est évidemment plus long que le deuxième paragraphe. Vous pouvez ensuite ouvrir style.css dans un éditeur et voir ce qui se passe. La solution est de remplacer 62,5% dans style.css par 63%. Lien démo
Quelles améliorations peuvent être apportées
Pourquoi doit-il être amélioré :
1. Le CSS de votre site Web est trop compliqué, de sorte qu'il est difficile de réécrire le CSS sans connaître l'affiliation des éléments
2. après avoir lu cet article, réécrira le CSS ;
3. La plupart des gens ne savent pas que le navigateur peut ajuster la taille de la police de la page.
Vous avez donc besoin d'un contrôle d'ajustement de la taille de police tel que celui présent dans la zone d'information de ce site.
Je crois aux compétences en anglais des lecteurs de ce site, je ne serai donc pas trop verbeux ici. Veuillez vous référer à : The Text Changer
Référence importante :
1. Comment dimensionner le texte à l'aide d'ems
2 Le changeur de texte
Remarques :
1. Depuis le redémarrage du site Web, mon père a signalé que j'étais dans la « Propriété 1 » et la « Propriété 2 » toute la journée. Je ne comprends pas et je l'ai fait. l'accès a été refusé Jorux.com;
2. Les lecteurs ont des questions sur la façon de les utiliser pour réécrire le CSS, ou sur le contrôle d'ajustement de la taille de la police, veuillez laisser un message ;
3. le site s'engage à améliorer la facilité d'utilisation. Les améliorations suivantes ont été apportées : a CSS réécrit avec em b Suppression de 51.la et du code publicitaire textuel pour améliorer la vitesse de chargement des pages Web. ; c . Ajout du contrôle d'ajustement de la taille de la police
4. Réorganisation du lien "Autre blogueur". Veuillez constater que le site Web dont le lien a été supprimé supprimera lui-même le lien vers ce site. le site cessera d’échanger des liens amicaux. Les sites Web restants ont les caractéristiques suivantes : aBlog non-agenda b Excellent contenu ; c. le site publie régulièrement des articles le lundi, avec un intervalle d'une à deux semaines. Merci aux lecteurs de l'attention que vous portez à ce site, vous n'aurez plus besoin de mettre à jour le flux de ce site sauf le lundi.