CSSASSCSSASSCSSASS

三人行必有我师焉,择其善者而从之,其不善者而改之
三人行必有我师焉,择其善者而从之,其不善者而改之
三人行必有我师焉,择其善者而从之,其不善者而改之
三人行必有我师焉,择其善者而从之,其不善者而改之
三人行必有我师焉,择其善者而从之,其不善者而改之

未知高度元素的垂直居中(js实现)

作者:ONEBOYS    发表时间: 2009年04月28号,星期二     阅读:703 次

未知高度(即高度不确定)元素的垂直居中,虽说这个布局的实际应用不是很多,但在网上讨论的却很多,而且往往联系到某公司的招聘题。
之前有收集过几个纯CSS的做法:点这里
不过,当然没有用Js来做的简单明了啦。

上面的垂直居中,是相对于整个屏幕来说的。如果是在某个div中垂直居中,方法也一样,稍微修改下就可以了。

搭建pligg的注意事项和几个程序修改

作者:ONEBOYS    发表时间: 2009年04月28号,星期二     阅读:637 次

      新弄了一个digg类站:cssass的分享
      digg类程序以前有玩过国产的wodig,那是在其第三季的时候,那时bug很多,自己还给官方贡献过几个bug修改方法呢。弄了一段时间后,就被遗弃了。
      事隔一年有余,又想起digg类程序的好处来:聚合,分享,内容为王,民主推荐。
这回则找了几个国外程序来玩。首先是找了PHPDug,这个在一年前是和wodig做过对比选择的,当时还是0.7版,这个程序功能很简单,就是这个原因当时就选择了wodig,同样因为这个原因现在我拿他做首选。可惜,安装在服务器上却无法工作。(所谓的服务器,只虚拟主机耳。相信是主机系统之过也。)
      首选遭毙,第二选乃是据说有“digg类中的wordpress”之称的pligg。
     不过,也是问题重重,特别是对于我们中文环境下。
阅读这个条目剩下部分 »

HTML的dir属性和<bdo>标签及其他一些CSS文字排版属性、滤镜

作者:ONEBOYS    发表时间: 2009年04月14号,星期二     阅读:1,148 次

先看一下HTML4.0中定义的dir属性.对应有两个值ltr(默认值)和rlt。分别表示文本从左向右显示(dir=ltr)和文本从右向左显示(dir=rtl)。
文本从右向左显示的情况(dir=rtl)是考虑到一些特殊的文字书写方式(如古中文,希伯来文——但是我们古中文可不止是从右到左,还是从上到下书写的呢)。
先看一下Test

从这里看,觉得这和css的属性text-align:right,或则HTML中不推荐使用的属性align=right并没有什么区别啊。

这是因为受到了“各种用于语言编码的和显示的Unicode和ISO标准”的影响。整段文落都当成一个不可分割的整体了(不管是什么文字的)。
象数字和一些符号就能按空格分隔反排,体现出“从右向左”的显示:

除此之外,这个属性还能在ie下改变滚动条的位置,你见过滚动条显示在滚动内容的左侧的吗?
用ie看看下面的效果吧:

综上也可以看出,dir这个属性其实并不怎么好用。幸好我们也基本用不上这个属性。
要用我们也最好结合<bdo>这个标签来使用。

<bdo>标签必须要带dir属性一起使用。他产生的效果就不论是什么文字字母符号,都以单个字符为单位,颠倒顺序,从右往左显示(我们可以称为“反排效果”),很彻底啊,我们可以看到,连连续书写的英文字母都被反写了。

现如今web标准化的春风吹遍大江南北,我们也要与时俱进,贯彻落实结构和表现分离的思想方针,加快发展可扩展性良好的web建设。
所以,除了语义化的结构外,我们还推荐将结构之外的表现用CSS属性来实现。
前面提到的html属性dir和<bdo>标签所能达到的反排效果,我们也可以使用两个CSS标准属性来实现。
第一个CSS属性:direction : ltr | rtl | inherit ——效果对应HTML属性dir。
第二个CSS属性:unicode-bidi : normal | bidi-override | embed——其中的bidi-override属性值效果对应<bdo>标签。

之前我们还说道古中文的写法并非只是单单的从右往左书写,同时也是由上往下书写的。那么有没有html属性或css属性能达到这个效果(可以称作文字竖排效果吧)呢?
css属性倒的确有,还不止一个。但很遗憾,都只是MS的推荐属性,并非W3C的标准属性。所以只有IE系列(ie5.5+)浏览器支持。
这两个属性分别是:
writing-mode : lr-tb | tb-rl ;
layout-flow : horizontal | vertical-ideographic ;

稍微演示一下

个人觉得这两个属性,几乎没什么差别。。。
另外,当其高度不设定时。如何自适应的高度,很是令人迷惑。

再提一个不标准的东西——镜像翻转滤镜——只做了解,不建议使用。
前面我们有一个文字反排效果,那是排版上的。而使用这个滤镜呢,不单是排版上反过来了。连文字的显示都反过来了(镜像翻转效果)。——当然只支持ie系列(ie4+)。
滤镜有两个,一个是水平翻转滤镜:fliph。一个事垂直翻转滤镜flipv。
注:使用这个滤镜需要触发haslayout.

提到这个翻转镜像效果,倒想起了自己之前的一个娱乐之作:重型7级absolute单层1像素真实web2.0渐变风格倒影字效果(全兼容)

文章到这里,我们已经提到了关于页面,文字排版相关的html属性,html标签,CSS属性以及CSS滤镜。除此之外,可以改变文字排版方式(文字反排)的还有一个RLO符。
请看:

这个RLO符的unicode编码是:202E 。字符实体编号是:8238
可以参考这篇后文:JS实现字符unicode编码信息查询

最后,我们还要提一个由字体产生的文字侧倒的效果。
运行下如下代码:

这个相信一些修改过QQ聊天字体的童鞋们也发现过,选择QQ聊天字体里这类前面带@符的字体就能打出侧倒的文字。
不过,这浏览器下显示,会有一些差异。比如FF下不支持,(我的)safari下不支持@宋体。
另外,还有些人反映自己的自己上根本没有效果。

如何避开麻烦的margin叠加(margin collapsing)

作者:ONEBOYS    发表时间: 2009年03月21号,星期六     阅读:1,272 次

斯芬克斯——ie私有属性haslayout这篇文章中,我们提到的第一个斯芬克斯之迷,其实就是一个margin叠加问题。
关于margin collapsing,在W3C中是有明文规范的,符合其规则的都将产生margin collapsing。W3C认为margin叠加后的布局界面更良好。

margin collapsing(css2.1规范)
margin collapsing(css2规范)

margin叠加现象(父子级别):

可以看出wrap未被子层的margin所撑开。

但是,这种margin叠加往往不是我们所想要的效果(一些人甚至将此称为一个bug:margin叠加bug,也有称高度不适应bug的)——平心而论,我们努力的要避开margin collapsing多少也有些违背了W3C的初衷。不过,由于ie下经常有意无意的会触发haslayout,从而会避开margin叠加,这使得浏览器间显示不一。因此,我们还是有理由在适当时候彻底避开margin叠加的。

那么,如何避免这种margin叠加现象呢?
阅读这个条目剩下部分 »