当前位置: 首页 > 图文教程 > 网页制作 > CSS样式表 > 百分比的细节--容器大小篇

CSS样式表
CSS优先级规则的细节
CSS失效,原来是和网页第一段代码有关
你真的了解CSS吗?你是属于哪个层次?
让样式表CSS代码更加专业规范
建议网页设计师用CSS制作网站导航菜单
简单学习css组合与CSS嵌套的写法
CSS学习之css代码的简写的十条规则
条件CSS的介绍
CSS教程:网页中多个样式表顺序问题
CSS教程:网页版面设计无效的10个原因
页面重构工程师应该具有的技能和素质
选择正确DOCTYPE解决CSS在网页失效问题
Opera中国的WEB标准课程
简单介绍Web Developer插件制作网页
CSS布局带来的巨大影响:CSS display属性值
用div css模拟表格对角线
IE Firefox在css中的差别 (部分)
不用js可以实现信息提示效果
CSS解决未知高度的垂直水平居中自适应问题
CSS cursor 属性 -- 鼠标指针样式效果

CSS样式表 中的 百分比的细节--容器大小篇


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 139 ::
收藏到网摘: n/a

因为屏幕能显示的最小单位是1px,对于像773*50%=386.5这样带数字的长度必须有所取舍。
测试页面,一些浏览器的截图标宽度也在里面
IE:按四舍五入的方式计算。
Firefox:计算后的值忽略小数部分,但会把多出的长度分配给里面的各元素。 如果只多出1px,比如2*386=772,剩下的1px会到其中一个元素,优先分配第一个元素,像773px分配给两个50%时得到的是:387px和386px,分配给四个25%时得到的是:194px、193px、193px和193px; 而对于多出几个px,如773*33.3%=257.409,773*33.33%=257.6409,由于忽略掉的小数不一样,分配的原则也不一样,找不到相关资料,以下是我的猜想,三个元素的,按四舍五入的方式分配,四舍的优先分配给两边,五入的优先分配给前边两个,对于分配给三个元素以上的,多出部分自由分配,我找不到规律,但第一个一定会分配到。
FF还有一些奇怪的地方。Firefix测试页面。1024宽度不会自动分配,也许是因为外层也是带小数的,导致1px没分配,接着测试Firefox
Opera & Safari2:计算时忽略百分比的小数部分,计算后的值忽略小数部分,如果里面的元素大于计算后的宽度不会导致后面的元素换行。
Netscape & Mozilla:计算后忽略小数,多出部分有点类似Firefox,但多出部分是比透明显示,而且比较奇怪,比如33.33%*3=99.99% 小于100%,但却大于100%,奇怪的浏览器,还好使用的人不多,不用过于在意这两个浏览器。
测试没完成,有兴趣的朋友帮忙测试,单独的测试页,有知道原因的朋友讲一下下