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

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

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

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

Q&A

1回答

2536閲覧

レスポンシブにてファーストビュー時に特定の要素を画面いっぱいに表示させたい

uio

総合スコア19

JavaScript

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

0グッド

1クリップ

投稿2016/09/20 12:25

編集2016/09/21 01:52

お世話になります。

現在、レスポンシブサイトにてトップページのファーストビューに、特定の要素を
画面いっぱいに表示させる事にトライしております。

参考サイトの該当部分のコードの解読を試みておりますが、
一部解読ができません。

コードの方添付させていただきます。

テスト:https://jsfiddle.net/8z8drhab/2/

【HTML】

<div class="block block-main"> <div class="cover"> <div class="pic" style="background-image: url(http://test-12.capoo.jp/1-12.jpg);"> </div></div> <div class="message-svg"> テキストテキストテキストテキスト </div> </div></div>

【CSS】

.block { position: relative; } .cover { position: relative; width: 100%; height: 520px; overflow: hidden; } .cover .pic { position: absolute; width: 100%; height: 100%; background-size: cover; background-position: center center; background-repeat: no-repeat; z-index: 2; }

【Javascript】

$(window).on('load resize', function(){ var w = _ctrl.clientW; ・・・・①_ctrl.clientWの部分が何なのかが不明。。 var h = _ctrl.innerHeight; ・・・・②内部高さを取得(?)。_ctrlは何なのか不明。 var max = (w>h)? 135: 100; ・・・・③不明。 var bottomH = Math.max(max, h*0.15); ・・・・④max要素とhかける0.15で大きい方の値を返す(?) var picH = h-bottomH; ・・・・⑤h引くbottomHの値を返す $(".cover").css("height", picH); ・・・・⑥element.styleにpicHの高さを取得する $(".message-svg").css("height", bottomH); ・・・・⑦element.styleにbottomHの高さを取得する }); ※参考サイトの関係があると思われる該当部分のコードです。 注釈の解説は当方の解釈で入れておりますので、間違っているかもしれません。。

※参考サイト:https://gyazo.com/68c0797ea31e01f78dd4ded0eb540ab0
(企業サイトでしたため、リンクを貼っていいのかわからず、
すみませんがキャプチャーのみ添付させていただきます。)

上記のキャプチャー内のAの部分とBの部分が
参考のサイトのように、ファーストビューでどのデバイスでもBまでの部分が表示されるように実装したいのですが、上記のjsのコードを入れるとエラーが出てしまいます。

もし何かお分かりの方がいらっしゃいましたら、ぜひご教授ください。
どうぞよろしくお願い申し上げます。

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

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

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

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

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

MaShiRo_H

2016/09/21 00:45

こんにちは!画像ですが、urlのもので合っていますか??Aの部分・Bの部分が分からないので、今一度本文上にそのままアップしていただけると助かりますm(_ _)m
uio

2016/09/21 00:54

こんにちは。ご指摘ありがとうございます。 気がつかずに申し訳ございません。。 只今本文部分のリンクを修正いたしました。
guest

回答1

0

JavaScript

1/* remove */

CSS

1.cover { 2 position: relative; 3 width: 100%; 4 /* height: 520px; *//* remove */ 5 max-height: 520px; /* add */ 6 min-height: 80vh; /* add */ 7 overflow: hidden; 8} 9```**動くサンプル:**[https://jsfiddle.net/8z8drhab/3/](https://jsfiddle.net/8z8drhab/3/)

投稿2016/09/21 08:29

kei344

総合スコア69398

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

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

uio

2016/09/21 08:57

ご回答ありがとうございます。 cssのvhで実装する方法、ありがとうございます。 こちらの方法につきましては実践済みで、確かにやりたいことは実現できるのですが、 今回は事情がありjsで動かしたいと思っておりました。 その後、色々なサイトで同様の動きを実装しているサイトを複数見つけまして、 jsでも色々な実装方法があることに気がつきました。 もう少しチャレンジしてみます。 ご回答ありがとうございました。
kei344

2016/09/21 09:09

前提は詳しく書いてもらえるとありがたいです。 これでCSSのvhと同じようなことになります。 $(".cover").css( "height", window.innerHeigh * 0.8 ); 「③」は縦画面と横画面で最低限残す高さを決めています。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問