2010-08-14 89 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中。這是一個簡單但非常糟糕的解決方案(詳見下文)。
  • 將服務器端上的圖像縮放爲¼,然後發送調整大小的圖像,從而調整圖像大小。

第二個解決方案要好得多,因爲沒有理由讓用戶等待四倍看到圖像(和花費帶寬和服務器性能)。順便說一下,由於您將存儲縮放的圖像,因此調整大小的服務器不會過熱。