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

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

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

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

CSS

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

Q&A

解決済

2回答

610閲覧

吹き出しの調整方法を教えてください

nanashi53

総合スコア2

HTML

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

CSS

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

0グッド

0クリップ

投稿2021/05/03 05:31

吹き出しをで会話のような感じにしたいんですが、ウィンドウ幅を狭くすると吹き出しが先生という文字と重なってしまいます。そうではなく、画像の横にずっとあるようにするにはどうすればいいですか?
画像とコードはこの通りです。

HTML

1<div class="balloon"> 2 <figure class="balloon-image-left"> 3 <img src="jpeg/sennsei2.jpeg" alt="先生"> 4 <figcaption class="balloon-image-description"> 5 先生 6 </figcaption> 7 </figure> 8 <div class="balloon-text-right"> 9 <p> 10Aくん、学校って何をする所だと思う?って聞かれてすぐに答えられる? 11 </p> 12 </div> 13</div> 14 15<div class="balloon"> 16 <figure class="balloon-image-right"> 17 <img src="jpeg/1.jpg" alt="生徒A"> 18 <figcaption class="balloon-image-description"> 19 生徒A 20 </figcaption> 21 </figure> 22 <div class="balloon-text-left"> 23 <p> 24 う~~ん、勉強するところ? 25 </p> 26 </div> 27</div> 28 29<div class="balloon"> 30 <figure class="balloon-image-left"> 31 <img src="jpeg/sennsei2.jpeg" alt="先生"> 32 <figcaption class="balloon-image-description"> 33 先生 34 </figcaption> 35 </figure> 36 <div class="balloon-text-right"> 37 <p> 38 そうだね!勉強する所でもあるよね。じゃあ勉強するだけの所なのかな?</p> 39<p> それだとどうして課題を出したり、 40 友達とグループになっていろんなことをしたりしないといけないのかな?</p> 41 42 </div> 43</div> 44 45<div class="balloon"> 46 <figure class="balloon-image-right"> 47 <img src="jpeg/1.jpg" alt="生徒A"> 48 <figcaption class="balloon-image-description"> 49 生徒A 50 </figcaption> 51 </figure> 52 <div class="balloon-text-left"> 53 <p> 54 確かに。何が目的でそんなことをするんだろう? 55 </p> 56 </div> 57</div> 58```CSS 59.balloon { 60margin-bottom: 2em; 61position: relative; 62} 63.balloon:before,.balloon:after { 64clear: both; 65content: ""; 66display: block; 67} 68.balloon figure { 69width: 85px; 70height: 85px; 71} 72.balloon-image-left { 73float: left; 74margin-right: 20px; 75margin-left: 25px; 76} 77.balloon-image-right { 78float: right; 79margin-left: 20px; 80margin-right: 25px; 81} 82.balloon figure img { 83width: 100%; 84height: 100%; 85border: 1px solid #aaa; 86border-radius: 50%; 87margin: 0; 88} 89.balloon-image-description { 90padding: 5px 0 0; 91font-size: 18px; 92text-align: center; 93} 94.balloon-text-right,.balloon-text-left { 95position: relative; 96padding: 10px; 97border: 1px solid; 98border-radius: 10px; 99max-width: -webkit-calc(100% - 120px); 100max-width: calc(100% - 120px); 101display: inline-block; 102} 103.balloon-text-right { 104border-color: #aaa; 105} 106.balloon-text-left { 107border-color: #aaa; 108} 109.balloon-text-right { 110float: left; 111} 112.balloon-text-left { 113float: right; 114} 115.balloon p { 116margin: 0 0 20px; 117} 118.balloon p:last-child { 119margin-bottom: 0; 120} 121/* 三角部分 */ 122.balloon-text-right:before { 123position: absolute; 124content: ''; 125border: 10px solid transparent; 126border-right: 10px solid #aaa; 127top: 15px; 128left: -20px; 129} 130.balloon-text-right:after { 131position: absolute; 132content: ''; 133border: 10px solid transparent; 134border-right: 10px solid #fff; 135top: 15px; 136left: -19px; 137} 138.balloon-text-left:before { 139position: absolute; 140content: ''; 141border: 10px solid transparent; 142border-left: 10px solid #aaa; 143top: 15px; 144right: -20px; 145} 146.balloon-text-left:after { 147position: absolute; 148content: ''; 149border: 10px solid transparent; 150border-left: 10px solid #fff; 151top: 15px; 152right: -19px; 153} 154![ウィンドウ幅が広いもの](acc44f4ad0e583ccc7c72b4cbc40fd47.png)![ウィンドウ幅が狭いもの](8e2557bc69c98da61fe227a49045d3e9.png)

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

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

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

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

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

guest

回答2

0

ベストアンサー

私のさきほどの回答は忘れてください。

ご提示のCSSで.balloon-text-right,.balloon-text-left

CSS

1max-width: -webkit-calc(100% - 120px); 2max-width: calc(100% - 120px);

が設定されていますね。これは、想像するに、ウィンドウ幅(100%)から、顔の画像と名前の部分の表示に必要な120pxを引いた残りを、バルーンテキストの幅の上限にする、という設定なのかなと。

これはあなたが書かれたものではないのですか?

で、たぶんですが、顔の画像と名前の部分の表示に、実際は120pxより多く使われてしまっているのではないでしょうか?そのため、バルーンテキストの幅が上記の設定の上限いっぱいになったときの幅と、顔の画像と名前の部分とを合わせると、ウィンドウ幅を超えてしまうときに、同一ライン上に描画されず下にずれるということが起こるのではないかと思います。

なので、顔の画像と名前の部分の表示に実際に必要な幅を正確に設計してみてください。
そして、上記の120pxの部分をそれに直してみてください。

投稿2021/05/03 07:59

itagagaki

総合スコア8402

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

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

nanashi53

2021/05/03 08:16

わざわざありがとうございます。いけました!! これはコピー&ペーストしたものだったのでわかりませんでした...
guest

0

balloon-image-left balloon-image-description balloon-text-right を、たとえば<div class="balloon-left">で囲んで、.balloon-left{display:flex;}したらいいんじゃないですかね。

投稿2021/05/03 05:50

itagagaki

総合スコア8402

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

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

nanashi53

2021/05/03 07:07

すみません。まったくの初心者であまり言ってることがわかりません。。。一部でいいのでコードで教えていただけないでしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問