• 烦恼

    2006-06-25

    好久没更新BLOG了,也许是懒了,问题越来越多,像浮动、菜单、导行……之类的,总觉得应该可以更优化的。

    看着自己写的代码,垃圾一般,本想写得容易复用,可结果却变得更难阅读,真想买块豆腐撞死算了。

    做交互设计好呢?还是做页面制作好呢?鱼与熊掌不可兼得,选择总是让人烦恼啊……

  • 现在很多人都用CSS制作导行菜单,像使用“滑动门技术”之类的方法,但都是使用了无序列表ul标签,其实HTML的标签里还有专门为菜单而设计的标签menu标签。 用法很简单,就像使用ul一样,只是把ul标签换成了menu标签,像这样: -----------------------------HTML---------------------------------
  • 菜单项1
  • 菜单项2
  • 菜单项3
  • 菜单项4
  • --------------------------------------------------------------------- 而样式的写法也跟原来的差不多,只是把对ul标签的定义改成对menu标签就行。 注:menu标签不是标准推荐的标签!!
  • 在IE中定义height时,如果值小于18px的默认行高时,得到的结果总是18px的高,这是个已经困扰了很多人的问题,这里我总结了相关的解决方法,希望能对你有所帮助吧。

    一,使用overflow:hidden隐藏多出的部分。这个方法被大部分人所使用,效果还是不错的。

    ---------------------------CSS----------------------------------
    .E{height:10px;overflow:hidden;}
    ------------------------------------------------------------------

    二,使用小于12px的字号来强制IE改变默认的行高,同样可以实现效果,但在做CSS检查时会出现“字号太小”的警告。

    ---------------------------CSS----------------------------------
    .E{height:10px;font-size:1px;}
    ------------------------------------------------------------------

    三,定义小行高来实现效果。个人觉得这种方法更方便使用,而且不会有警告,推荐使用。

    ---------------------------CSS----------------------------------
    .E{height:10px;line-height:1px;}
    ------------------------------------------------------------------

    不要奇怪定义那么小,有文字怎么办,因为一般会用这么小的高,都是不会再加文字的,如果非要加,那就用第二种方法吧,相信也没人会看到你写了什么。

    注意:如果你想让宽度也小于默认值的话,就得使用定义小字号的方法了。

  • 长久以来,一直习惯了在命名CSS样式名时使用下划线“_”做为单词的分隔符,这也是在写JS时惯用的写法。

    用过CSS hack的朋友应该知道,用下划线命名也是一种hack,如使用“_style”这样的命名,可以让IE外的大部分浏览器忽略这个样式的定义,所以使用“_”做为命名时的分隔符是不规范的。在做CSS检查时会出现错误提示。

    为此得找一个能代替下划线而又合规范的符号,当然不是一定要用这种分隔符之类的,只是个人习惯问题。

    做了个小测试,将下划线分别用了“~”、“$”、“`”、“&”和“-”去代替,结果只有“-”号是可以使用的,而且对JS的支持也正常,看下测试:

    -------------------------------CSS---------------------------------
     .try-a{ color:#00f; }
     .try~a{ color:#00f; }
     .try`a{ color:#00f; }
     .try&a{ color:#00f; }
     .try$a{ color:#00f; }
     
     .try-b{ color:#f00; }
     .try~b{ color:#f00; }
     .try`b{ color:#f00; }
     .try&b{ color:#f00; }
     .try$b{ color:#f00; }
    ----------------------------------------------------------------------

    -----------------------------HTML----------------------------------
    <div id="a" class="try-a">try1</div>
    <div id="b" class="try~a">try2</div>
    <div id="c" class="try`a">try3</div>
    <div id="d" class="try&a">try4</div>
    <div id="e" class="try$a">try5</div>

    <input type="button" value="ok" onclick="b();" />
    ----------------------------------------------------------------------

    ---------------------------------JS----------------------------------
    function b(){
      document.getElementById("a").className="try-b";
      document.getElementById("b").className="try~b";
      document.getElementById("c").className="try`b";
      document.getElementById("d").className="try&b";
      document.getElementById("e").className="try$b";
     }
    ----------------------------------------------------------------------

    结果是“try1”变成了红色,显示正常。不过在CSS定义里,经常会用到ID选择符,如果在页面中的ID命名中使用了“_”,就免不了在CSS样式里出现下划线“_”了,所以在此还得注意在ID的命名上也要避免使用下划线。

    注:由于在JS脚本里有时会用到document.idName这样的调用,如果ID中使用“-”号的话会被解释成是减的操作,所以使用ID选择符时不在此建议范围,当然在写样式的时候,也不建议过多的使用ID选择符。

  • 暂住证

    2006-06-06

    今天收到通知,说要办暂住证,想起新东方的“老罗”说过,他是绝不办暂住证的,因为他不愿在自己的家里还要办个暂住什么的……

    虽然我也有同样的感慨,无耐自己太“渺小”了,自定义能力有限,只能inhert外来的框框条条~