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

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

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

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

HTML

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

CSS

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

Q&A

2回答

2514閲覧

(画像あり) ウィンドウ幅を縮めると画像の下に隙間があく (JavaScript)

chanmar

総合スコア29

JavaScript

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

HTML

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

CSS

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

0グッド

0クリップ

投稿2017/11/22 07:54

編集2017/11/22 08:15

現在、レスポンシブでサイトを制作しております。
TOPページに、キービジュアルとなる画像があり、その下にメニューなどのコンテンツを配置しているのですが、

ウィンドウ幅を縮めると画像サイズは比率を保ったまま縮み、縮んだ分だけ下のコンテンツとの隙間があいてしまいます。

おそらく画像の高さをピクセルで指定しているからなのですが、

どのようにすれば、PC表示時の隙間のまま、スマホ表示できるでしょうか?

イメージ説明

ちなみに、画像はスライド式(フェードイン・アウトの動作)にしたく、ネットで拾ってきたJavaScriptを入れているのですが、その中にCSSが書かれているようで、そこを変更したらいけるのかな・・と思っております。

javascript

1$(function(){ 2// 設定 3var $width =750; // 横幅 4var $height =300; // 高さ 5var $interval = 3000; // 切り替わりの間隔(ミリ秒) 6var $fade_speed = 1000; // フェード処理の早さ(ミリ秒) 7$("#slide ul li").css({"position":"relative","overflow":"hidden","width":$width,"height":$height}); 8$("#slide ul li").hide().css({"position":"absolute","top":0,"left":0}); 9$("#slide ul li:first").addClass("active").show(); 10setInterval(function(){ 11var $active = $("#slide ul li.active"); 12var $next = $active.next("li").length?$active.next("li"):$("#slide ul li:first"); 13$active.fadeOut($fade_speed).removeClass("active"); 14$next.fadeIn($fade_speed).addClass("active"); 15},$interval); 16});

CSS

1img { 2 height: auto; 3 max-width: 100%; 4} 5 6#slide { 7max-width:750px; 8margin:0 auto; 9}

HTML

1<div id="slide"> 2 <ul> 3 <li><img src="1.jpg"></li> 4 <li><img src="2.jpg"></li> 5 <li><img src="3.jpg"></li> 6 </ul> 7</div>

どうぞ宜しくお願い致します。

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

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

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

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

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

m.ts10806

2017/11/22 07:59

html、cssもなるべく全てご提示ください。※プラグイン利用部分は参考先URLとカスタマイズした部分があればその内容をご提示ください。
chanmar

2017/11/22 08:04

ご指摘ありがとうございます。他コードも追記いたしました。
m.ts10806

2017/11/22 08:11

このコードそのままだとjavascriptエラーが出ます。($width is not defined) エラーのないコードをご提示いただくと共に、あとレスポンシブの指定部分はありますか?
m.ts10806

2017/11/22 08:14

あと、直下のコンテンツもスライドの下に隠れてしまいますね。現在の状況が再現可能なHTML,CSSをご提示いただけると助かるのですが・・。
guest

回答2

0

…ネットで拾ってきたJavaScriptを入れている…

提示コードの誤記述や提示部分以外が絡んでいる可能性もありますので、一度、このJavascript部分を外してHTML(画像1つ)とCSSのみで状況を確認してみてはどうでしょうか?

この状態で期待どおりのレスポンシブになってからJavascriptを再度適用し、どこの部分が影響しているのかを1つ1つ確認した方が、今後のために良いと思います。

投稿2017/11/26 00:44

yoshinavi

総合スコア3523

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

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

0

Javascript

1var $height =300; // 高さ 2

の箇所で高さサイズ固定されているようなので、これを画像のサイズと合致させるだけでいけるのではないかと思います。具体的には

Javascript

1var $height = $("#slide ul li img").height(); 2

上記でウィンドウサイズを変更してリロードすれば追随するのではないかと思います。
ウィンドウのリサイズに追随するには根本的に見直しが必要なように思います。

投稿2017/11/22 10:37

sogatake

総合スコア12

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問