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

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

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

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

レスポンシブWebデザイン

レスポンシブWebデザイン(RWD)は、スクリーンのサイズ、プラットフォーム、オリエンテーションに基づいて様々なデバイスで最適のサイトを生成するのウェブデザインとその開発のアプローチ方法を呼びます。

HTML

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

CSS

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

Q&A

解決済

1回答

581閲覧

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

chikasei427

総合スコア7

CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

レスポンシブWebデザイン

レスポンシブWebデザイン(RWD)は、スクリーンのサイズ、プラットフォーム、オリエンテーションに基づいて様々なデバイスで最適のサイトを生成するのウェブデザインとその開発のアプローチ方法を呼びます。

HTML

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

CSS

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

0グッド

0クリップ

投稿2020/06/30 11:18

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%; を設定していますが、
画面幅が狭くなると改行されてしまいます。
右側の文字のブロックを絶対値にすると、文字がしたに改行されていきません。

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

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

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

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

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

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

guest

回答1

0

ベストアンサー

▼ この部分ですよね?

html

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

css

1.sec6_boxes_right > p{ 2 float:left; 3} 4 5.sec6_boxes_right > p:nth-child(3){ 6 float:right; 7 width:66%; 8}

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

cssの変更

css

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

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

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

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

を削除して

css

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

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

投稿2020/06/30 12:30

編集2020/06/30 12:34
-millmill-

総合スコア674

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

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

chikasei427

2020/06/30 14:03

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問