为什么 Bootstrap 动态生成的元素没有 CSS 样式

为什么 Bootstrap 动态生成的元素没有 CSS 样式,第1张

经排查应该是我根据ajax查询的数据生成switch button,而ajax是异步的,在取到数据前$(".switch").bootstrapSwitch()已经执行过了,所以或许我应该把这条语句放在$.getJSON()的回调函数中执行!

以下是解决这个问题的两种方法:

1。使用ActiveX 控件

这种方法的技术含量比较高,为了应用此方法, 您不仅要具备开发这类ActiveX控件的技能,您还需要懂得一些黑客技术。

具体过程如下:

1)首先开发这样一个ActiveX控件(用VB,VC可以开发这样的ActiveX控件)它内嵌了维文字体,控件一旦被初始化立即把那些字体释放出来, 把字体安装在本地计算机的系统上。

2)这个ActiveX控件可以被嵌入到网页,网页被打开时ActiveX控件能从服务器中被下载运行或初始化。

本人试过此方法,但实现相当困难。所以本人并不想推荐此方法。

2。使用嵌入字体和OpenType技术

这个方法已经在有些维文网页得到了运用,比如baxegim。

嵌入字体和OpenType(是一种字体)属于并未完全标准化的技术,所以这个方面汉文资料特别少。由于Opentype 是Microsoft和Abobe联合开发,您也许要在Microsoft和Abobe的web站点上核查一下。

以下是这个技术的大概情况:

如果您是网页开发者,您也许知道什么是CSS(层叠样式表,Cascade Style Sheet)。如果您不知道,这个方面资料还是挺多的,您可以查阅一下,下面我就开始介绍了。用@font-face这一CSS属性以及一个指向Internet上该字体地点的URL把该字体嵌入到web网页中。该字体必须是一个带.eot或ote文件扩展名的OpenType字体文件。当一个网页读者打开一以@font-face属性引用一个OpenType字体文件的网页时,浏览器首先检查网页读者的字体下载设置。根据这些设置,网页访问者会看到如图所示的对话框。如果允许实用该字体,OpenType字体文件就自动下载到网页读者的PC上,转换成TrueType字体并临时存储起来。Internet Explorer 目前并不核查该字体的一个版本是否已装在网页读者的PC上。

把一个字体嵌入到您的web网页中的句法是:

<STYLE TYPE ="text/css'><!--

@font-face {font-family: fontname

font-style: style

font-weight: weight

src: url(fontURL)}

--></STYLE

fontname是整个当前Web网页中您用来指称这个字体的名字。Style为合法字normal,italic或oblique中任何一个。weight为normal,bold,bolder,lighter或者为任何一个合法的粗细度的值。FontURL是指向OpenType文件的URL。

从以上说明中可以看到,问题的关键是怎样准备一个维文OpenType 字体文件。这个问题我们可以向Microsoft请教。我们可以在Microsoft的Internet Client SDK的字体嵌入这一节或者Microsoft的Typograghy站点www.microsoft.com/typograghy上找到答案。Microsoft开发了专门处理OpenType字体的工具WEFT(Web Embeding Font Tool),现在是WEFT3.0,我们利用此工具很方便地制作一个eot文件。我们需要做的是给它指出一个可嵌入的TrueType字体文件,然后它就给我们形成一个OpenType 字体文件和CSS结构。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11630878.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存