2016-11-02 4 views
0

グリッドの各アイテムの間にスペースがあります。 http://okbj.ca/最新のものをクリックするか、ウィンドウのサイズを変更すると、そのスペースが削除されます。リフレッシュするとスペースが戻ってきます。このスペースをどうやって削除するのですか?アイソトープjsの空白を削除

私はchrome、explorer、microsoft edge、firefoxの最新バージョンを使用しています。それはそれらのすべてで動作していないようです。

enter image description here

+0

あなたが見ていると、あなたはそれを見ているどのようなブラウザ何のあなたの質問にスクリーンショットを含めてください – Soviut

+0

私は私のウェブサイトへのリンクを提供してきました。 http://okbj.ca/私は今でもスクリーンショットをアップロードします –

+0

あなたのウェブサイトはいつも周りに同じであるとは限りません。この質問が適切なものであることを確認するために、できるだけ多くの文脈を質問に提供してください。 – Soviut

答えて

1

これはOSX版Chrome、FirefoxとSafariの最新バージョンで正常に表示されますので、あなたのためのブラウザ固有の問題のようです。

enter image description here

問題では、Windows上で発生する表示されます。 2つのソリューションがあります。

醜いJavascriptをハック

火resizeイベント毎秒。これにより、プラグインはサイズを再計算します。

// cross-browser resize event 
var crossBrowserResize = function() { 
    var evt = document.createEvent('HTMLEvents'); 
    evt.initEvent('resize', true, false); 
    window.dispatchEvent(evt); 
}; 

// fire the event every second 
setInterval(function() { 
    crossBrowserResize(); 
}, 1000); 

使用するメディアクエリー代わり

グリッドのこのタイプは、純粋なCSSといくつかのメディアクエリを使用して容易に達成可能です。私は要素を調べ、いくつかのメディアクエリを使って、さまざまなブレークポイントでどのようにリサイズするかを調整しています。

/* 4 columns on tablet landscape and up */ 
@media screen and (max-width: 1024px) { 
    .block { 
    width: 25%; 
    } 
} 

/* 2 columns on tablet profile */ 
@media screen and (max-width: 720px) { 
    .block { 
    width: 50%; 
    } 
} 

/* 1 column on phone landscape or profile */ 
@media screen and (max-width: 480px) { 
    .block { 
    width: 100%; 
    } 
} 
+0

のリンクを提供することのみに制限されています。私はクロムの最新のアップデートを持っていて、それは表示されません。エクスプローラにも表示されます –

+0

Internet Explorerのどのバージョンですか?できるだけ詳しく質問を更新してください。 – Soviut

+0

私はchrome、explorer、microsoft edge、firefoxの最新バージョンを使用しています。それはすべての上で動作していないようだ。古いバージョンで動作していなくても、まだ修正が必要です。 –

0

崩壊は、(Chromeの)ウィンドウサイズ変更イベントでのみ発生します。グリッドがロードされたら、イベントをディスパッチすることができます

(function fixGrid() { 
    var img, grid = document.querySelector('.grid'); 
    if (grid) {img = grid.querySelector('img');} 
    if (img && img.height) { 
    window.dispatchEvent(new Event('resize')); 
    grid.style.opacity = 1; 
    } else { 
    if (grid) {grid.style.opacity = 0;} 
    setTimeout(fixGrid, 10); 
    } 
})(); 
+0

私はこれを試して、それは動作しませんでした。助けてくれてありがとう –

+0

私はもっと「積極的な」アプローチで答えを編集しました。この自己実行機能は、HTMLコードの< script>タグに追加して実行することができます。私は後であなたのサイトのブラウザコンソールでそれをテストします。 –

+0

それは動作しますが、残念ながらすべてをロードする前ではありません。だからあなたは調整を見ることができます...調整が隠されるようにそれを行う方法はありますか?私にローディング画面や何かを追加しなければ。ありがとうございます! –