2010-08-14 88 views
0

我希望这不是我的CSS样式有冲突的地方,但我的网页(http://www.marioplanet.com/product.htm)我想一个CSS规则适用于所有图像与类的FancyBox从的25%缩水他们他们的原始大小。CSS图像百分比表现wildy

现在,我听说这可能只是适用于包含表单元格,所以请告诉我,如果是这样的话。另外,如果以上情况属实,那么我是否可以用普通的CSS和HTML来做到这一点,而不需要JavaScript?

谢谢!

回答

0

简单宽度:75%;是不够的?

.fancybox宽度:75%; }

3

不幸的是,width:25%;会导致宽度为容器大小的四分之一,而不是原始元素大小。

我认为,最好的选择是决定你想要的大小,并以像素为单位提供它们。

+0

我不这样做的唯一原因是因为它将由ASP供电,所以我想要一个解决方案而不必为所有图像调整它。 – Qcom 2010-08-14 23:21:09

+1

同意......在你的布局中任何地方都有%s永远是狡猾的。如果您知道容器的大小,您应该知道/计算出图像的大小并对其进行硬编码。 – 2010-08-14 23:23:36

+1

@BOSS当然,但如果ASP返回的图像可以具有任意大小,则可能会让布局变得非常糟糕。 (想象一下,如果每个SO用户都可以拥有任意大小的图标:它看起来不会很好,对吧?)所以,通常你必须限制大小。 – 2010-08-14 23:26:28

1

如果以百分比指定宽度,则将根据父元素的宽度计算此宽度,此处为<td/>。所以你的结果是相当期待

现在,如果你想要的大小图像到25%,你有两种方法可以做到这一点:

  • 获得服务器端的宽度,除以4,并设置在HTML中。这是一个简单但非常糟糕的解决方案(详见下文)。
  • 将服务器端上的图像缩放为¼,然后发送调整大小的图像,从而调整图像大小。

第二个解决方案要好得多,因为没有理由让用户等待四倍看到图像(和花费带宽和服务器性能)。顺便说一下,由于您将存储缩放的图像,因此调整大小的服务器不会过热。