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

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

ただいまの
回答率

90.01%

レスポンシブサイトで、ウインドウの幅を変えるとpaddingが消えてしまう

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 756
退会済みユーザー

退会済みユーザー

 前提・実現したいこと

リストで4つの画像を横並びにしています。
http://photoshopvip.net/88174
このサイトのホバーエフェクトをコピペして使っています。

ウインドウサイズが大きいときは、画像が1列に横並び、
ウインドウサイズを小さくすると、画像を2つ横並びにして2列、
1つずつ縦並びという表示にしたいです。

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

ウインドウを小さくしていくと、画像の間に設定したpaddingが消えて、画像が重なってしまいます。
イメージ説明
↓狭くすると
イメージ説明

 該当のソースコード

<div>
<ul class="wp">
                <li>
                        <figure class="snip1229"> <img src="img/a.jpg" alt="sample84" />
                                <figcaption>
                                        <div class="heading">
                                                <h3>文章</h3>
                                        </div>
                                        <p>文章</p>
                                </figcaption> <a href="#"></a> </figure>
                </li>
                <li>
                        <figure class="snip1229"> <img src="img/b.jpg" alt="sample84" />
                                <figcaption>
                                        <div class="heading">
                                                <h3>文章</h3>
                                        </div>
                                        <p>文章</p>
                                </figcaption> <a href="#"></a> </figure>
                </li>
                <li>
                        <figure class="snip1229"> <img src="img/c.jpg" alt="sample84" />
                                <figcaption>
                                        <div class="heading">
                                                <h3>文章</h3>
                                        </div>
                                        <p>文章</p>
                                </figcaption> <a href="#"></a> </figure>
                </li>
                <li>
                        <figure class="snip1229"> <img src="img/d.jpg" alt="sample84" />
                                <figcaption>
                                        <div class="heading">
                                                <h3>文章</h3>
                                        </div>
                                        <p>文章</p>
                                </figcaption> <a href="#"></a>
              </figure>
                </li>
        </ul>
</div>
figure.snip1229 {
  position: relative;
  float: left;
  overflow: hidden;
  margin: 10px 1%;
  min-width: 220px;
  max-width: 310px;
  max-height: 220px;
  width: 100%;
  background: #000000;
  color: #ffffff;
  text-align: center;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.15);
}
figure.snip1229 * {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all 0.45s ease;
  transition: all 0.45s ease;
}
figure.snip1229 img {
  max-width: 100%;
  position: relative;
  opacity: 0.9;
}
figure.snip1229 figcaption {
  position: absolute;
  top: 9%;
  left: 7%;
  right: 7%;
  bottom: 80%;
  border: 1px solid white;
  border-width: 0 1px 1px;
  -webkit-transition-delay: 0.35s;
  transition-delay: 0.35s;
}
figure.snip1229 .heading {
  overflow: hidden;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
figure.snip1229 h3 {
  display: table;
  margin: 0 auto;
  padding: 0 10px;
  position: relative;
  text-align: center;
  width: auto;
  text-transform: uppercase;
  font-weight: 400;
}
figure.snip1229 h3 span {
  font-weight: 800;
}
figure.snip1229 h3:before,
figure.snip1229 h3:after {
  position: absolute;
  display: block;
  width: 1000%;
  height: 1px;
  content: '';
  background: white;
  top: 50%;
}
figure.snip1229 h3:before {
  left: -1000%;
}
figure.snip1229 h3:after {
  right: -1000%;
}
figure.snip1229 p {
  top: 20%;
  -webkit-transform: translateY(-20%);
  transform: translateY(-20%);
  position: absolute;
  width: 100%;
  padding: 0 20px;
  margin: 0;
  opacity: 0;
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
figure.snip1229 a {
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  position: absolute;
  z-index: 1;
}
figure.snip1229:hover img,
figure.snip1229.hover img {
  opacity: 0.15;
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}
figure.snip1229:hover figcaption,
figure.snip1229.hover figcaption {
  top: 9%;
  bottom: 9%;
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
figure.snip1229:hover p,
figure.snip1229.hover p {
  opacity: 1;
  -webkit-transition-delay: 0.4s;
  transition-delay: 0.4s;
}

.wp{
  display: flex;
 justify-content: center;
  max-width: 1024px;
  margin: 0 auto;
  text-align: center;
  flex-wrap: wrap;
}

.wp li {
  max-width: 25%;
    padding: 2px;
}

.wp img {
  width: 100%;
  height: auto;
}

.wp ul {
  overflow: hidden;
}

.wp ul li {
  vertical-align: top;
}


/*media query*/

@media screen and (max-width: 890px) {
  .wp li {
    max-width: 50%;
  }
}

@media screen and (max-width: 414px) {
  .wp li {
    max-width: none;
  }
}


見づらくなっていて申し訳ありませんが、よろしくお願いいたします。

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • Lhankor_Mhy

    2018/02/16 10:23

    当方の環境で試したところ、問題は再現しませんでした。環境の問題か、あるいはご提示いただけていない部分のコードに問題があるのかもしれません。質問者の環境ではご提示されているコード*だけ*で問題が再現しますか?

    キャンセル

  • 退会済みユーザー

    退会済みユーザー

    2018/02/16 11:02

    ご丁寧に対応していただいて、ありがとうございました。 該当箇所だけで、ChromeとFirefoxで試してみましたが、画像が重なりました。 しかし、同じような動きをしていなかったため、 (<ul class="wp">を囲っている<div>にもpaddingを指定していた) 今後質問する際は、提示したコードだけで問題が再現するか試してみます。

    キャンセル

  • Lhankor_Mhy

    2018/02/16 11:25

    解決したようで何よりです。当方でも見落としてました。限られたウィンドウサイズのみで再現しました。失礼いたしました。

    キャンセル

回答 1

checkベストアンサー

+4

こんにちは。
軽くしか見ていませんが
重なる原因は「figure.snip1229」に与えているmin-widthかと思います。
記載をなくすか、mediaのブレイクポイントに合わせて追記する形ですかね。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/02/16 11:05

    ありがとうございました。min-widthを消したら問題が解決いたしました。

    キャンセル

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

  • ただいまの回答率 90.01%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる