作者DJWS (...)
看板Web_Design
标题Re: [问题] 同一网页里,中文英文各自使用一种字型
时间Fri Jun 29 15:04:21 2007
※ 引述《DJWS (...)》之铭言:
: 我写了以下程式码:
: <style type="text/css">
: .f {
: font-family: "Book Antiqua", "标楷体";
: font-size: 5em;
: }
: </style>
: <span class="f">中文字中间有English text,之後又有一些English text。</span>
: IE在中文字的地方都会变成细明体
: FF则可以同时显示两种字型 (先前有疏忽,非常抱歉)
: 有办法让IE同时显示两种字型吗?
後来我成功的做出来了
最初的想法是:
利用 innerHTML 撷取文字资料
搭配 JavaScript ,将所有英文句子的部份找出来,
并在前後插入 HTML 标签 <span class="eng_style"> ... </span> 来修改英文字体
(我也顺便在前後都加了一个空格,让英文不会跟中文挤在一起)
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
JavaScript 的程式码很短
(注意:我的文字资料都会放在<p>标签之内,
<p>之外的地方不会受到这个程式的影响。)
english.js
var re = /([!-~]+)/gi;
var p = document.getElementsByTagName('p');
for (var i=0; i<p.length; i++)
p[i].innerHTML =
p[i].innerHTML.replace(re, " <span class=\"eng_style\">$1</span> ");
然後在原网页内容的最後一行加上
(注意:最好是放在在body之内。)
<script language="javascript" src="english.js"></script>
这样就搞定了~
IE 和 FF 都可以用唷~
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
这里附上我的参考资料:
JavaScript 程式设计与应用:用户端
章节 10-1, 10-2, 10-3
http://neural.cs.nthu.edu.tw/jang/books/javascript/
Regular Expressions (from Netscape JavaScript guide)
章节 Using Parenthesized Substring Matches
http://www.websina.com/bugzero/kb/regexp.html
祝各位排版顺利~ :)
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.90.81
※ 编辑: DJWS 来自: 140.112.90.81 (06/29 15:08)
※ 编辑: DJWS 来自: 140.112.90.81 (06/29 15:17)
※ 编辑: DJWS 来自: 140.112.90.81 (06/29 15:55)