前回のエピソードレビュー: 昨日は、ページがさまざまなデバイス サイズにどのように対応するかについて説明しました。主に使用される方法は、@media コマンドとサイズのパーセンテージです。 前回のエピソードの補足: このうち、画像や動画のサイズがデバイス画面の幅を超えないようにするには、次の CSS 設定を使用します。 コードをコピー コードは次のとおりです。画像、オブジェクト{ 最大幅:100%; } このステートメントは通常、@media screen と (max-width:481) の判定に追加され、主に携帯電話ユーザーが Web ページを閲覧する際に携帯電話の画面よりも大きな画像が表示されないようにします。 この手法は、「Head First Mobile Web」では「 Fluid Image Technique 」と呼ばれています。 動画をレスポンシブにすることはできますか? 写真に加えて、マルチメディアのもう 1 つの一般的な形式はビデオです。ウェブデザインでは、必要に応じて動画をページに追加することがあります。一般的に、動画は YouTube、Tudou/Youku、Sina などのウェブサイトにアップロードされ、リンクの形でウェブページに追加されます。 なぜiPhoneでYouTube動画を視聴できないのでしょうか? (海外) iOSでウェブ動画を視聴する場合、iPhoneのブラウザがAdobe Flashをサポートしていないため、脱獄してプラグインをインストールしないとFlash形式の動画を視聴できません。これはAppleなどの企業の商業競争政策に関係しており、私たちにはどうしようもありません。この問題に対して、YouTube ビデオ ソースを使用した Web デザインには、Web ページに埋め込まれたオブジェクト埋め込み形式の元のコード スニペットを新しいコード スニペットに置き換えるという解決策があります。 たとえば、古いページのネストされたコード スニペットは次のとおりです。 コードをコピー コードは次のとおりです。<object width="230" height="179" type="application/x-shockwave-flash" data="http://www.youtube.com/v/O-jOEAufDQ4?fs=1&h1=en_US&rel=0"><embed src=... /></object> 次のように置き換えます: コードをコピー コードは次のとおりです。<iframe src="http://www.youtube.com/embed/O-jOEAufDQ4" style="max-width:100%"></iframe> ご覧のとおり、2 つのビデオの出力パスは実際には異なります。YouTube は、モバイル デバイスで表示するための埋め込みビデオを埋め込みディレクトリに配置するため、ほとんどのモバイル デバイスでビデオを正常に視聴できます。 <iframe> を使用して国内のビデオを入手できますか? それぞれ Tudou と Sina から埋め込まれたビデオ コードの一部を傍受することによって、オブジェクト埋め込みメソッドが使用されていることがわかります。 じゃがいも: コードをコピー コードは次のとおりです。<埋め込み src="....swf" タイプ="application/x-shockwave-flash" allowscriptaccess="常に" フルスクリーンを許可する="true" wmode="不透明" 幅="480" 高さ="400"></embed> シナ: コードをコピー コードは次のとおりです。<div><object id='sinaplayer' 幅='480' 高さ='370' > <パラメータ名='allowScriptAccess' 値='always' /> <embed pluginspage='http://www.macromedia.com/go/getflashplayer' src='....swf' タイプ='application/x-shockwave-flash' allowScriptAccess='常に' フルスクリーンを許可する='true' 名前='シナプレイヤー' 幅='480' 高さ='370'></embed> </オブジェクト></div> 両者のパラメータ設定は似ていますが、Tudou のコードははるかにシンプルです。 ここで、Tudou ビデオ アドレスを <iframe> コード ブロックで囲み、テスト ページに配置すると、問題が発生します。 (これは写真です… ) フルスクリーンにできない…これは再生アドレスが別途キャプチャされ、 allowFullScreenなどのフラッシュ関連の設定が破棄されるためです。 iframe メソッドを使用すると、明らかに 2 つの問題が発生します。 まず、映画のソース形式は変更されておらず、依然としてswf形式であるため、Adobe Flashをサポートしていない携帯電話では再生できません。 2 つ目の理由は、フラッシュ プレーヤーのパラメータ設定が失われ、一部の機能が失われることです。 これは明らかに受け入れられないことです。 1 点目については、ハードウェア メーカー間の商業競争による副作用を回避するために、ビデオ Web サイトがより汎用的なビデオ フォーマットを使用することを期待するしかありません。2 点目については、モバイル フォンでフラッシュ フォーマットが表示されないユーザーがさまざまなクラックやプラグインを見つけてそれを補っているため、オブジェクト埋め込み方式を引き続き使用します。そのため、より汎用的なフィルム ソース フォーマットがない場合、Web デザイナーは以前の方法を使用し続ける必要があります。 しかし、動画フォーマットのサイズは一般的に固定されており、JavaScript を使用せずに CSS のみを使用してデバイスのサイズやブラウザの現在のサイズに応じて動的に変更することは困難です。ビデオの幅については、パーセンテージで設定できます。たとえば、コンテナの 80% に設定すると、ビデオは常にコンテナの幅の 80% を占めます。ただし、ほとんどの人はブラウザ ウィンドウを比例して拡大縮小しないため、高さは設定できません。絞り込むか、短くしてください。したがって、ビデオ サイズのスケーリングを保証するためにパーセンテージに頼るのは現実的ではありません。 この前提の下では、ビデオは一定のサイズを維持し、Web ページの残りの部分はブラウザのサイズに応じてレイアウトが動的に変更されることを期待します。 ビデオに示されているように: ブラウザをプルするプロセス全体を通じて、ビデオのサイズは変化しないことがわかります。ビデオの幅は、ブラウザの幅がビデオの幅よりも小さくなるまで減少しません (上記のFluid Image Techniqueを使用)。 全体の効果を生み出すための新しいテクニックはなく、CSS のサイズ判定を 2 から 3 に増やすだけです。詳細についてはデモコードをご覧ください。 [デモコードはこちらからダウンロード] 要約: CSS だけで動画サイズを適応させることは不可能のようです。モバイル デバイスでページ ビデオを正常に視聴できるようになることを期待しています。また、ビデオ Web サイトでは、Flash ではなく、より汎用的なビデオ形式が使用されることを期待しています... 最後に、この本に出てくる公式で締めくくりましょう。RWD =流動グリッドレイアウト+ CSSメディアクエリ+流動イメージ/メディア+ 心の状態 一般的な考え方は、レスポンシブデザイン=流動的なグリッドレイアウト+ @mediaステートメント+流動的な画像/メディア+デザイナーの意識です。 |
<<: サーバーのDockerコンテナへのvscodeリモート接続を設定する方法
>>: MySQLデータベースでサポートされているストレージエンジンの比較
目次オブジェクトをマージするさまざまな方法(インターフェースを通じてデータを取得し、それをローカル ...
ウェブサイトのモバイル版には、少なくともいくつかの基本機能が必要です。 1. ページの適用性の問題:...
これからの道のりは長く困難ですが、私は探求を続けます。また週末がやってきました。引き続き、皆さんと一...
ステップ: 1. 仮想マシンディレクトリに新しいdocker-compose.ymlファイルを作成し...
この記事では、ドロップダウンテーブルの複数選択と検索を実現するためのvue+elementuiの具体...
前回の記事「Docker コンテナの UID と GID を理解する」では、Docker コンテナ内...
Linux での Tomcat の起動とシャットダウンLinux システムでは、コマンド操作を使用し...
この記事の例では、ショッピングカート機能を実装するためのjQueryの具体的なコードを参考までに共有...
目次1:mysql実行プロセス1.1: コネクタ1.2: キャッシュ1.3: アナライザー1.4: ...
目次フロントエンドルーティングとは何ですか?フロントエンドルーティングを実装するにはどうすればいいで...
初めてwampをインストールした後、すべてのサービスが正常に使用できますが、再起動するとwampのア...
目次序文分析するデータ合計繰り返し率どこにあるかと持っているかの違い要約する序文私はソフトウェアの導...
フロントエンドの初心者として、私は数日間フロントエンドをいじってみました。 。今日、私は自分が固く信...
JavaScriptの日付エフェクトの具体的なコードは参考用です。具体的な内容は次のとおりです。コー...
MySQL 8.0.19 では、間違ったパスワードを 3 回入力するとアカウントがロックされるよう...