無標題文檔

移动版本的 Apache + PHP

懒得每次去配置和安装 Apache 以及 PHP 环境了,所以花了点时间整合了下。除去了不必要的扩展,整个安装包仅剩下 4.8MB 大小。

https://friable.rocks/_/2008_08_21/1219290644.png

压缩包整合了 Apache2.2 以及 PHP 5.26 + xdebug 。顺便目录结构说明一下,如上图。配置文件统一放到了 conf 目录下,包括 httpd.conf 以及 php.ini ;Apache 的扩展在 modules 下面,PHP 的扩展在 exts 下,可以自行从原始包中解压缩相应的组件并扩展。

运行相应的 bat 文件就可以添加或者删除系统服务,如果只是移动版本的运行,则直接运行 httpd.exe 即可。Apache 的 DocumentRoot 为 htdocs (里面有个 phpinfo.php,用处不用说了)。

最后, ZIP 压缩包下载 ,希望文件名没有雷到你。

逗号「,」引发的血案

为了更好的说明问题,首先引出下面的题目

//请说明下面变量 a-d 的值
var a = [[1][1]];
var b = [['a','b','c'][1]];
var c = [['a','b','c'][1], ['a','b','c']];
var d = [['a','b','c']['length'], ['a','b','c']];
var e = [['a','b','c']['father', 'child', '0'], ['a','b','c']];

首先理解表达式

var a = [[1][1]];

的含义。我们可以将这个语句拆分下

var tmp = [1];
var a = [tmp[1]];

就能非常好的理解,实际上 a 中的数组元素取得是 tmp[1] ,它并没有定义,所以值为 undefined 。那么

var b = [['a','b','c'][1]];

就很容易理解为 ['b'] ,因为数组紧跟的后面是下标表达式。同时,数组也是个对象,它有相应的属性值,并且可以使用关联数组表示,于是

['a','b','c']['length']

的含义就是

var tmp = ['a','b','c'];
console.info(tmp.length);

取的是 ['a','b','c'] 的长度,所以是 3 。而

['a','b','c']['father', 'child', '0']

后面的 ['father', 'child', '0'] 实质上是表达式,而不是数组。所以简化以后就是

['a','b','c']['0']

那么返回的就是 ['a'] 。这就让我们需要在实际的编码过程中,需要注意数组中的逗号「,」是否已经正确的加上,否则就会得到非期望的结果。

几条经典的 CSS Tips

MacJi 「偷懒」翻译了部分 ,下午冒着被 BOSS 开除的危险将其补完( 原文链接 )。

使用 line-height 垂直居中

line-height:24px;

使用固定宽度的容器并且需要一行垂直居中时,使用 line-height 即可(高度与父层容器一致),更多的垂直居中总结可以 看这里

清除容器浮动

#main {
    overflow:hidden;
}

期前也提到过这样的问题 ,更多信息可以看 这里

不让链接折行

a {
    white-space:nowrap;
}

上面的设定就能避免链接折行,不过个人建议长链接会有相应的这行(有关换行方面的讨论, 参看圆心的记录 )。

始终让 Firefox 显示滚动条

html {
    overflow:-moz-scrollbars-vertical;
}

更多的 Mozilla/Firefox 私有 CSS 属性可以 参考这里 。需跨浏览器的支持,也可以使用

body, html {
    min-height:101%;
}

使块元素水平居中

margin:0 auto;

其实就是

margin-left: auto;
margin-right: auto;

这个技巧基本上所有的 CSS 教科书都会有说明,别忘记给它加上个宽度。Exploer 下也可以使用

body{
    text-align: center;
}

然后定义内层容器

text-align: left;

恢复。

隐藏 Exploer textarea 的滚动条

textarea {
    overflow:auto;
}

Exploer 默认情况下 textarea 会有垂直滚动条(不要问我为什么)。

设置打印分页

h2 {
    page-break-before:always;
}

page-break-before 属性能设置打印网页时的分页。

删除链接上的虚线框

a:active, a:focus {
    outline:none;
}

Firefox 默认会在链接获得焦点(或者点击时)加上条虚线框,使用上面的属性可以删除。

最简单的 CSS 重置

* {
   margin: 0; padding: 0
}

如果想「复杂」,参考 YUI 的做法 (还有 这里 )。原文留言中也有用户说了他们的观点

I have to agree with Niall Doherty, * {margin: 0px; padding: 0px;}
basically means "traverse every css element and give it these 
attributes". That is a very unnecessary strain on the server and 
a bad semantic practice, as you have to give some elements 
padding/margin again, after stripping them.

我的照片

嗨!我叫「明城」,八零后、码农、宁波佬,现居杭州。除了这里,同时也欢迎您关注我的 GitHubTwitterInstagram 等。

这个 Blog 原先的名字叫 Gracecode.com 、现在叫 「無標題文檔」 。 要知道作为码农取名是件很难的事情,所以不想在取名这事情上太费心思。

作为八零后,自认为还仅存点点可能不怎么被理解的幽默感,以及对平淡生活的追求和向往。 为了避免不必要的麻烦,声明本站所输出的内容以及观点仅代表个人,不代表自己所服务公司或组织的任何立场。

如果您想联系我,可以发我邮件 `echo bWluZ2NoZW5nQG91dGxvb2suY29tCg== | base64 -d`

分类

搜索

文章