これは、コンテナの向きが画像の向き(縦/横)と一致しない場合でも機能します。 zoom(0.1)
とmin-width/height:1000%
は、イメージのサイズがターゲットコンテナの最大サイズの10倍であれば動作しますが、どこかに線を描く必要があると思います:(http://jsfiddle.net/FYnCG/)。 アニメーションビットはテストに過ぎません。そうすれば、高さが制限要因になったときのスケーリング方法がわかります。
<DOCTYPE html>
<html>
<head>
<style>
.container {
width: 100px;
height: 30px;
border: 1px solid black;
overflow:hidden;
position:relative;
transititon: width 5s, height 8s;
}
.container img {
position: absolute;
left:-10000%; right: -10000%;
top: -10000%; bottom: -10000%;
margin: auto auto;
min-width: 1000%;
min-height: 1000%;
-webkit-transform:scale(0.1);
transform: scale(0.1);
}
.container:hover {
width: 800px;
height: 800px;
transition: width 5s, height 8s;
}
</style>
</head>
<body>
<div class="container">
<img
src="https://www.google.de/logos/doodles/2014/european-parliament-election-2014-day-4-5483168891142144-hp.jpg"
/>
<!-- 366x200 -->
</div>
</body>
</html>
私は余白を設定すると、画像。これは私が持っていないものです、すべての画像は個々のサイズを持っています。また、マージン値はすべての単一イメージに対して計算する必要があります。 – caw
Hm。あなたはdivの背景として画像を使用できませんか? CSSを使用すると、div内の任意の場所に背景を配置できます。待って、私の答えを編集します。 –
ああ、それは私のせいです。あなたの答えは今、完璧なものと思われます。しかし、それは私のためには機能しません - 私はあなたにすべての情報を与えていないためです。あなたの答えは質問には完璧です。しかし、イメージがHTMLでサイズ変更されたとは言いませんでした。実際の幅が200のとき、サイズ変更する caw