ページの背景画像を拡大または縮小したいと考えています。私は複数のことを試しましたが、思い通りに機能するものは何もないようです。:( 私のページの URL はhttp://quaaoutlodge.com/drupal-7.14/で、リンクごとに異なる背景画像があります。画像のサイズと品質を最適化する必要があることはわかっていますが、最初にその技術的な部分を理解してください。
どうもありがとうございました!ロン
ページの背景画像を拡大または縮小したいと考えています。私は複数のことを試しましたが、思い通りに機能するものは何もないようです。:( 私のページの URL はhttp://quaaoutlodge.com/drupal-7.14/で、リンクごとに異なる背景画像があります。画像のサイズと品質を最適化する必要があることはわかっていますが、最初にその技術的な部分を理解してください。
どうもありがとうございました!ロン
サイズに関係なく、ウィンドウスペース全体のサイズを変更して塗りつぶす背景画像が必要な場合は、このCSSを使用します。
html {
background: url(images/bg.jpg) no-repeat center center fixed;
background-size: cover;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
}
ページごとに異なる背景画像が必要な場合は、
HTML
<div id="bg">
<img src="<?=$imgsrc;?>" alt="">
</div>
CSS
#bg {
position:fixed;
top:-50%;
left:-50%;
width:200%;
height:200%;
}
#bg img {
position:absolute;
top:0;
left:0;
right:0;
bottom:0;
margin:auto;
min-width:50%;
min-height:50%;
}
出典:CSS-トリック
これを実現する別の方法は、MDN にあります。
.foo {
background-image: url(bg-image.png);
-webkit-background-size: 100% 100%; /* Safari 3.0 */
-moz-background-size: 100% 100%; /* Gecko 1.9.2 (Firefox 3.6) */
-o-background-size: 100% 100%; /* Opera 9.5 */
background-size: 100% 100%; /* Gecko 2.0 (Firefox 4.0) and other CSS3-compliant browsers */
-moz-border-image: url(bg-image.png) 0; /* Gecko 1.9.1 (Firefox 3.5) */
}
IE フォールバック:
-ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='path_relative_to_the_HTML_file', sizingMethod='scale')";
https://developer.mozilla.org/en-US/docs/Web/CSS/background-sizeから
html background-image がうまく使われているのを見てうれしいです。一部の開発者は下位互換性を維持するためにトレーリング エッジ CSS に依存しているため、css3
互換性のないブラウザーには多くの癖があります。古いバージョンの Safari (<4.05)と同様background:cover
に、動作しません。この場合css3
、示されているように、古いベンダーのフォールバックを使用できます。
html {
background: url(images/bg.jpg) no-repeat center center fixed;
background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
-webkit-backgound-size:100% 100%; /* early css3 implementation */
-webkit-background-size:cover;
}
そして、たまたま、純粋な css でページごとに異なる背景画像が必要な場合は、
html#bg1 {backrgound-image:url(images/bg1.jpg);}
html#bg2 {background-image:url(images/bg2.jpg);}
ただし、<html>
タグに を付けられない場合、id
またはclass
いくつかの に頼る必要がある場合がありますjavascript
。その後、要素のページごとに異なる背景画像を使用できます<html>
。これはまさに必要なものです。html
これはタグでうまくいくようです。一部のブラウザは、on で使用するとcss
for を無視します。タグは気まぐれではありません。これは、php ベースの方法よりも優れた修正方法である可能性があります。例えば:background-image
html
body
<script>
document.getElementsByTagName('html')[0].style.backgroundImage='url(images/bg3.jpg)';
</script>
background-size の html css は引き続き適用され、さまざまなブラウザー バージョンで正しくカバーされます。ただし、古い Safarijavascript
では空の URL を使用するとエラーがスローされることに注意してください。たとえば、背景画像をクリアする場合などです。
<script> /*Causes Error Safari 4*/
document.getElementsByTagName('html')[0].style.backgroundImage='url()';
</script>
エラーは通常javascript
、原因の手がかりなしで実行を停止します。代わりに使用する必要がありますstyle.backgroundImage='none';
CSSでメディアクエリを使用して、さまざまな画面サイズの背景画像を指定します。
@media all and (max-width: 699px) and (min-width: 520px) {
background-image:url('rightsizebackground.jpg');
}