所属分类:PHPBB论坛程序,插件收集与修改
再来讨论phpbb的css的用法,我们以官方subSilver为例,在overall_header.tpl 与 simple_header.tpl 及 admin/page_header.tpl 档桉中会发现,有内建式<style type="text/css">.....</style> 与引入式<!-- link rel="stylesheet" href="templates/subSilver/{T_HEAD_STYLESHEET}" type="text/css" -->
而引入式的方式却以<!-- 这符号来中断引入*.CSS档桉,成为标注模式,这是要告诉你PHPBB可以支援这二种模式,而预设是採行内建方式,因此subSilver.css这隻档桉在这裡是没有意义的,仅供你日后採用引入式时候的参考用途。
但并非採用了内建式css就不能使用引入式,你也可以再设计与原内定的css以外效果来加入你的风格中。
预设在 overall_header.tpl 与 simple_header.tpl 及 admin/page_header.tpl 中所写的css模式,你会发现一个奇怪的现象,参数位置都变成了 {T_TR_COLOR1}、{T_TH_CLASS3} 等等的怪字串?
这些字串所在的位置多半是控制字体大小或字型与颜色,PHPBB是把这些字串再另外由后台风格管理选项中再去设定参数,这样子的模式,是让不会相关程式的使用者方便修改喜欢的字体与颜色样式。
他的运作原理是利用theme_info.cfg当中预设的参数,当第一次安装时候,资料库就以这隻档桉的CSS参数写入资料库中,当伺服器读取到这些{T_TR_COLOR1}时候字串,会去对应资料库中的参数,来显示网页的CSS变化,
也因此每次修改后台的CSS参数,系统会告诉你要进行输出的动作,然后下载系统帮你写好的theme_info.cfg进行覆盖旧档桉。输出时候就已经写入资料库了,而下载其实只是让你备分这次修改的数据。
如果你以这类内建式CSS的模式风格档桉来进行风格修改设计,当你安装好风格之后不用管theme_info.cfg原本的内容,只要从后台去修改参数,进行输出然后下载就能取得更新的theme_info.cfg档桉了。
除非是参数以外的CSS效果,你就得自己设计囉,不过都要再他已知的名称定义下进行修编,既有名称是指例如 th.thSides,td.catSides,td.spaceRow 这些名称,因为这些名称都已经在所有的TPL档桉中定位好了,
你要自创名称当然对于初级者而言,简直是给自己找麻烦,而一方面也非常不建议去修改任何TPL档桉中的CSS名称与定位,因为这对于日后安装MOD时候,会无法按照安装文件中的位置寻找,切记三思。
以下修改CSS的饭粒解说:
代码: 选择全部
th.thSides,td.catSides,td.spaceRow { border-width: 0px 1px 0px 1px; }
你可以修改框架的厚度参数,或移动名称位置,如td.catSides,移到别处等等,但绝对不能改变他的名称。
------------------------------------------------------------------------
td.row1 { background-color: {T_TR_COLOR1}; }
这种有牵扯后台参数修改的则名称绝对不能移动,只能再加入其他功能。例如:
td.row1 { background-color: {T_TR_COLOR1}; line-height: 120%; text-decoration: none;}
特别注意,每次修改都要包含overall_header.tpl 与 simple_header.tpl 与admin/page_header.tpl 这三个档桉一起改。
==================================================================================
如果要採行引入外部css档桉方式,则必须把内建式的CSS加注标注符号,而把引入CSS的标注符号取消:
代码: 选择全部
<!-- link rel="stylesheet" href="templates/subSilver/{T_HEAD_STYLESHEET}" type="text/css" -->
改成
<link rel="stylesheet" href="templates/subSilver/***你的***.css" type="text/css">
然后把
<style type="text/css"> 一直到 </style>
整段改成
<!--style type="text/css"> 一直到 </style-->
或者整段删除也可以。
之后可开始动手修改subSilver.css(或者你自己的*.css)
但依旧不能改变css档桉原有定义好的名称喔!因为所有的TPL档桉中的CSS名称依旧是存在的,也就是说你只是利用原有名称与位置去修改CSS而已
使用引入css档桉的好处是,当要异动css时候不用每次去修改overall_header.tpl 与 simple_header.tpl 与admin/page_header.tpl 这三支档桉,只要修改唯一的*.CSS档桉即可,也不用去管后台的风格管理输出。
但是特别注意:引入css的方式依旧有几项栏位是无法完全被css档桉所取代的,theme_info.cfg当中以下这几个项目,是无法由css取代的,必须由这支档桉写入,并且还是要按照传统后台方式修改与输出才能有作用。
代码: 选择全部
<?php
//
// phpBB 2.x auto-generated theme config file for xxxxxx
// Do not change anything in this file!
//
$company_type[0]['template_name'] = "xxxxxx"; //你的风格名称
$company_type[0]['style_name'] = "xxxxxx"; //你的风格名称
$company_type[0]['head_stylesheet'] = "xxxxxx.css"; //你的风格名称CSS档
$company_type[0]['body_background'] = "";
$company_type[0]['body_bgcolor'] = "";
$company_type[0]['body_text'] = "";
$company_type[0]['body_link'] = "";
$company_type[0]['body_vlink'] = "";
$company_type[0]['body_alink'] = "";
$company_type[0]['body_hlink'] = "";
$company_type[0]['tr_color1'] = "";
$company_type[0]['tr_color2'] = "";
$company_type[0]['tr_color3'] = "";
$company_type[0]['tr_class1'] = "";
$company_type[0]['tr_class2'] = "";
$company_type[0]['tr_class3'] = "";
$company_type[0]['th_color1'] = "";
$company_type[0]['th_color2'] = "";
$company_type[0]['th_color3'] = "";
$company_type[0]['th_class1'] = "cellpic1.gif"; //不可变更的项目
$company_type[0]['th_class2'] = "cellpic3.gif"; //不可变更的项目
$company_type[0]['th_class3'] = "";
$company_type[0]['td_color1'] = "";
$company_type[0]['td_color2'] = "";
$company_type[0]['td_color3'] = "";
$company_type[0]['td_class1'] = "row1"; //不可变更的项目
$company_type[0]['td_class2'] = "row2"; //不可变更的项目
$company_type[0]['td_class3'] = "";
$company_type[0]['fontface1'] = "Verdana, Arial, Helvetica, sans-serif"; //预设系统字型1,可以忽略由CSS档桉控制,但这裡不能没有数值。
$company_type[0]['fontface2'] = "Trebuchet MS"; //预设系统字型2,可以忽略由CSS档桉控制,但这裡不能没有数值。
$company_type[0]['fontface3'] = "Courier, \'Courier New\', sans-serif"; //预设系统字型3,可以忽略由CSS档桉控制,但这裡不能没有数值。
$company_type[0]['fontsize1'] = "";
$company_type[0]['fontsize2'] = "";
$company_type[0]['fontsize3'] = "";
$company_type[0]['fontcolor1'] = "";
$company_type[0]['fontcolor2'] = "******"; // 自订版面管理员字体颜色
$company_type[0]['fontcolor3'] = "******"; // 自订系统管理员字体颜色
$company_type[0]['span_class1'] = "";
$company_type[0]['span_class2'] = "";
$company_type[0]['span_class3'] = "";
$company_type[0]['img_size_poll'] = "";
$company_type[0]['img_size_privmsg'] = "";
?>
上面控着的栏位就让他空着没关係,重要是版面与系统管理员的字体颜色,必须靠这裡才能统一改变。
当你尚未安装你设计好的风格时候,这隻theme_info.cfg是必须先有修改的资料,才能进行安装程序喔。
如果说你是想先安装好一个样板风格再去修改成引入式CSS,那麽也不必担心,事后修改CSS档与theme_info.cfg再由后台输出一次即可。
==================================================================================
其他说明:
在原有的subSilver内建CSS当中你会最后一行有一段
代码: 选择全部
/* Import the fancy styles for IE only (NS4.x doesn't use the @import function) */
@import url("templates/subSilver/formIE.css");
这是告诉你说,以下的CSS档桉是採引入式 formIE.css,这些效果仅支援IE浏览器,不支援NETSCAPE与MOZILLA或FIREFOX!
formIE.css这隻档桉内就是使用IE浏览器看PHPBB时候,按钮、捲轴等等之类的会有颜色与式样上的变化。
这些语法都不是标准版的CSS,是微软自己发明的怪语法。
目前想到的这些偶先写,日后想到有关CSS再补充吧,
而引入式的方式却以<!-- 这符号来中断引入*.CSS档桉,成为标注模式,这是要告诉你PHPBB可以支援这二种模式,而预设是採行内建方式,因此subSilver.css这隻档桉在这裡是没有意义的,仅供你日后採用引入式时候的参考用途。
但并非採用了内建式css就不能使用引入式,你也可以再设计与原内定的css以外效果来加入你的风格中。
预设在 overall_header.tpl 与 simple_header.tpl 及 admin/page_header.tpl 中所写的css模式,你会发现一个奇怪的现象,参数位置都变成了 {T_TR_COLOR1}、{T_TH_CLASS3} 等等的怪字串?
这些字串所在的位置多半是控制字体大小或字型与颜色,PHPBB是把这些字串再另外由后台风格管理选项中再去设定参数,这样子的模式,是让不会相关程式的使用者方便修改喜欢的字体与颜色样式。
他的运作原理是利用theme_info.cfg当中预设的参数,当第一次安装时候,资料库就以这隻档桉的CSS参数写入资料库中,当伺服器读取到这些{T_TR_COLOR1}时候字串,会去对应资料库中的参数,来显示网页的CSS变化,
也因此每次修改后台的CSS参数,系统会告诉你要进行输出的动作,然后下载系统帮你写好的theme_info.cfg进行覆盖旧档桉。输出时候就已经写入资料库了,而下载其实只是让你备分这次修改的数据。
如果你以这类内建式CSS的模式风格档桉来进行风格修改设计,当你安装好风格之后不用管theme_info.cfg原本的内容,只要从后台去修改参数,进行输出然后下载就能取得更新的theme_info.cfg档桉了。
除非是参数以外的CSS效果,你就得自己设计囉,不过都要再他已知的名称定义下进行修编,既有名称是指例如 th.thSides,td.catSides,td.spaceRow 这些名称,因为这些名称都已经在所有的TPL档桉中定位好了,
你要自创名称当然对于初级者而言,简直是给自己找麻烦,而一方面也非常不建议去修改任何TPL档桉中的CSS名称与定位,因为这对于日后安装MOD时候,会无法按照安装文件中的位置寻找,切记三思。
以下修改CSS的饭粒解说:
代码: 选择全部
th.thSides,td.catSides,td.spaceRow { border-width: 0px 1px 0px 1px; }
你可以修改框架的厚度参数,或移动名称位置,如td.catSides,移到别处等等,但绝对不能改变他的名称。
------------------------------------------------------------------------
td.row1 { background-color: {T_TR_COLOR1}; }
这种有牵扯后台参数修改的则名称绝对不能移动,只能再加入其他功能。例如:
td.row1 { background-color: {T_TR_COLOR1}; line-height: 120%; text-decoration: none;}
特别注意,每次修改都要包含overall_header.tpl 与 simple_header.tpl 与admin/page_header.tpl 这三个档桉一起改。
==================================================================================
如果要採行引入外部css档桉方式,则必须把内建式的CSS加注标注符号,而把引入CSS的标注符号取消:
代码: 选择全部
<!-- link rel="stylesheet" href="templates/subSilver/{T_HEAD_STYLESHEET}" type="text/css" -->
改成
<link rel="stylesheet" href="templates/subSilver/***你的***.css" type="text/css">
然后把
<style type="text/css"> 一直到 </style>
整段改成
<!--style type="text/css"> 一直到 </style-->
或者整段删除也可以。
之后可开始动手修改subSilver.css(或者你自己的*.css)
但依旧不能改变css档桉原有定义好的名称喔!因为所有的TPL档桉中的CSS名称依旧是存在的,也就是说你只是利用原有名称与位置去修改CSS而已
使用引入css档桉的好处是,当要异动css时候不用每次去修改overall_header.tpl 与 simple_header.tpl 与admin/page_header.tpl 这三支档桉,只要修改唯一的*.CSS档桉即可,也不用去管后台的风格管理输出。
但是特别注意:引入css的方式依旧有几项栏位是无法完全被css档桉所取代的,theme_info.cfg当中以下这几个项目,是无法由css取代的,必须由这支档桉写入,并且还是要按照传统后台方式修改与输出才能有作用。
代码: 选择全部
<?php
//
// phpBB 2.x auto-generated theme config file for xxxxxx
// Do not change anything in this file!
//
$company_type[0]['template_name'] = "xxxxxx"; //你的风格名称
$company_type[0]['style_name'] = "xxxxxx"; //你的风格名称
$company_type[0]['head_stylesheet'] = "xxxxxx.css"; //你的风格名称CSS档
$company_type[0]['body_background'] = "";
$company_type[0]['body_bgcolor'] = "";
$company_type[0]['body_text'] = "";
$company_type[0]['body_link'] = "";
$company_type[0]['body_vlink'] = "";
$company_type[0]['body_alink'] = "";
$company_type[0]['body_hlink'] = "";
$company_type[0]['tr_color1'] = "";
$company_type[0]['tr_color2'] = "";
$company_type[0]['tr_color3'] = "";
$company_type[0]['tr_class1'] = "";
$company_type[0]['tr_class2'] = "";
$company_type[0]['tr_class3'] = "";
$company_type[0]['th_color1'] = "";
$company_type[0]['th_color2'] = "";
$company_type[0]['th_color3'] = "";
$company_type[0]['th_class1'] = "cellpic1.gif"; //不可变更的项目
$company_type[0]['th_class2'] = "cellpic3.gif"; //不可变更的项目
$company_type[0]['th_class3'] = "";
$company_type[0]['td_color1'] = "";
$company_type[0]['td_color2'] = "";
$company_type[0]['td_color3'] = "";
$company_type[0]['td_class1'] = "row1"; //不可变更的项目
$company_type[0]['td_class2'] = "row2"; //不可变更的项目
$company_type[0]['td_class3'] = "";
$company_type[0]['fontface1'] = "Verdana, Arial, Helvetica, sans-serif"; //预设系统字型1,可以忽略由CSS档桉控制,但这裡不能没有数值。
$company_type[0]['fontface2'] = "Trebuchet MS"; //预设系统字型2,可以忽略由CSS档桉控制,但这裡不能没有数值。
$company_type[0]['fontface3'] = "Courier, \'Courier New\', sans-serif"; //预设系统字型3,可以忽略由CSS档桉控制,但这裡不能没有数值。
$company_type[0]['fontsize1'] = "";
$company_type[0]['fontsize2'] = "";
$company_type[0]['fontsize3'] = "";
$company_type[0]['fontcolor1'] = "";
$company_type[0]['fontcolor2'] = "******"; // 自订版面管理员字体颜色
$company_type[0]['fontcolor3'] = "******"; // 自订系统管理员字体颜色
$company_type[0]['span_class1'] = "";
$company_type[0]['span_class2'] = "";
$company_type[0]['span_class3'] = "";
$company_type[0]['img_size_poll'] = "";
$company_type[0]['img_size_privmsg'] = "";
?>
上面控着的栏位就让他空着没关係,重要是版面与系统管理员的字体颜色,必须靠这裡才能统一改变。
当你尚未安装你设计好的风格时候,这隻theme_info.cfg是必须先有修改的资料,才能进行安装程序喔。
如果说你是想先安装好一个样板风格再去修改成引入式CSS,那麽也不必担心,事后修改CSS档与theme_info.cfg再由后台输出一次即可。
==================================================================================
其他说明:
在原有的subSilver内建CSS当中你会最后一行有一段
代码: 选择全部
/* Import the fancy styles for IE only (NS4.x doesn't use the @import function) */
@import url("templates/subSilver/formIE.css");
这是告诉你说,以下的CSS档桉是採引入式 formIE.css,这些效果仅支援IE浏览器,不支援NETSCAPE与MOZILLA或FIREFOX!
formIE.css这隻档桉内就是使用IE浏览器看PHPBB时候,按钮、捲轴等等之类的会有颜色与式样上的变化。
这些语法都不是标准版的CSS,是微软自己发明的怪语法。
目前想到的这些偶先写,日后想到有关CSS再补充吧,