为什么保证金:2.5px不起作用?如何解决这个问题呢

时间:2010-02-14 17:47:03

标签: css xhtml internet-explorer-6 cross-browser

为什么margin:2.5px不起作用?在我的代码中的一种情况下,我想在IE6条件CSS中给出margin:2.5px来解决IE双边距,我的默认css有margin:5px,但在IE6中css margin:2.5pxmargin:2px创建保证金相同。然后如何在两个浏览器上获得相同的margin

这是默认屏幕CSS的代码

    #newsHeadline LI 
{font-weight: bold; 
list-style-position: inside; 
font-size: 13px;
margin: 5px 0px;
width: 320px; 
line-height:
normal; list-style-type: disc; 
position: relative}

这是有条件的css代码我在写#newsHeadline LI {margin: 2.5px 0px}

编辑:15 feb

如果保证金:2.5px不起作用那么如何在浏览器IE和FF中获得相同的保证金?还有其他办法吗?

7 个答案:

答案 0 :(得分:9)

虽然很多人都认为像素是不可分割的,因此分数像素值没有意义,CSS standard实际上并不排除小数值。实际上,它表明当使用高分辨率设备时,CSS像素单元应该映射到更多数量的设备特定元素。因此,我的阅读2.5px不应该显式错误,只是因为您可能无法依赖它来做一些有用的事情,特别是,我可能会说,在Internet Explorer中。 / p>

答案 1 :(得分:2)

因为px是可能的最小单位。你真的不能分开one display point,你呢?

编辑:针对您的问题,如果没有背景干扰(即不同的颜色),您可以尝试设置padding而不是IE6的保证金。

答案 2 :(得分:2)

您始终可以将框设置为display: inline,但这并不总是您想要的。双边距影响块级元素。

正如@Andrew Moore所指出的,如果你在主样式表中使用它,它将不会是未来的证据,并且应该包含在IE6样式表中。感谢。

此外,在某些情况下,您可以使用填充而不是边距,因为填充不会加倍。但是,填充会影响布局和框模型的不同属性。

答案 3 :(得分:2)

关于像素的不可分割性:现代浏览器中的缩放功能出现了“逻辑像素”的概念。足够聪明的缩放实现可以并且应该使用小数像素......

答案 4 :(得分:0)

你可能只需要修鱼

<ul
><li>content 1</li
><li>content 2</li
></ul>

记住每个ul / ol或li之间没有空格

答案 5 :(得分:-1)

像素是屏幕上显示的最小单位。由于无法显示任何较小的内容,因此无法在屏幕上的小数像素位置放置项目。

答案 6 :(得分:-1)

  

为什么保证金:2.5px不起作用?

正如其他人已经指出的那样,根据定义,像素是最小的单位,因此根据定义不能进一步划分。

  

然后如何在两个浏览器上获得相同的保证金?

通常的解决方法是在相关元素上设置display: inline;。事实上,如果你愿意,有些人建议只对所有浮点数应用内联修复,确保修复只适用于IE5和IE6(例如通过使用条件注释),因为这些浏览器中没有已知的副作用。