2015-04-02 225 views
3

我使用.SVG我在Adobe Illustrator和我發的照片我附有他們與這個CSS背景:瀏覽器縮放和.SVG圖片

(容器)

.numbertable { 
    position:relative; 
    display: inline-block; 
    padding-bottom: 80%; 
    vertical-align: middle; 
    width:41%; 
    } 

(圖像)

.my-svg{ /* svg into : object, img or inline */ 
display: block; 
position: absolute; 
top: 0; 
left: 0; 
width: 100%; /* only required for <img /> */ 
} 

我然後在HTML使用對象命令:

<object class="my-svg" type="image/svg+xml" data="/img/composite/scale2.svg" width="100%" height="100%"></object> 

經過很多努力,我終於設法使他們在I.E.中看起來不錯。和谷歌瀏覽器使用100%(默認)縮放,但是當我切換到Firefox他們顯然使用不同的默認縮放和圖片太大。

你可以看到它的網站上:http://s23345.sigmabokhald.is/

我能做些什麼,以使照片的.svg變焦適當規模?所以,如果我縮小並進入(在我的瀏覽器中),那麼圖片就會根據背景進行適當縮放。

+0

當您使用''而不是對象時,這個票價如何?圖像具有更普遍的支持,並顯得更具可預測性。 – somethinghere 2015-04-02 14:20:16

+0

當我使用命令而不是時,圖像在Internet Explorer中表現得非常奇怪。當我第一次打開頁面時看起來不錯,但是當我點擊一個鏈接打開頁面時,圖片就會改變形狀。這很難解釋,我只是無法使它在IE中工作,但它在Chrome和Firefox中運行良好, Zyrac 2015-04-02 16:41:56

+0

您可能想要將其中一個齒輪移出一點,以便它們不會全部鎖定在一起。嘗試旋轉其中一個,你會明白我的意思。 – 2017-07-21 16:03:12

回答

1

我很快就檢查了你的設備在Mozilla和Chrome瀏覽器中的行爲。 (可愛的設計,順便說一句:-))

在我看來,齒輪堅持您的<object>框的大小。這意味着,如果您允許此框在瀏覽器放大和縮小時「調整大小」,則齒輪會採用。通過將<object>設置爲0.0/100%,100%,齒輪不能採用。

您有這個.limit.tight的定義,這是齒輪箱應該如何工作的一個很好的例子。所以,如果我改變.my-svg像這樣:

.my-svg { 
    display: block; 
    margin-left: auto; 
    max-width: 960px; 
} 

我沒有改變任何東西。它也適用於Chrome。這裏是如果我放大與Mozilla的齒輪如何顯示:

150% Zoom

30% Zoom

Settings

我希望這是最後一個良好的開端,即使可能有更多更多的工作瀏覽器。

+0

謝謝,這有助於解決很多縮放問題。問題仍然存在於100%縮放的Firefox中,svg圖片稍大。我注意到爲什麼,雖然這很奇怪,但我的Firefox瀏覽器似乎強制使用@media屏幕和(最大寬度:1400px),屏幕和(最大高度:800px)設置,即使我以1920x1080的速度運行窗口。我的Chrome和IE瀏覽器不這樣做。如果我測試http:// quirktools上的網頁。com/screenfly使用Firefox,它沒有這個問題。 – Zyrac 2015-04-02 17:39:08