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

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

ただいまの
回答率

89.10%

左右に分かれたブロックのレスポンシブ対応の実装方法

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 81

chikasei427

score 6

https://www.try110.com/bousai_kawara/
こちらのサイト模写コーディングを行っております。

イメージ説明
模写コーディングで、画像のような実装を行いました。

イメージ説明
ブロックはこちらの画像のような構成になっております。

質問させて頂きたいのが、画像と文字が横並びなっている箇所になります。
左側の画像を float:left 右側の文字を float:right でレイアウトしています。

こちらをレスポンシブ対応した際の、コーディングの記述がわからないのでご教示願いたいです。

【実現したいこと】
・画像は、画面幅が変わってもサイズは変わらない
・文字は、文字を囲むブロックが狭くなって、それに合わせて文字が改行されながら、
したに長くなっていく。

【HTML】

      <section class="sec6">
        <div class="sec6_boxes">
          <h3>
            <img src="box2_hd_index_001-pc.png" alt="鶴弥の防災瓦はココが違います">
            <img src="box2_img_index_001-pc.png" class="sec6_boxes_img">
          </h3>
          <div class="sec6_flex">
            <div class="sec6_boxes_left">
              <ul class="sec6_ul">
                <li><img src="box2_btn_index_001-pc.png" alt="耐震性が違う!"></li>
                <li><img src="box2_btn_index_002-pc.png" alt="耐久性が違う!"></li>
                <li><img src="box2_btn_index_003-pc.png" alt="経済性が違う!"></li>
                <li><img src="box2_btn_index_004-pc.png" alt="快適性が違う!"></li>
              </ul>
            </div>
            <div class="sec6_boxes_right">
              <h3>
                <img src="box2_hd2_index_001-pc.png" alt="愛知県の三州瓦 日本三大瓦ブランドの一つ、シェア79%(2018年度)">
              </h3>
              <p><img src="box2_img_index_002-pc.png" alt="三州瓦"></p>
              <p>三州瓦(さんしゅうがわら)とは、愛知県西三河地方の旧国名三河を意味する「三州」に由来します。良質な粘土が豊富にあるこの地域は、原料である粘土の調達が容易であります。さらに、トラックの帰便活用によって運送コストを低く抑えられたこと、原材料業者や設備業者が多く集まったことなどにより成功・繁栄し、三大産地(愛知県、島根県、兵庫県)の中でも高いシェアを占めています。</p>
              <div class="clear"></div>
            </div>
          </div>
        </div>
      </section>


【CSS】

.sec6{
  margin-top:81px;
  margin-bottom:50px;
}

.sec6_boxes{
  position: relative;
  background:url("bg_boxStyle01.png");
  border-radius:10px;
  border:3px solid #B5C9B0;
  margin-right:40px;
  margin-left:40px;
}


.sec6_boxes h3{
  margin:3% 4% 2%;
  text-align:left;
}

.sec6_boxes_img{
  position:absolute;
  top:-20px;
  right:27px;
}

.sec6_boxes_left{
  width:48%;
}

.sec6_boxes_right{
  width:50%;
  padding-bottom:20px;
  margin-top:30px;
  margin-left:18px;
  text-align:left;
}

.sec6_boxes_right > p{
  float:left;
}

.sec6_boxes_right > p:nth-child(3){
  float:right;
  width:66%;
}

.sec6_flex{
  display:flex;
  justify-content:space-between;
  margin:0 4% 0;
}

.sec6_ul{
  margin:0;
  padding:0;
  list-style:none;
  display:flex;
  flex-wrap:wrap;
}

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

.sec6_ul li{
  display:inline-block;
  margin: 0 2.3% 10px;
  width:45%;
}

.sec6_boxes_right h3{
  margin:0 0 20px 0;
}

.sec6_boxes_right h3 image{
  width:100%;
}

イメージ説明
現状は右側の文字に width:66%; を設定していますが、
画面幅が狭くなると改行されてしまいます。
右側の文字のブロックを絶対値にすると、文字がしたに改行されていきません。

どのように書いて実装して行けば良いかご教示頂けますと幸いです。

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

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

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

    クリップを取り消します

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

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

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

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

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

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

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

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

    質問の評価を下げる

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

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

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

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

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

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

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

    詳細な説明はこちら

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

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

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

回答 1

checkベストアンサー

0

▼ この部分ですよね?

            <div class="sec6_boxes_right">
              <h3> ~ </h3>
              <p><img src="box2_img_index_002-pc.png" alt="三州瓦"></p>
              <p>三州瓦(さんしゅうがわら)とは、~ ~でも高いシェアを占めています。</p>
              <div class="clear"></div>
            </div>
.sec6_boxes_right > p{
  float:left;
}

.sec6_boxes_right > p:nth-child(3){
  float:right;
  width:66%;
}


画像サイズ固定との事ですので

cssの変更

.sec6_boxes_right h3 + p{
  float:left; 
  width:●●px; /* 画像横巾 */
}
.sec6_boxes_right > p:nth-child(3){
  float:right;
  width:calc(100% - ▲▲px); 
/*▲▲pxは画像(●●px)のままだとカラム落ちしたり
  画像に寄りすぎてしまうので
  ●●px+10px位にすると良いです*/
}

これで、画像巾固定でカラム落ちしなくなると思います。

ついでに、、、
余程古いブラウザ対応にしているのでなければ
floatクリアは

<div class="clear"></div>

を削除して

.sec6_boxes_right{
  width:50%;
  padding-bottom:20px;
  margin-top:30px;
  margin-left:18px;
  text-align:left;
  overflow:hidden; 
/* ▲これを追加、clearと同じ効果になり、
   padding、marginも効きます*/
}


になさっても良いかな、と思います。

投稿

編集

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2020/06/30 23:03

    calcを使うのですね。
    勉強なりました。
    ありがとうございます!

    キャンセル

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

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