2015年9月

摘自:http://html-js.com/article/Mysterious-CSS-can-be-maintained-CSS%203166

执笔的蜗牛 发布在神秘的css2015年9月17日view:653
举一个栗子,通常在一个web里面,按钮总是多样化的,比如白色的取消按钮、橙色的提交按钮和各种大小的其他按钮,又或者后期需要改变的维护。
1.png
enter image description here

下面的一段css是实现上面“i am button”按钮的样式

button{
padding:6px 16px;
border:1px solid #446d88;
background:#58a;
box-shadow:0 1px 5px gray;
color:#000;font-size:20px;
line-height:30px;
}
现在上面的字体大小和字体的行高都为绝对值,倘若想要字体大小为30px按钮,而整个按钮看起来要与原来的一样,只是变大了一点,那么为了实现第二个按钮,我添加了一下的代码:

.button-big{
padding:9px 24px;
box-shadow:0 2px 7px gray;
font-size:30px;
line-height:45px;
}
2.png
enter image description here

在实现这个按钮之前,被做了不少的计算,同时css里面产生了四行代码,如果还加上不同颜色的按钮,以此类推,- 。-!彻底奔溃了。

所以,我们要有一个更好的方法。

既然是想整个按钮变大,那么字体行高就一定有相联的关系,字体的大小和行高我们可以用以下的写法

font-size:125%; /默认字体为16px=100%/
line-height:1.5;
是的,不仅仅是行高,padding、box-shadow都有着关联,而可以border保持不变。那么,就可以想到一个相对的长度单位—em。这个按钮整体css如下:

button{
padding:.3em .8em;
border:1px solid #446d88;
background:#58a;
box-shadow:0 .05em .25em gray;
color:#000;
font-size:125%;
line-height:1.5;
}
1.png
enter image description here

这个按钮跟本文第一个按钮是一致的,根据需求,需要把按钮变大,那么我们只需添加以下的代码,即可。

.button-big{font-size:180%;}
2.png
enter image description here

由此可看出,css代码可维护性的重要性。

于是,我们在开发前,需要思考,以便以后不仅是在维护上还是二次开发,都有很大帮助。

就以按钮这个常见的例子来说,按钮的大小里面包括字体的大小、按钮的长宽、按钮的边框大小,按钮的颜色包括按钮的字体颜色、边框颜色、背景颜色等等。而前面提到的也是我们最常改变的属性。常常,在改变的过程中,我们需要以更快的速度、更少的重复代码来实现效果,这样才能更高效的创造价值。

下载的版本是Feng Office 3.3.0.4,在SF上下载的,在github下载的版本安装失败只能在SF下载来玩汉化。

FengOffice的公共工具/public/tools里汉化,发现无法对workspaces和mail和core_dimensions进行汉化。

进入plugins目录,分别进入workspaces、mail、core_dimensions三个目录对应的language中,从en_us目录下的lang.php文件获取内容,粘贴至zh_cn目录下的lang.php文件,即可在/public/tools中进行汉化翻译了。

记录如下,方便自己:

1、winscp登陆阿里云服务器后按ctrl+p在putty输入密码;
2、用git clone git@github.com:fengoffice/fengoffice.git 将fengoffice源码clone到阿里云服务器的目录;
3、用mv fengoffice/空格.(这里命令是mv空格fengoffice/星号空格.小数点),注意不能用mv fengoffice/.*空格.哦,星号.星号这个是mv文件,其他文件夹不会mv到提一层目录。
4、再用git reset --hard HEAD 重置一下git的hard HEAD头以后都能直接git clone源码回来当前目录了。
5、安装fengoffice需要给4个文件夹赋www [1001]权限(总之不能仅仅是root权限):在winscp中右键选中config文件夹然后粘贴www [1001]到组,粘贴www [1001]到所有者。即可。

参考了:http://www.oschina.net/question/54100_167919

如果我们往一个非空的目录下 clone git 项目,就会提示错误信息:

fatal: destination path '.' already exists and is not an empty directory.

解决的办法是:

  1. 进入非空目录,假设是 /workdir/proj1
  2. git clone --no-checkout https://git.oschina.net/NextApp/platform.git tmp
  3. mv tmp/.git . #将 tmp 目录下的 .git 目录移到当前目录
  4. rmdir tmp
  5. git reset --hard HEAD

然后就可以进行各种正常操作了。