CSS stilini oluşturmanın bilinen bir yolu var mı background-size
IE'de ?
:hover
yakınlaştırma yanılsaması yaratmak için arka plan boyutunun tam 300 piksel genişliğe (arka plan boyutu: otomatik) değişmesini istiyorum
CSS stilini oluşturmanın bilinen bir yolu var mı background-size
IE'de ?
:hover
yakınlaştırma yanılsaması yaratmak için arka plan boyutunun tam 300 piksel genişliğe (arka plan boyutu: otomatik) değişmesini istiyorum
Yanıtlar:
Biraz geç, ama bu da yararlı olabilir. Uygulayabileceğiniz IE 5.5+ için bir IE filtresi vardır:
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(
src='images/logo.gif',
sizingMethod='scale');
-ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(
src='images/logo.gif',
sizingMethod='scale')";
Ancak, bu tüm görüntüyü ayrılan alana sığacak şekilde ölçeklendirir, bu nedenle bir hareketli grafik kullanıyorsanız bu sorunlara neden olabilir.
Özellikler: AlphaImageLoader Filtre @microsoft
position: relative; z-index: 999
böyle divs içinde giriş, a, düğme eklemek zorunda
Oluşturduğum jquery.backgroundSize.js : "kapak" ve son çare bir IE8 olarak kullanılabilecek bir 1.5K jquery eklentisi değerleri "içeren". Göz at demo .
background-position: fixed
.
Bu yazı sayesinde, çapraz tarayıcı mutluluğu için tam css:
<style>
.backgroundpic {
background-image: url('img/home.jpg');
background-size: cover;
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(
src='img/home.jpg',
sizingMethod='scale');
}
</style>
Bu kod parçası üzerinde çalıştığımdan beri çok uzun sürdü, ancak daha fazla tarayıcı uyumluluğu için eklemek istiyorum Daha fazla tarayıcı uyumluluğu için bunu CSS'ime ekledim:
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
-webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover;
Daha sonra bile, ama bu da yararlı olabilir. Arka plan boyutu için bir çoklu dolgu olarak kullanabileceğiniz jQuery-backstretch-plugin var: cover. Ben jQuery ile css-background-url özelliği kapmak ve jQuery-backstretch eklentisine beslemek mümkün (ve oldukça basit) olmalıdır. Modernizr ile arka plan boyutu desteğini test etmek ve bu eklentiyi yedek olarak kullanmak iyi bir uygulamadır.
Backstretch eklentisi burada SO'da belirtilmiştir . JQuery-backstretch-plugin-site burada .
Benzer şekilde, durumunuzda (arka plan boyutu:% 100) ve IE8'de arka plan boyutu çalışmasını sağlayan bir jQuery eklentisi veya komut dosyası yapabilirsiniz. Sorunuzu cevaplamak için: Evet bir yol var ama atm tak ve çalıştır çözümü yoktur (yani kendiniz kodlama yapmanız gerekir).
(sorumluluk reddi: Arka gerdirme eklentisini ayrıntılı olarak incelemedim ama arka plan boyutu ile aynı gibi görünüyor: kapak)
Bunun için iyi bir çoklu dolgu var: louisremi / background-size-polyfill
Belgeleri alıntılamak için:
IE için gereken mime türünü gönderecek .htaccess ile birlikte backgroundsize.min.htc dosyasını web sitenize yükleyin (yalnızca Apache - nginx, düğüm ve IIS'de yerleşiktir).
CSS'nizde arka plan boyutu kullandığınız her yere, bu dosyaya bir referans ekleyin.
.selector { background-size: cover; /* The url is relative to the document, not to the css file! */ /* Prefer absolute urls to avoid confusion. */ -ms-behavior: url(/backgroundsize.min.htc); }
contain
ve cover
. Bir ağ paketinde aktarılacağı için çok kötü değil 5.7KB içerir.
IE8 için kullanımı gerçekten basit olan bu dosyayı ( https://github.com/louisremi/background-size-polyfill “arka plan boyutlu çoklu dolgu”) kullanabilirsiniz:
.selector {
background-size: cover;
-ms-behavior: url(/backgroundsize.min.htc);
}
Aşağıdaki komut dosyası ile denedim -
.selector {
background-image: url("img/image.jpg");
background-size: 100%;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-repeat: no-repeat;
}
Benim için çalıştı!