Home >Web Front-end >CSS Tutorial >95% of Chinese websites need to rewrite CSS_Experience exchange
很长一段时间,我都使用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会继承父级元素的字体大小。
書き換え手順:
1. 本体セレクターで Font-size=62.5% を宣言します。
2. 元の px 値を em に置き換えます。 Unit;
上の 2 つの手順だけで問題が解決できる場合は、px を使用する人はいないでしょう。上記の 2 つの手順を実行すると、Web サイトのフォント サイズが予想外に大きいことがわかります。 em の値は固定されておらず、親要素のサイズを継承するため、コンテンツ div のフォント サイズを 1.2em (12px) に設定できます。次に、セレクター p のフォント サイズを 1.2em に設定しますが、p がコンテンツの子に属している場合、p のフォント サイズは 12px ではなく、1.2em=1.2 * 12px=14.4px になります。これは、コンテンツのフォント サイズが 1.2em に設定されているため、この em 値は親要素本体のサイズ (16px * 62.5% * 1.2=12px) を継承し、p はその子であり、em はフォントの高さを継承します。コンテンツ、つまり 12 ピクセルです。したがって、p の 1.2em は 12px ではなく、14.4px になります。
3. 拡大されたフォントの em 値を再計算します。フォント サイズの繰り返し宣言を避けてください。つまり、上記の 1.2 * 1.2 = 1.44 現象を避けてください。たとえば、#content でフォント サイズを 1.2em と宣言した場合、p のフォント サイズを宣言する場合、この em はその em ではなく、フォントを継承するため、1.2em ではなく 1em のみにすることができます。 #contentの高さは1em=12pxになりました。
奇妙な 12px の漢字 (理由は調査中)
また、em 変換を完了するときに奇妙な現象を発見しました。上記の方法 サイズ 12px (1.2em) の中国語文字は、IE で 12px で直接定義されたフォント サイズと同等ではありませんが、わずかに大きくなります。この問題は解決しました。ボディセレクターで 62.5% を 63% に変更するだけで正常に表示されます。その理由は、IE が漢字を処理する場合、浮動小数点値の精度が制限されていることが考えられます。この記事を読んでいる読者は他に何か説明がありますか?
この現象は 12px の漢字でのみ発生し、英語には存在しません。この現象を示す ファイル をここからダウンロードできます。ダウンロード後、IE でsample.htm を開いてください。テキストの最初の段落が 2 番目の段落よりも明らかに長いことがわかります。その後、エディターで style.css を開いて、何が起こっているかを確認できます。解決策は、style.css の 62.5% を 63% に置き換えることです。 デモリンク
どのような改善が可能か
改善が必要な理由:
1. ウェブサイトの CSS が複雑すぎるため、要素の所属を知らずに CSS を書き直すのが困難です。
2. ほとんどの人がまだ理解していません。この記事を読んだ後は CSS を書き換えます。
3. ほとんどの人は、ブラウザでページのフォント サイズを調整できることを知りません。
そのため、このサイトの情報ボックスにあるようなフォント サイズ調整コントロールが必要です。
私はこのサイトの読者の英語力を信じているので、ここではあまり詳しく説明しません。テキストチェンジャー
重要な参考情報:
1. ems を使用してテキストのサイズを変更する方法
2. テキスト チェンジャー
備考:
1. ウェブサイトが再起動されて以来、父は私が一日中「プロパティ 1」と「プロパティ 2」にいたと報告しました。アクセスが拒否されました Jorux.com;
2. em を使用して CSS を書き換える方法、またはフォント サイズ調整コントロールについて質問がある場合は、メッセージを残してください。
3.サイトは使いやすさの向上に取り組んでいます: a。Web ページの読み込み速度を向上させるために、CSS を b で削除しました。 ; c . フォント サイズ調整コントロールを追加しました。
4. リンクが削除された Web サイトは、このサイトへのリンクを自動的に削除します。サイトはフレンドリーリンクの交換を停止します。残りの Web サイトには次のような特徴があります: b。主にオリジナルです。このサイトは、1 ~ 2 週間の間隔で月曜日に定期的に投稿を公開します。今後は、このサイトのフィードを月曜日以外に更新する必要はありません。