一部のjQueryプラグインは、cssルールで「zoom」記述子を使用していることがわかりました。w3cWebサイトを調べても、拡大に使用されていることがわかりましたが、実際に実装するにはどうすればよいですか?または、ビューポートを定義する必要がありますか?そして、どうすればそのようなビューポートを定義できますか?または私は全体について間違っていますか?
のように使用することは可能ですか
a {
zoom:1;
}
a:hover {
zoom:2;
}
一部のjQueryプラグインは、cssルールで「zoom」記述子を使用していることがわかりました。w3cWebサイトを調べても、拡大に使用されていることがわかりましたが、実際に実装するにはどうすればよいですか?または、ビューポートを定義する必要がありますか?そして、どうすればそのようなビューポートを定義できますか?または私は全体について間違っていますか?
のように使用することは可能ですか
a {
zoom:1;
}
a:hover {
zoom:2;
}
-moz-transform: scale(x)
ズームはCSS仕様には含まれていませんが、IE、Safari 4、Chromeでサポートされています( 3.5以降のFirefoxでも同様の効果が得られます)。ここを参照してください。
したがって、すべてのブラウザ
zoom: 2;
zoom: 200%;
オブジェクトを2倍に拡大するので、サイズを2倍にするようなものです。つまり、あなたが持っている場合
a:hover {
zoom: 2;
}
ホバーすると、<a>
タグは200%ズームします。
私が言うように、FireFox 3.5+の使用-moz-transform: scale(x)
では、それはほとんど同じことをします。
編集:からのコメントに応えて、私はそれが完全な置き換えthirtydot
ではないと言います。scale()
それは、そうであるように一列zoom
に拡張するのではなく、他のコンテンツを邪魔することなく、箱から出してコンテンツの上に拡張します。こちらで実際の動作をご覧ください。さらに、zoom
Operaではサポートされていないようです。
このscale
投稿では、 jQueryを使用して非互換性を回避する方法と回避策についての有用な洞察を提供します。
hasLayoutzoom: 1;
をトリガーすることでほとんどのIEのみのバグを解決するために、IE6-7に役立つことを誰も言及していないことに驚いた。
CSSzoom
プロパティは現在広くサポートされており、ブラウザの総人口の86%を超えています。
参照:http ://caniuse.com/#search=zoom
document.querySelector('#sel-jsz').style.zoom = 4;
#sel-001 {
zoom: 2.5;
}
#sel-002 {
zoom: 5;
}
#sel-003 {
zoom: 300%;
}
<div id="sel-000">IMG - Default</div>
<div id="sel-001">IMG - 1X</div>
<div id="sel-002">IMG - 5X</div>
<div id="sel-003">IMG - 3X</div>
<div id="sel-jsz">JS Zoom - 4x</div>
このプロパティは、現在の要素の拡大レベルを制御します。要素のレンダリング効果は、カメラの「ズーム」機能の効果です。このプロパティは継承されませんが、子要素のレンダリングに影響します。
例
div { zoom: 200% }
<div style=”zoom: 200%”>This is x2 text </div>
ここで説明するように、zoomは@viewport記述子のcss3仕様です。
http://dev.w3.org/csswg/css-device-adapt/#zoom-desc
ビューポート全体(「画面」)をズームするために使用されます。また、すべてではありませんが、多くのブラウザで個々の要素をズームすることもあります。css3は、このような効果を実現するためにtransform:scaleを使用する必要があることを指定しています。
http://www.w3.org/TR/css3-transforms/#transform-functions
ただし、それをサポートするブラウザの「要素ズーム」とは少し異なります。
IEとWebKitのみがズームをサポートしており、理論的には、あなたが言っていることを正確に実行します。
画像で試してみて、完全な効果を確認してください:)
Joshua Mが指摘したように、ズーム機能はFirefoxでのみサポートされているわけではありませんが、次のように簡単に修正できます。
div.zoom {
zoom: 2; /* all browsers */
-moz-transform: scale(2); /* Firefox */
}