主题:《精通CSS》读书笔记(二)
时间: 2020-08-27来源:ITEYE
前景提要
相关推荐: 关于翻译《CSS - The Missing Manual》术语表的讨论与建议 AlertBox 弹出层(信息提示框)效果 花瓣网方砖布局 图片内容无限加载 用户体验才是王道 《精通CSS》读书笔记(二) 《精通CSS》读书笔记2 《精通CSS》读书笔记(三) 《精通CSS》读书笔记(七) 《精通CSS》读书笔记(一)
推荐群组: Hadoop
更多相关推荐
CSS 续上篇 。第2章 box model译作“框模型”,我是始作俑者(大约在2003年,在opendl.com的w3c翻译讨论区中提出)。绝大多数是译作“盒模型”。当然据说之前就有人译为“框模型”,但是至少本书的译者估计或多或少受到了我的影响。因为 刘江说译者认为“盒”有3D的意思 ,而这是我在opendl论坛提出的论点。当然不能排除译者与当时的我正好有相同想法的可能。不过我后来觉得“框模型”也有点问题。在Zen of CSS Design(也已购买,等待读完本书后继续)的译者的论坛上,我 留言 到:
引用
“方框模型”或“框模型”很久以前提过,只是因为感到“盒模型”不够好(有三维意思),但是“方框模型”也未必见得就好。不知有什么更好的译名。……为什么“框模型”更贴切? 虽然我也是最早将其列为候选的(之一),但是我还真没有觉得“框模型”就更贴切也。。。“框模型”的主要问题是强调了框,加上border(边框),就有点乱了。“盒模型”的主要问题就是盒子是3d的。。。 不过好玩的是,Zen的译者认为“框模型”比“盒模型”好,但是实际上用了“盒模型”。 要问我现在我觉得怎么翻译box model好?我也说不上。 首先把box译作“框”是ok的,例如TextBox文本框,radiobox单选框,checkbox复选框,MsgBox消息框。但是“框模型”,容易与“边框”混淆,而且给人感觉重点在框(边界)上。 “盒模型”主要是有三维空间的感觉,但是“盒”有容器的意味,可以表达 “方块套方块”的境界 。其实有时候我想,是不是大白话的“方块模型”才是最好的? 关于IE/Win的box问题,本章给出的建议是“回避”,等待到第9章。但是这里没有说明,回避其实是有坏处的,因为将padding和margin加到父元素或子元素,很有可能会引入额外的无意义标签,或者破坏样式本身的自明性。 记录IE的bug:相对定位元素内若向右下进行绝对定位,需要设定相对定位元素的高宽。 在IE中模拟fixed定位,本书举了Jonathan Snook的网站作为例子,遗憾的是,他的网站已经改过版了,找不到fixed了。我原来以为首页上方的黑边是fixed的,但是一看,原来是border而已。 IE对于fixed定位有个很大的错误,我不是说不支持fixed就不对,但是既然其接受fixed作为合法参数,就不应把其当成static来处理,至少应当作absolute处理,这样可以graceful degradation。 模拟fixed的一个办法是使用脚本改变元素的绝对定位坐标,但是通常会导致抖动。实际上有两个小技巧可以模拟出不抖动的fixed。一个是使用css expression配合background-attachment:fixed。另一个(偶自行发现的)方法是使用ie的standard mode,然后html元素overflow:hidden,而body元素overflow:auto,这样body上绝对定位的元素在外层没有定位元素的情况下,会始终相对于html元素定位,从而达到和fixed定位一样的效果。这一方法是我在试图解决standard mode下scrollbar抢夺焦点的Bug(IE7似乎仍有这个bug)时偶然发现的。 关于containing block如何包围float元素(似乎有很多人以为这是FF的bug),需要额外的空元素来clear。为了避免引入无意义的标签,使用::after是个好方法,类似的,也许也可以用:last-child伪类,不过这两种方法无法用在IE上。但是IE可以用Holly hack,实际上就是让containing block获得hasLayout。 待 续 ...

科技资讯:

科技学院:

科技百科:

科技书籍:

网站大全:

软件大全:

热门排行