我想在IE8中使用Foundation.utils
,但我總能得到真正的只有小假就休息,例如:基金會utils的是不是在IE8
Foundation.utils.is_small_only() = true all the time
Foundation.utils.is_small_up() = false
當然上面也不會發生因爲如果它只是小的話,那肯定是小起來的...
對此有什麼修正?
我想在IE8中使用Foundation.utils
,但我總能得到真正的只有小假就休息,例如:基金會utils的是不是在IE8
Foundation.utils.is_small_only() = true all the time
Foundation.utils.is_small_up() = false
當然上面也不會發生因爲如果它只是小的話,那肯定是小起來的...
對此有什麼修正?
我寫了自己的解決方案來支持ie8中的utils。 我建立了特定於我的用途(它可以做得更好,但爲什麼要做出努力呢?它只適用於ie8 ..),我相信你仍然可以使用它,即使做了小小的調整。
var win = $(window),
bodyFontSize = parseInt(body.css('fontSize'));
function matchMediaQuery(mediaQuery)
{
var winWidth = win.outerWidth(),
winHeight = win.outerHeight(),
mediaQuerySizes = mediaQuery.match(/\d+\.?\d*em/g);
if (mediaQuerySizes == null)
{
return true;
}
else
{
mediaQuery = mediaQuery.replace(/^(only screen)(and)?/,'').replace('min-width:',winWidth + '>=').replace('max-width:',winWidth + '<').replace('min-height:',winHeight + '>=').replace('max-height:',winHeight + '<').replace('orientation:landscape',winHeight + '>' + winWidth).replace(' and ',' && ').replace(' or ',' || ');
for (var i = 0, len = mediaQuerySizes.length; i < len; i++)
{
mediaQuery = mediaQuery.replace(mediaQuerySizes[i],parseInt(mediaQuerySizes[i])*bodyFontSize);
}
return eval(mediaQuery);
}
}
$.each(Foundation.media_queries, function(key, value)
{
eval('Foundation.utils.is_' + ((key.indexOf('-') > -1) ? key.replace('-','_') : key + '_up') + ' = function() { return matchMediaQuery("'+value+'"); }');
});
基金會5 doesn't support IE 8在所有,但你可以嘗試this。
從Foundation FAQ報價:
爲什麼沒有基金會的支持IE7或IE8?或者:爲什麼我們不支持垂死的物種。
這可能是我們得到的最大問題。考慮一下:當今流行的瀏覽器大部分都會自動升級,包括Chrome瀏覽器,Firefox和瀏覽器(從9開始)的 。 IE 8是Windows XP支持的最後一個IE ,微軟將在明年正式停止支持 。這在我們的決定中起了一部分作用。
除此之外,自從Foundation 4開始,我們的框架就構建了移動優先, 這意味着它依賴於媒體查詢來分層更復雜的佈局 和組件。不支持媒體查詢的瀏覽器或設備 將被限制爲簡單的單列布局。在某些方面,基金會4更好地支持IE6-7,因爲它提供了移動 但並非完全破碎的體驗。如果IE8支持對您的用戶/客戶 很重要,那麼您可以使用Foundation 3.2,它支持IE8的 。它不是首先移動的,但它是好東西。