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

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

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

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

HTML

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

CSS

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

Q&A

0回答

433閲覧

画像をうまく一列四枚の計二段で表示させたいのですが上手くいきません。

suekou5

総合スコア3

JavaScript

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

HTML

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

CSS

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

0グッド

1クリップ

投稿2023/02/05 07:17

大きい画像を上に表示して、左右のボタンで切り替えられるようにしたい。

ここに実現したいことを箇条書きで書いてください。

  • 大きい画像を上に表示して、左右の矢印ボタンで画像を切り替えられるようにしたい。
  • 切り替える画像が八枚あるのでその画像を大きい画像の下に一列四枚の二段で表示したい。
  • ついでに下に表示してある画像をクリックすると上の大きい画像が切り替わるようにしたい。

前提

専門一年生です。
授業でWeb画面制作の課題が出たのですが上手くいかなくなってしまったので質問させていただきます。
わかりにくい説明になってしまっていたら申し訳ないです。
どこが間違っているのかわからないので今書いているコードを全て載せています。
見にくいと思いますがご了承ください。

今上記の実現したいことで書いたようなWeb画面を作りたいと思っています。今は矢印で画像を切り替えたり、下の小さい画像を押すと画像を切り替えるといったシステムは作れているのですが、下の小さい画像がうまく二列に並べることができなくて困っています。Webで開発者ツールを使って確認したのですが、何が悪いのかわからなかったです。

発生している問題・エラーメッセージ

該当のソースコード

html

<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>ホーム画面</title> <meta name="description" content="ホーム画面"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" type="text/css" href="https://coco-factory.jp/ugokuweb/wp-content/themes/ugokuweb/data/reset.css"> <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.css"> <link rel="stylesheet" type="text/css" href="../css/style.css"> </head> <body> <ul class="gallery"> <li><img src="../img/kankougazou/img1.jpg" alt=""></li> <li><img src="../img/kankougazou/img2.jpg" alt=""></li> <li><img src="../img/kankougazou/img3.jpg" alt=""></li> <li><img src="../img/kankougazou/img4.jpg" alt=""></li> <li><img src="../img/kankougazou/img5.jpg" alt=""></li> <li><img src="../img/kankougazou/img6.jpg" alt=""></li> <li><img src="../img/kankougazou/img7.jpg" alt=""></li> <li><img src="../img/kankougazou/img8.jpg" alt=""></li> </ul> <ul class="choice-btn"> <li><img src="../img/kankougazou/img1.jpg" alt=""></li> <li><img src="../img/kankougazou/img2.jpg" alt=""></li> <li><img src="../img/kankougazou/img3.jpg" alt=""></li> <li><img src="../img/kankougazou/img4.jpg" alt=""></li> <li><img src="../img/kankougazou/img5.jpg" alt=""></li> <li><img src="../img/kankougazou/img6.jpg" alt=""></li> <li><img src="../img/kankougazou/img7.jpg" alt=""></li> <li><img src="../img/kankougazou/img8.jpg" alt=""></li> </ul> <script src="https://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script> <script src="https://cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.min.js"></script> <script src="../js/script.js"></script> </body>

js

//上部画像の設定
$('.gallery').slick({
infinite: true, //スライドをループさせるかどうか。初期値はtrue。
fade: true, //フェードの有効化
arrows: true,//左右の矢印あり
prevArrow: '<div class="slick-prev"></div>',//矢印部分PreviewのHTMLを変更
nextArrow: '<div class="slick-next"></div>',//矢印部分NextのHTMLを変更
});

//選択画像の設定
$('.choice-btn').slick({
infinite: true, //スライドをループさせるかどうか。初期値はtrue。
slidesToShow: 8, //表示させるスライドの数
focusOnSelect: true, //フォーカスの有効化
asNavFor: '.gallery', //連動させるスライドショーのクラス名
});

//下の選択画像をスライドさせずに連動して変更させる設定。
$('.gallery').on('beforeChange', function(event, slick, currentSlide, nextSlide) {
var index = nextSlide; //次のスライド番号
//サムネイルのslick-currentを削除し次のスライド要素にslick-currentを追加
$(".choice-btn .slick-slide").removeClass("slick-current").eq(index).addClass("slick-current");
});

css

@charset "utf-8";

/* 共通部分 */
*, *::before, *::after {
box-sizing: border-box;
}
html {
font-size: 100%;
}
body{
font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", sans-serif;
line-height: 1.7;
color: #432;
}
a {
text-decoration: none;
}

img {
width: 100%;
height: auto;
vertical-align: bottom;
}

.wrapper {
width: 94%;
max-width: 900px;
margin: 0 auto;
padding: 0 4%;
}

/* 背景画像 */
.big-bg {
background-size: cover;
background-position: center top;
}

/* タイトル */
.page-title {
font-size: 4rem;
font-family: 'Philosopher', serif;
text-transform: uppercase;
font-weight: normal;
}

/* ボタン */
.button {
font-size: 1rem;
background-color: #0bd;
color: #fff;
border-radius: 5px;
padding: 18px 32px;
}

/* header */
#index {
background-image: url();
min-height: 100vh;
}
.page-header {
display: flex;
justify-content: space-between;
}
.page-header a {
color: #432;
}
.main-nav {
display: flex;
font-size: 1.25rem;
margin-top: 34px;
list-style: none;
}
.main-nav li {
margin-left: 36px;
}
.main-nav a {
color: #432;
}

/ホーム/
.gallery {
margin: 0 0 5px 0;
}

.slick-prev,
.slick-next {
position: absolute;/絶対配置にする/
z-index: 3;
top: 42%;
cursor: pointer;/マウスカーソルを指マークに/
outline: none;/クリックをしたら出てくる枠線を消す/
border-top: 2px solid #ccc;/矢印の色/
border-right: 2px solid #ccc;/矢印の色/
height: 25px;
width: 25px;
}

.slick-prev {/戻る矢印の位置と形状/
left:2.5%;
transform: rotate(-135deg);
}

.slick-next {/次へ矢印の位置と形状/
right:2.5%;
transform: rotate(45deg);
}

.choice-btn li{
cursor: pointer;
outline: none;
background:#333;
width:25%!important;
}

.choice-btn li img{
opacity: 0.4;/選択されていないものは透過40%/
}

.choice-btn li.slick-current img{
opacity: 1;/選択されているものは透過しない/
}

.choice-btn .slick-track {
transform: unset !important;/画面幅サイズ変更に伴うサムネイル固定/
}

ul {
margin: 0;
padding: 0;
list-style: none;
}

a:hover,
a:active {
text-decoration: none;
}

h1 {
text-align: center;
font-size:6vw;
letter-spacing: 0.1em;
text-transform: uppercase;
margin:30px 0;
}

p {
margin:30px 0;
word-wrap : break-word;
}

/お問い合わせ画面/
#contact {
background-image: url(../img/haikei/contacthaikei1.jpg);
min-height: 100vh;
}

/* フォーム */
form div {
margin-bottom: 14px;
}
label {
font-size: 1.125rem;
margin-bottom: 10px;
display: block;
}
input[type="text"],
input[type="email"],
textarea {
background: rgba(255,255,255,.5);
border: 1px #fff solid;
border-radius: 5px;
padding: 10px;
font-size: 1rem;
}
input[type="text"],
input[type="email"] {
width: 100%;
max-width: 240px;
}
textarea {
width: 100%;
max-width: 480px;
height: 6rem;
}
input[type="submit"] {
border: none;
cursor: pointer;
line-height: 1;
}

試したこと

開発者ツールでチェックを付けたり外したり、波線が出ているところを少しいじってみたりしましたが、何がエラーなのかわかりませんでした。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問