2017-04-16 11 views
0

brackground-positionを%からpxに変換する方法をご希望ですか?バックグラウンドポジション%をpxに換算

ある時点では、画像のサイズを変更するbackground-size: containを使用します。

Jsfiddle:

https://jsfiddle.net/tng3spqb/1/

EX:

$(document).ready(function() { 
 
    alert("RED: BACKGROUND CONTAIN: "+$(".box").css("backgroundPositionX")+" - "+$(".box").css("backgroundPositionY")+"\n"+"BLACK - NOT BACKGROUND CONTAIN: "+$(".all").css("backgroundPositionX")+" - "+$(".all").css("backgroundPositionY")+"\n"+"GREEN: BACKGROUND CONTAIN: "+$(".box2").css("backgroundPositionX")+" - "+$(".box2").css("backgroundPositionY")+"\n"+"PINK: NOT BACKGROUND CONTAIN: "+$(".all2").css("backgroundPositionX")+" - "+$(".all2").css("backgroundPositionY")) 
 
})
.box { 
 
    width: 120px; 
 
    height: 200px; 
 
    background-color: red; 
 
    background-image: url('http://www.guiaturismo.net/blog/wp-content/gallery/fotos-ilha-grande/fotos-ilha-grande-1.jpg'); 
 
    background-size: contain; 
 
    background-repeat: no-repeat; 
 
    background-position: center; 
 
    float:left; 
 
} 
 

 
.all { 
 
    width: 120px; 
 
    height: 200px; 
 
    background-color: black; 
 
    background-image: url('https://jsfiddle.net/img/logo.png'); 
 
    background-repeat: no-repeat; 
 
    background-position: center; 
 
    float:left; 
 
    margin-left:25px; 
 
} 
 

 
.box2 { 
 
    width: 200px; 
 
    height: 120px; 
 
    background-color: green; 
 
    background-image: url('http://www.guiaturismo.net/blog/wp-content/gallery/fotos-ilha-grande/fotos-ilha-grande-1.jpg'); 
 
    background-size: contain; 
 
    background-repeat: no-repeat; 
 
    background-position: center; 
 
    float:left; 
 
    margin-left:25px; 
 
} 
 

 
.all2 { 
 
    width: 200px; 
 
    height: 120px; 
 
    background-color: pink; 
 
    background-image: url('https://jsfiddle.net/img/logo.png'); 
 
    background-repeat: no-repeat; 
 
    background-position: center; 
 
    float:left; 
 
    margin-left:25px; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="box"> 
 
</div> 
 
<div class="all"> 
 
</div> 
 
<div class="box2"> 
 
</div> 
 
<div class="all2"> 
 
</div>

答えて

0

background-position XとYの位置を以下のように変更できます。それはあなたの探しているものですか?

$(".box").css({ "background-position-x": "60px" }); 
$(".box").css({ "background-position-y": "60px" }); 

アップデートコード:

$(document).ready(function() { 
 
    //alert("RED: BACKGROUND CONTAIN: "+$(".box").css("backgroundPositionX")+" - "+$(".box").css("backgroundPositionY")+"\n"+"BLACK - NOT BACKGROUND CONTAIN: "+$(".all").css("backgroundPositionX")+" - "+$(".all").css("backgroundPositionY")+"\n"+"GREEN: BACKGROUND CONTAIN: "+$(".box2").css("backgroundPositionX")+" - "+$(".box2").css("backgroundPositionY")+"\n"+"PINK: NOT BACKGROUND CONTAIN: "+$(".all2").css("backgroundPositionX")+" - "+$(".all2").css("backgroundPositionY")) 
 
    
 

 
// how about something like this? 
 
$(".box").css({ "background-position-x": "60px" }); 
 
$(".box").css({ "background-position-y": "60px" }); 
 
    
 
alert("RED: BACKGROUND CONTAIN X: "+$(".box").css("backgroundPositionX")); 
 
alert("RED: BACKGROUND CONTAIN Y: "+$(".box").css("backgroundPositionY")); 
 
})
.box { 
 
    width: 120px; 
 
    height: 200px; 
 
    background-color: red; 
 
    background-image: url('http://www.guiaturismo.net/blog/wp-content/gallery/fotos-ilha-grande/fotos-ilha-grande-1.jpg'); 
 
    background-size: contain; 
 
    background-repeat: no-repeat; 
 
    background-position: center; 
 
    float:left; 
 
} 
 

 
.all { 
 
    width: 120px; 
 
    height: 200px; 
 
    background-color: black; 
 
    background-image: url('https://jsfiddle.net/img/logo.png'); 
 
    background-repeat: no-repeat; 
 
    background-position: center; 
 
    float:left; 
 
    margin-left:25px; 
 
} 
 

 
.box2 { 
 
    width: 200px; 
 
    height: 120px; 
 
    background-color: green; 
 
    background-image: url('http://www.guiaturismo.net/blog/wp-content/gallery/fotos-ilha-grande/fotos-ilha-grande-1.jpg'); 
 
    background-size: contain; 
 
    background-repeat: no-repeat; 
 
    background-position: center; 
 
    float:left; 
 
    margin-left:25px; 
 
} 
 

 
.all2 { 
 
    width: 200px; 
 
    height: 120px; 
 
    background-color: pink; 
 
    background-image: url('https://jsfiddle.net/img/logo.png'); 
 
    background-repeat: no-repeat; 
 
    background-position: center; 
 
    float:left; 
 
    margin-left:25px; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="box"> 
 
</div> 
 
<div class="all"> 
 
</div> 
 
<div class="box2"> 
 
</div> 
 
<div class="all2"> 
 
</div>

+0

親愛なる、プログラムは、異なるサイズの異なるサイズやイメージを持つdivを持っているとして、私はPXに設定することはできません。私は可能ですが、画像サイズとdivのサイズを含む計算を実行する必要があります。 Css( 'backgroundPositionX': 'calcPart'); css( 'backgroundPositionX');}}}}}}}}}}}}}}}}}}}}}}}}}}である。 + ' - 1px)'}); '。 ATT – abcd

関連する問題