Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Css 四个节点,宽度为25%don';你们不能挨着吗?_Css - Fatal编程技术网

Css 四个节点,宽度为25%don';你们不能挨着吗?

Css 四个节点,宽度为25%don';你们不能挨着吗?,css,Css,我有一个头节点,其中有四个子节点。 没有边框、填充或边距。 所有四个都有宽度:25%;css规则。 在Opera中效果很好,在IE中,最后一个区块有时会根据窗口的宽度翻转到下一行 我可以通过给一个区块24.8%的宽度来解决这个问题,但Opera将其解释为24%,因此在区块末端留下了1%的巨大空白 我怎样才能解决这个问题?最后一个块丢失右边的一个像素是可以的。您可能需要根据浏览器加载不同的样式表。您可以使用页眉中的一些JavaScript来实现这一点。这取决于使用的舍入算法。如果你有一个可以被4整

我有一个头节点,其中有四个子节点。 没有边框、填充或边距。 所有四个都有宽度:25%;css规则。 在Opera中效果很好,在IE中,最后一个区块有时会根据窗口的宽度翻转到下一行

我可以通过给一个区块24.8%的宽度来解决这个问题,但Opera将其解释为24%,因此在区块末端留下了1%的巨大空白


我怎样才能解决这个问题?最后一个块丢失右边的一个像素是可以的。

您可能需要根据浏览器加载不同的样式表。您可以使用页眉中的一些JavaScript来实现这一点。

这取决于使用的舍入算法。如果你有一个可以被4整除的像素数,那么你就不会有问题,因为没有取整问题。如果你没有,那么有时候你会有太多的像素,因为宽度被四舍五入了

total width: 800 25% width: 200 four 25% blocks: 800 总宽度:800 25%宽度:200 四个25%区块:800 总宽度:799 25%宽度:199.75 四个并排块:796或800 800宽的窗口与799宽的窗口的对比将下降。

不幸的是,这是CSS世界中一个众所周知的问题。问题很可能是这些匹配的100%像素等价物是奇数,因此在计算像素时存在舍入误差

通常我通过使用IE特定的选择器来解决这个问题。Rob建议使用特定于浏览器的样式表,但我总是发现这种行为很难维护,而且需要从浏览器加载额外的HTTP。我也讨厌CSS黑客,但你可以在声明正确的宽度(例如宽度:25%;#宽度:24.9%)后尝试著名的#宽度:24.9%。如果IE能在将来的版本中修复这个漏洞,希望它也能解决取整问题


另外,如果您知道父元素的像素宽度,您可以确保它可以被4整除。但是,如果这是一个流动的布局,那就不是一个选项。

我发现一个悲哀的趋势是,网站开始需要JS来处理琐碎的事情。不过,我可以有条件地加载它们而不使用JS。这确实是一个解决办法。不是最好的,但可以作为最后的手段。百分比的整个概念是流动的布局。所以限制我的宽度会使百分比变得多余。谢谢,我确实找到了一些记录这个问题的材料。而且似乎还没有真正的解决办法:此外,Opera忽略分数百分比的事实使它更加困难。我喜欢我的歌剧,但这真的很糟糕。 total width: 799 25% width: 199.75 four side-by-side blocks: either 796 or 800