生成级联样式表代码的方法及装置的制造方法_3

文档序号:9375327阅读:来源:国知局

[0152] 接步骤2031中的实例,转换后原生的CSS代码为:
[0153] #body {
[0154] font-size: 14px ;
[0155] }
[0156] 本公开实施例通过对待编译的CSS代码中的声明代码对待编译的CSS代码中的样 式描述代码进行编译,将待编译的CSS代码还原为原生的CSS代码。可以在后续对CSS代 码的维护过程中直接修改声明代码即可对完整的CSS代码进行维护,无需修改完整的CSS 代码,提高编写后的CSS代码的可维护性和维护效率。
[0157] 本公开一示例性实施例提供了一种生成级联样式表代码的方法,参见图3,方法流 程包括:
[0158] 在步骤301中,获取待编译的级联样式表CSS代码,待编译的CSS代码中包括声明 代码以及样式描述代码。
[0159] 在步骤302中,如果样式描述代码中查找到函数,则在声明代码中查找函数的函 数体。
[0160] 其中,查找函数的方式为查找"字符+ () "的内容。
[0161] 例如:
[0162] ·round-corners(Oradius:5px){
[0163] border_radius:@radius ;/*声明函数样式*/(此处为声明代码)
[0164] -webkit-border-radius: Oradius ;/*webkit 浏览器的私有属性 */
[0165] -moz-border-radius:Oradius ;}/*Firefox 浏览器的私有属性 */
[0166] Sheader {
[0167] . round-corners ();
[0168] }
[0169] #body {
[0170] . round-corners (7px);
[0171] }(此处为样式描述代码)
[0172] 其中,在样式描述代码中查找到的函数为round-corners (),分别在header对象 和body对象中各存在一个。
[0173] 在步骤303中,检测函数中是否携带自定义函数变量值。
[0174] 这上述两个对象中的虽然调用了相同的函数,但是在header对象中使用了 默认的函数变量值,即round-corners ();在body对象中使用了自定义函数变量值 round-corners (7px)。如果检测到函数中未携带自定义函数变量值,则执行步骤304 ;如果 检测到函数中携带自定义函数变量值,则执行步骤305。
[0175] 在步骤304中,如果函数中未携带自定义函数变量值,则将函数的函数体替换函 数,并使用函数的默认函数变量值。
[0176] 相应的,对于header对象进行转换后的原生CSS代码为:
[0177] Sheader {
[0178] border-radius:5px ;
[0179] -webkit-border-radius:5px ;
[0180] -moz-border-radius:5px ;
[0181] }
[0182] 在步骤305中,如果函数中携带自定义函数变量值,则将函数的函数体替换函数, 并将自定义函数变量值替换函数的函数体中的默认函数变量值。
[0183] 相应的,对于body对象进行转换后的原生CSS代码为:
[0184] #body {
[0185] border-radius:7px ;
[0186] -webkit-border-radius:7px ;
[0187] -moz-border-radius:7px ;
[0188] }
[0189] 本公开实施例通过对待编译的CSS代码中的声明代码对待编译的CSS代码中的样 式描述代码进行编译,将待编译的CSS代码还原为原生的CSS代码。可以在后续对CSS代 码的维护过程中直接修改声明代码即可对完整的CSS代码进行维护,无需修改完整的CSS 代码,提高编写后的CSS代码的可维护性和维护效率。
[0190] 本公开一示例性实施例提供了一种生成级联样式表代码的方法,参见图4,方法流 程包括:
[0191] 在步骤401中,获取待编译的级联样式表CSS代码,待编译的CSS代码中包括声明 代码以及样式描述代码。
[0192] 在步骤402中,如果样式描述代码中查找到继承类的对象,则在声明代码中查找 类的类体内容。
[0193] 其中,查找类的方式为查找"(extends.字符)"的内容。
[0194] 例如:
[0195] ·round-corners(Oradius:5px){
[0196] border-radius:Oradius ;(此处为声明代码)
[0197] -webkit-border-radius: Oradius ;/*webkit 浏览器的私有属性 */
[0198] -moz-border-radius:Oradius ;}/*Firefox 浏览器的私有属性 */
[0199] . Base{
[0200] color:#FFF ;
[0201] font-size:14px ;
[0202] }/*声明类*八此处为声明代码)
[0203] }
[0204] #body (extends. Base) {
[0205] . round-corners(7px);
[0206] }(此处为样式描述代码)
[0207] 在样式描述代码中查找到继承Base类的body对象,进而在声明代码中查找Base 类的类体内容。
[0208] 在步骤403中,将类的类体内容添加入继承类的对象中。
[0209] 另外,将查找继承Base类的body对象中的关键信息(extends. Base)进行删除。
[0210] 接步骤402中的实例,进行编译后的原生CSS代码为:
[0211] #body {
[0212] color:#FFF ;
[0213] font-size:14px ;
[0214] border-radius:7px ;
[0215] -webkit-border-radius:7px ;
[0216] -moz-border-radius:7px ;
[0217] }
[0218] 进一步的,上述内容为单一继承的方式,即body对象仅继承Base类中的类体内 容;还可以实现多重继承的方式,即某对象继承多个类中的类体内容。
[0219] 本公开实施例通过对待编译的CSS代码中的声明代码对待编译的CSS代码中的样 式描述代码进行编译,将待编译的CSS代码还原为原生的CSS代码。可以在后续对CSS代 码的维护过程中直接修改声明代码即可对完整的CSS代码进行维护,无需修改完整的CSS 代码,提高编写后的CSS代码的可维护性和维护效率。
[0220] 本公开一示例性实施例提供了一种生成级联样式表代码的方法,参见图5,方法流 程包括:
[0221] 在步骤501中,获取待编译的级联样式表CSS代码,待编译的CSS代码中包括声明 代码以及样式描述代码。
[0222] 在步骤502中,如果在声明代码中检测到导入文件的代码,则根据导入文件的代 码中的路径获取待导入的代码文件。
[0223] 其中,在本公开实施例中需要导入当前待编译的CSS代码所属文件以外其他CSS 代码文件中的代码。
[0224] 通过在声明代码中检测导入文件的代码Oinclude,即可以确定是否存在需要导入 的CSS代码。
[0225] 例如Minclude 'test, css'。其中,''内的内容为路径信息。通过该路径信息可 以获取到该需要导入的CSS代码的文件。
[0226] 其中,该导入的CSS代码文件中的CSS代码可以为原生CSS代码,也可以为待编译 的CSS代码。
[0227] 在步骤503中,将待导入的代码文件中的代码添加入待编译的CSS代码中。
[0228] 在步骤504中,根据声明代码以及声明代码对应的代码编译规则对样式描述代码 进行编译,生成样式描述代码对应的原生CSS代码。
[0229] 在导入后可以继续执行编译代码的流程。
[0230] 本公开实施例通过对待编译的CSS代码中的声明代码对待编译的CSS代码中的样 式描述代码进行编译,将待编译的CSS代码还原为原生的CSS代码。可以在后续对CSS代 码的维护过程中直接修改声明代码即可对完整的CSS代码进行维护,无需修改完整的CSS 代码,提高编写后的CSS代码的可维护性和维护效率。
[0231] 本公开一示例性实施例提供了一种生成级联样式表代码的方法,参见图6,方法流 程包括:
[0232] 在步骤601中,获取待编译的级联样式表CSS代码,待编译的CSS代码中包括声明 代码以及样式描述代码。
[0233] 在步骤602中,如果在样式描述代码中检测到了嵌套格式的代码,则根据嵌套格 式的代码中描述的子对象以及包含子对象的对象,生成子对象的描述代码。
[0234] 其中,查找嵌套格式的代码的方式为查找".字符
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1