画像回り込みをした時に一部スマホで解除がきかずレイアウトが崩れる

Simplicityの特徴 › フォーラム › テーマファイルのカスタマイズに関する質問など › 画像回り込みをした時に一部スマホで解除がきかずレイアウトが崩れる

8件の返信スレッドを表示中
  • 投稿者
    投稿
    • #25960
      はんな
      ゲスト
    • #25962
      はんな
      ゲスト

      途中送信してしまいましたすみません。

      上記のリンク先の2番目のように画像回り込みをした時に一部スマホで解除がきかずレイアウトが崩れてしまいます。

      メディアクエリなどcssに関しての知識がなくどこをカスタマイズしたらいいのかわからない状態です。モバイルでの表示に関してどこを修正したらいいのでしょうか。初歩的な質問で大変申し訳ございませんがアドバイスなどいただけたら幸いです。

    • #25984
      hidekichi
      ゲスト

      現在公開されているサイトのアドレスと、一部のスマホの名称を教えていただけると助かります。

      解除が効かない理由としては、float:noneがその画面サイズで画像に対して入っていないのではないかと思うのですが、画像を囲む親要素、あるいは画像だけではなく、wordpress misc部分にあるalignrightなどのプロパティがその端末の画面サイズで有効になっていたりするのではないかなぁと思ったりも。

    • #25995
      アバター画像わいひら
      キーマスター

      一部スマホということは、その他のモバイル端末とパソコンでは正常表示されているということでしょうか

      僕も.alignrightに適切なCSSセレクタで、float:none;しておけば大丈夫のような気がします。

      ただ詳細は、実際のURLを見てみないとわからないかもしれません。

      また、以下のようにデベロッパーツール上でいろいろ試してみると解決策が見つかるかもしれません。
      WordPressテーマのCSSカスタマイズ向けChromeデベロッパーツールの使い方

    • #25998
      はんな
      ゲスト

      hidekichi様、わいひら様ご提案ありがとうございます。
      例えばこのページ http://woman-lifeinfo.com/somethingnavy-by-arielle/
      ですとiphone4,5は正常ですが6や他のモバイルだと画像の右横に数行文字が入ってしまいます。

      これは単に私の画像サイズの選び方や回りこみ解除のやり方が間違っているのでしょうか?それともカスタマイズにより治すことができる問題でしょうか?

      画像サイズは他の記事でもほぼ280~300くらいの横幅に指定しています。これがそもそもいけないのでしょうか。初歩的な質問で大変申し訳ありませんがご指摘いただけたら幸いです。

    • #25999
      hidekichi
      ゲスト

      おそらく、親テーマstyle.cssの.alignleftが有効になっている、あるいは継承されてしまっている(※)と思います。

      @media screen and (max-width: 639px){
        .article img {
          width:100%;
          height: auto;
        }
        .alignleft {
          float: none;
        }
      }

      こんなのを子テーマに書いてみてはどうでしょう?

      意味合いとしては、639pxまでの画面サイズの時、.articleのブロック内にあるimgは幅100%で、高さは自動。
      同じくして、.alignleftはフロートさせない。

      本来、画面サイズの幅100%であれば文字は勝手に改行されるはずですが、例えばタブレットとかで100%にすると写真大きすぎるやんって事になるかも知れません。そんな時は、widthの横幅を指定すれば良いのです。ただし、その時にfloatがleftなりrightなり効いていると、文字が回りこんでしまうので、floatを解除させます。

      ※ ブレイクポイントで指定した要素のスタイル(classやid)のプロパティは、それ以外の同じセレクタ、例えばstyle.cssに書いてある内容に追記されるような感じです。
      例えば、親テーマstyle.cssに

      .article img {
        width: 300px;
        height: 300px;
        border: 1px solid #f00;
      }

      こう書いてあって、子テーマあるいはnarrow.cssに

      @media screen and (max-width: 639px){
        .article img {
          width: 100%;
          height: auto;
        }
      }

      こう書かれていた場合、639pxまでの画面幅の端末では.article imgで確かに幅100%、高さ自動で表示されますが、元々のstyle.cssにあるborderの設定があるのでやはりボーダーが表示されてしまいます。表示されてマズイ場合は、それを打ち消すプロパティを設定する必要があります。

      @media screen and (max-width: 639px){
        .article img {
          width: 100%;
          height: auto;
          border: none;
        }
      }
    • #26001
      アバター画像わいひら
      キーマスター

      Wordpressの画像の回り込みを利用すると、どうしてもそのように表示されてしまう画面の大きさがあります。(なので僕はブログなどで使わないようにしています。)

      解決するには、hidekichiさんの書いたようなメディアクエリを指定したCSSを、サイトの仕様(回り込みに利用する画像サイズ)に合わせて、書くしかないかもしれません。

      僕だったらこんな感じにmobile.cssに書くかもしれません。

      @media screen and (max-width: 639px){
        .alignleft {
          float: none;
        }
      }
    • #26003
      はんな
      ゲスト

      hidekichi様わいひら様、ありがとうございます!

      アドバイスに従いご指摘の点を書き加えた結果うまく表示させることができました。
      本当にありがとうございました。

      ワードプレスではそもそもこういった画像の回りこみはあまり推薦されないのですね。これから少し別のやり方などを模索していこうと思います。

    • #26005
      アバター画像わいひら
      キーマスター

      .alignleftは、Wordpressデフォルトの機能なので、推奨されていないということはないと思います。

      ただ、ここまでデバイスが多様化してきた現在では、上に書かれたような問題点もあるということを理解した上で、利用する必要があるかもしれません。

8件の返信スレッドを表示中
  • トピック「画像回り込みをした時に一部スマホで解除がきかずレイアウトが崩れる」には新しい返信をつけることはできません。
スポンサーリンク
アドセンス(大)
アドセンス(大)