作者: c君不在

  • text-overflow

    text-overflow:ellipsis 配合 overflow:hidden 可以用来实现字符串截断显示为更多的效果,而不用精确截字输出。

    text-overflow 的基本单值用法就连 IE6 都支持,所以是可以放心使用的。

    默认值是 clip,即简单地分割,可能会导致字符显示一半; 而 ellipsis 可以截字然后补上 ,效果更好。

    <style type="text/css" media="screen">
        #inner{border:1px solid #ccc;}
        #inner p{width:200px; white-space:nowrap; overflow:hidden;}
        #inner p.t1{text-overflow:clip;}
        #inner p.t2{text-overflow:ellipsis;}
    </style>
    
    <div id="inner">
        <p class="t1">text-overflow:clip  more text here</p>
        <p class="t2">text-overflow:ellipsis more text here</p>
        <p class="t1">text-overflow:clip  中文测试跟多更多</p>
        <p class="t2">text-overflow:ellipsis 中文测试更多更多</p>
    </div>
    

    结果如下:

    text-overflow:clip more text here

    text-overflow:ellipsis more text here

    text-overflow:clip 中文测试跟多更多

    text-overflow:ellipsis 中文测试更多更多

  • ie6样式中多class的bug

    IE6 有个多个 class 样式的 bug,具体表现为:当为一个元素连用 2 个及以上的 class 来匹配样式时(如:p.a.b),ie6 会识别为样式规则中最后一个 class 的定义(即:p.b)。

    这样一来,不但多 class 的样式不正确,还可能会覆盖掉原对应 class 的样式(如 .b 的样式)。

    下面截图最后一行有误,class 应为 “a c”

    ie6 multiple class bug

    上面截图最后一行有误,class 应为 “a c”

    Demo 页面

  • JavaScript生成指定范围内的随机数

    JavaScript 中,可以使用 Math.random() 来获得 [0, 1) 之间的随机数,但没有直接的获取一给定范围内的随机数,出于使用频率还算多,可以写成一个函数。

    // mod from: http://roshanbh.com.np/2008/09/get-random-number-range-two-numbers-javascript.html
    
    function randomToN(maxVal, floatVal) {
        var randVal = Math.random() * maxVal;
        return typeof floatVal === 'undefined' ?
            Math.floor(randVal) : randVal.toFixed(floatVal);
    }
    
    function randomXToY(minVal, maxVal, floatVal) {
        var randVal = minVal + Math.random() * (maxVal - minVal);
        return typeof randVal === 'undefined' ?
            Math.floor(randVal) : randVal.toFixed(floatVal);
    }
    
    // example usages:
    randomToN(50);           // => 35
    randomToN(50, 3);        // => 37.748
    randomXToY(30, 80);      // => 51
    randomXToY(30, 80, 2);   // => 68.36
    
  • wamp显示列目录icon

    因为一直都是修改 DocumentRootvirtualHost 来设定目录的,以为列目录时没有显示 icon 是因为没设好 icons 路径的原因,但在手动 alias 无效后才发觉原来不是这个的错。

    在一大堆的配置文件中查找了一下,在 conf/extra/httpd-autoindex.conf 文件中找到了 icons 的设定,默认是指向了如下的路径 C:/Dev/Projets/WampServer2-64b/install_files_wampserver2/bin/apache/Apache2.2.17/icons,这个目录在本系统中根本不存在,修复一下指向为 wamp 目录下的 icons 即可。

    Alias /icons/ "D:/Program Files/wamp/bin/apache/Apache2.2.17/icons/"
    
    <Directory "D:/Program Files/wamp/bin/apache/Apache2.2.17/icons">
        Options Indexes MultiViews
        AllowOverride None
        Order allow,deny
        Allow from all
    </Directory>
    
  • JavaScript 之 String.replace

    最简单的用法

    直接的用字符串替换字符串是最简单的用法,这种情况下将只会替换掉第一个匹配的字符串。

    var res = 'a1a2a3'.replace('a', 'b'); // => 'b1a2a3'
    

    使用正则来达到复杂的要求

    JavaScript 中正则的介绍可参照 MDN 的 RegExp

    // 把字符串的所有英文字符都去掉,不论大小写
    var pattern = /[a-z]/gi;
    var str = '1aBc2d3E4f5e';
    var res = str.replace(pattern, ''); // => '12345'
    

    (更多…)

  • 把JavaScript中的伪数组转换为真数组

    在 JavaScript 中, 函数中的隐藏变量 arguments 和用 getElementsByTagName 获得的元素集合(NodeList)都不是真正的数组,不能使用 push 等方法,在有这种需要的时候只能先转换为真正的数组。

    对于 arguments,可以使用 Array.prototype.slice.call(arguments); 来达到转换的目的,但对于 NodeList 则不行了,其在 IE8 及以下将会报错,只能说其 JS 引擎有所限制。

    因此,如果需要把 NodeList 转换为真正的数组,则需要做下兼容处理。

    function realArray(c) {
        try {
            return Array.prototype.slice.call(c);
        } catch (e) {
            var ret = [], i = 0, len = c.length;
            for (; i < len; i++) {
                ret[i] = (c[i]);
            }
            return ret;
        }
    }
    

    References

    1. javascript Array.prototype.slice使用说明
    2. Advanced Javascript: Objects, Arrays, and Array-Like objects
  • 短链公关

    李开复一条微博的链接无法访问会自动跳回到腾讯微博个人首页。

    此时方觉,短链除了节约带宽达到 140 字的目的外,还可以用作公关啊!对于负面影响的外链,不需粗暴删贴,只需腾讯等不解析该短链即可。

  • 以用户之名

    “用户觉得”、“用户不觉得”、“用户会”、“用户不会”……

    这样的话语听多了就挺无奈也挺郁闷的:用户来用户去的,谁才是用户?说话者是吗?如果是,不如直接说“我”;如果不是,为何大胆地说“用户觉得”?

  • Ubuntu下2个拾色器

    Ubuntu 下的使用中的 2 个拾色器工具,Gcolor2Gpick

    Gcolor2

    sudo apt-get install gcolor2
    

    Gcolor2 界面简单美观,只可惜取色的时候没有实时显示选取的地方和颜色,需要点击才能取色,对于细微地方的取色来说可能有点难度。

    Gcolor2
    (更多…)

  • 为gimp添加【保存为web格式】功能

    gimp 默认没有 Photoshop 中的 保存为web格式 的选项,这样发布出去的图片就太大了,可以通过安装插件的形式来达到这个目的。

    ubuntu 下 直接 apt-get 即可:

    sudo apt-get install gimp-plugin-registry
    

    这样在 gimp 的 File 菜单中即可看到 save for web 选项,打开后和 Photoshop 的界面大同小异。

    add save for web to gimp

    windows 下也可以安装,只是需要手动下载解压到 plugins 目录,具体可参照 How to Enable Photoshop Save For Web Feature in GIMP