Webサイトのボタンメニューを作成しようとしていますが、マウスホバーでの画像の位置に問題があります。これは私がこれまでに作成したものです http://jsfiddle.net/tNLUx/
マウスオーバーで、選択した画像を拡大し、他の画像は最初の画像と同じ位置を保ちます...ダウン画像を上に移動するのではなく、拡大して下に移動するにはどうすればよいですか?
#btnSocial {
width:100px;
position: relative;
opacity: 0.5;
-webkit-opacity: 0.5;
-moz-opacity: 0.5;
transition: 0.5s ease;
-webkit-transition: 0.5s ease;
-moz-transition: 0.5s ease;
}
#btnSocial:hover{
width: 150px;
opacity: 1;
-webkit-opacity: 1;
-moz-opacity: 1;
}
<img src="http://img24.imageshack.us/img24/3221/32845401.png" alt="img1" id="btnSocial" class="social1" />
<img src="http://img24.imageshack.us/img24/3221/32845401.png" alt="img1" id="btnSocial" class="social2"/>
<img src="http://img24.imageshack.us/img24/3221/32845401.png" alt="img1" id="btnSocial" class="social3"/>
<img src="http://img24.imageshack.us/img24/3221/32845401.png" alt="img1" id="btnSocial" class="social4"/>
transform: scale(x, y)
を使用して、オブジェクトをスケーリングします。transform: translate(x, y)
を使用してオブジェクトを移動します。
これら2つのプロパティを組み合わせることができます:transform: scale(x, y) translate(x, y)
。
例:
.btn-social {
width: 100px;
position: relative;
opacity: 0.5;
transition: 0.3s ease;
cursor: pointer;
}
.btn-social:hover {
opacity: 1;
/** default is 1, scale it to 1.5 */
transform: scale(1.5, 1.5);
/** translate 50px from left, and 40px from top */
/** transform: translate(50px, 40px); */
/** combine both scale and translate */
/** transform: scale(1.5, 1.5) translate(50px, 40px); */
}
<img src="http://sstatic.net/stackexchange/img/logos/so/so-icon.png?v=c78bd457575a" class="btn-social" />
<img src="http://sstatic.net/stackexchange/img/logos/so/so-icon.png?v=c78bd457575a" class="btn-social" /><br />
<img src="http://sstatic.net/stackexchange/img/logos/so/so-icon.png?v=c78bd457575a" class="btn-social" />
<img src="http://sstatic.net/stackexchange/img/logos/so/so-icon.png?v=c78bd457575a" class="btn-social" />
これを確認してください http://jsfiddle.net/tNLUx/11/
Cssからposition: relative;
を削除しました
#btnSocial{
width:100px;
opacity: 0.5;
-webkit-opacity: 0.5;
-moz-opacity: 0.5;
transition: 0.5s ease;
-webkit-transition: 0.5s ease;
-moz-transition: 0.5s ease;
}