質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

1回答

1834閲覧

TOPページに画面いっぱいじゃない動画を入れたいです。

UKYO9311

総合スコア31

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

2クリップ

投稿2019/01/21 07:06

編集2019/01/21 09:12

トップページに動画を入れたいのですが、どうしても思った通りに表示されません。

右側15%の余白があり、左側85%にマスクがかかっていて、そのマスクに合わせて動画を表示させたいです。
全画面なら通常に表示されて、cssで調整してもマスクと動画の比率が違うためか画面サイズによってずれてしまします。

イメージ説明

現在コードはこのようになっています。

JavaScript

1 2//ムービー全画面スクリプト(PC用) 3//(1)動画の画角比率を設定します。4:3の場合はここを「4/3」に変更 4var movieRatio = 16/9; 5//(2)画像のリサイズ関数「movieAdjust()」を作成 6function movieAdjust(){ 7 var adjustWidth = $(window).width(); 8 var adjustHeight = $(window).height(); 9 if (adjustHeight > adjustWidth / movieRatio) { 10 adjustWidth = adjustHeight * movieRatio; 11 } 12 $('iframe').css({width:(adjustWidth),height:(adjustWidth/movieRatio)}); 13} 14//(3)画面リサイズ時と画面ロード時に関数movieAdjust()を実行 15 $(window).on('load resize', function(){ 16 movieAdjust(); 17 }); 18

HTML

1<div class="mv"> 2 <div class="layer1"></div> 3 <div class="pc_only" id="video"> 4  <iframe src="https://player.vimeo.com/video/305028287autoplay=1&loop=1&muted=1">     5</iframe> 6</div> 7</div>

css

1#video iframe{ 2 width: 85%; 3 4 transform: translate(-15%,0%); 5 -ms-transform: translate(-15%,0%); 6}

すみませんわかりにくい説明かもしれないのですが、助けていただけたら嬉しいです( ; ; )
また、参考になるサイトなどでもいいので教えていただけたらありがたいです( ; ; )

説明足りない箇所などありましたらご連絡ください。

イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

【回答文を完全に見直して新規で書き起こして居ます】

諸悪の根源はこいつですね。

JavaScript

1function movieAdjust(){ 2 var adjustWidth = $(window).width(); 3 var adjustHeight = $(window).height(); 4 if (adjustHeight > adjustWidth / movieRatio) { 5 adjustWidth = adjustHeight * movieRatio; 6 } 7 $('iframe').css({width:(adjustWidth),height:(adjustWidth/movieRatio)}); 8}

ざっくり解説すると、$(window).width()という風にブラウザの縦横幅を取得して、
iframe要素のstyle属性の部分にwidth: 横幅みたいな形で直書きしています。
このstyle属性に直接書くと外部ファイルのCSSで記述するより優先度が高い扱いになるので、
外部CSSファイルのwidth: 85%みたいな指定がなかったことになります。

でもまぁ言いたい事は分かります。
横幅85%にしつつ画面の縦横比もちゃんと考えた動画用iframeを作りたいって話ですよね?

SASS

1// 君が多分マスクという存在だと思う 2#video { 3 width: 85%; 4} 5#video iframe { 6 // 中央寄せを意識 7 margin: 0 auto; 8}

JavaScript

1function movieAdjust(){ 2 var $video = $('#video'); 3 var adjustWidth = $video.width(); // 基準を#videoの横幅にする 4 var adjustHeight = $(window).height(); 5 if (adjustHeight > adjustWidth / movieRatio) { 6 adjustWidth = adjustHeight * movieRatio; 7 } 8 // HTML内全てのiframeから探したら思わぬ箇所で事故るのでvideoの中に限定 9 $video.find('iframe').css({width:(adjustWidth),height:(adjustWidth/movieRatio)}); 10}

これでまぁまぁ意図通りになるんじゃないですかね?

投稿2019/01/21 07:13

編集2019/01/21 08:28
miyabi-sun

総合スコア21158

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

UKYO9311

2019/01/21 07:53

返信ありがとうございます!^ ^ すみません色々やってるうちに変になってしまいました! 先ほどtransform: translate(-15%,0%);を消して、 width: 80%; margin: 0 auto; を入れたのですが、全画面に広がってしまいました。。。 これはscriptのせいなんでしょうか?? 調べながらやったのでよくわからないのですが。。。
miyabi-sun

2019/01/21 08:03

あー、JavaScriptのコードでiframeのstyle属性にwidthとheightを無理やり設定してますね。 外部ファイルとstyle属性直書きなら、style属性直書きが必ず勝利するので私の解答欄のやり方では上手くいきません。 ちょっとまってくださいね。
UKYO9311

2019/01/21 08:27

やはりそうでしたか。。。お忙しい中本当にありがとうございます泣
UKYO9311

2019/01/21 09:17

ご丁寧な回答本当にありがとうございます!泣 それが試してみたのですが、なかなかうまくいかず、上の画像みたいになってしまいます。 追記ですが、マスクは上に被せてある半透明の黒のやつです( ; ; )本当はそれに合わせて動画を表示させたいのですが。。。回答を参考にして自分でも色々試してみたのですが、ここからどうしても進みません。。。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問