Posts Tagged ‘firefox’

10 09 2009

-moz-inline-stack和-moz-inline-box的区别

bigCat Posted in CSS - 0 Comment

在Firefox2中有-moz-inline-stack和-moz-inline-box实现,但是这两个私有属性在某些情况下都会
有异常,具体如下:
1、display:-moz-inline-stack
“当它所应用的外包装器(wrapper)的display为inline的时候,它所包含的a或button将无法点击或
无法选取,需要通过position:relative还hack掉这个bug”--乌龙茶
2、display:-moz-inline-box
使用这一属性后,text-align就会出问题,必须使用Firefox的私有属性 -moz-box-align来解决
所以,建议不要使用-moz-inline-box,还是使用-moz-inline-stack

IE67设置inline-block会触发hasLayout但还是保持block的死相
这时候要继续*display:inline;就成为了真正的inline-block,hasLayout也不消失

7 09 2009

firefox 去掉 button 虚线框

bigCat Posted in CSS - 0 Comment

outline:none失效

私有属性
button::-moz-focus-inner { border: 0; }

js
onFocus='this.blur()'

傻逼才要去掉虚线框,那些键盘玩tab的人会死很惨

about:config in Firefox and set browser.display.focus_ring_width to 0. Then Firefox won't show any dotted borders at all.

The following bug explains the topic: https://bugzilla.mozilla.org/show_bug.cgi?id=74225

2 07 2009

浏览器 cookie 限制

bigCat Posted in NoteBook - 0 Comment

原文 http://www.planabc.net/2008/05/22/browser_cookie_restrictions/

一、浏览器允许每个域名所包含的 cookie 数:

  1. Microsoft 指出 Internet Explorer 8 增加 cookie 限制为每个域名 50 个,但 IE7 似乎也允许每个域名 50 个 cookie(《Update to Internet Explorer’s Cookie Jar》)。
  2. Firefox 每个域名 cookie 限制为 50 个。
  3. Opera 每个域名 cookie 限制为 30 个。
  4. Safari/WebKit 貌似没有 cookie 限制。但是如果 cookie 很多,则会使 header 大小超过服务器的处理的限制,会导致错误发生。

注:“每个域名 cookie 限制为 20 个”将不再正确!

二、当很多的 cookie 被设置,浏览器如何去响应。除 Safari(可以设置全部cookie,不管数量多少),有两个方法:

  1. 最少最近使用(least recently used (LRU))的方法:当 Cookie 已达到限额,自动踢除最老的 Cookie ,以使给最新的 Cookie 一些空间。 Internet Explorer 和 Opera 使用此方法。
  2. Firefox 很独特:虽然最后的设置的 Cookie 始终保留,但似乎随机决定哪些 cookie 被保留。似乎没有任何计划(建议:在 Firefox 中不要超过 Cookie 限制)。

三、不同浏览器间 cookie 总大小也不同:

  1. Firefox 和 Safari 允许 cookie 多达 4097 个字节, 包括名(name)、值(value)和等号。
  2. Opera 允许 cookie 多达 4096 个字节, 包括:名(name)、值(value)和等号。
  3. Internet Explorer 允许 cookie 多达 4095 个字节, 包括:名(name)、值(value)和等号。

注:多字节字符计算为两个字节。在所有浏览器中,任何 cookie 大小超过限制都被忽略,且永远不会被设置。

节选自:《Browser cookie restrictions》

7 01 2009

[搞定]xhtml1-strict.dtd下图片和div之间的莫名4px

bigCat Posted in CSS - 12 Comments

strict-img-div-space为了洁身自好,写页面都基于Strict.dtd
但遇到个奇怪的问题,不是IE的3px bug,而是Firefox和IE7/8浏览器通用的4px莫名间隔...(6居然正常)

如图所示
div里的img下面莫名多了4px

也不知道为什么会这样...
解决方法和解决IE3px bug一样

img {
	vertical-align:middle;
	display:block;
}

上面俩样式二选一即可

有高人解释否?

感谢soda同学的指点:
在firefox下确切的说是3.5px,可以用firebug查看一下computed style,Box Model的height属性相应的增加了3.5px.
vertical-align,font-size,line-height属于line-box布局元素的属性加载直接包含img的父容器上,都可以避免3.5px的出现.
同效,而将img的display属性设置为block是将ling-box布局的元素直接转换为block box布局的元素.
img在html中应该属于replaced element,所谓replaced element也就是说内容并不属于文档(document)的一部分,而是相应的会使用外部文件替换此节点,可能和这个有关系,没有深究,我再看看相关的文档.
考虑一下:
vertical-align:middle;font-size:0;line-height的值<=10时空白是不存在的.
变更一下font-size值或者line-height值,看一下box module的height变化,
firefox默认的font-size:16px;line-height:18px;
另外safari,opera出现的空白值为2px,chrome下没有空白.
可能和系统字体设置有关.也可能和渲染方式有关.

Host: (miao) | Word: Press | Code: bigCat | Valid: HTML5