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

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

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

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

HTML5

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

Q&A

4回答

1087閲覧

cssで吹き出しをうまく作成したい

yyymmm

総合スコア30

CSS3

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

HTML5

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

0グッド

1クリップ

投稿2020/01/10 02:07

編集2020/01/10 04:52

cssで、吹き出しを作りたいのですがうまくいきません。
現状は、「css 吹き出し」などで検索して出てきたcssのデザインをそのまま使っているので、
ほとんど分かっていないのにとりあえず貼り付けた状態です・・・。
四角で、文章も不格好になっています。(下画像参照)
イメージ説明

下の画像のように、
・丸の吹き出しにする
・文章をその中央に配置する(文章自体は左揃え)
に変更したいのです。
イメージ説明

具体的にどこを直せばよいか、ご教授お願いいたします・・・。

html <div id="youtube_right"> <p>aaaaaaaaaaaaa<br>aaaaaaaaaaaaaaaa<br>aaaaaaaaaaaaaaaaaaaaaa</p> </div> css #youtube_right{ position: relative; margin: 2em 0 2em 40px; padding: 15px; background: #d3d3d3; border-radius: 30px; } #youtube_right:before { content: ""; position: absolute; left: -38px; width: 13px; height: 12px; bottom: 0; background: #d3d3d3; border-radius: 50%; } #youtube_right:after { content: ""; position: absolute; left: -24px; width: 20px; height: 18px; bottom: 3px; background: #d3d3d3; border-radius: 50%; } #youtube_right p{ margin: 0; padding: 0; }

イメージ説明

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

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

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

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

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

guest

回答4

0

吹き出しの丸の幅と高さを固定にして良いのなら以下の修正でいけると思います。

CSS

1#youtube_right{ 2 position: relative; 3 margin: 2em 0 2em 40px; 4 padding: 15px; 5 background: #d3d3d3; 6 border-radius: 50%; 7 width: 200px; 8 height: 200px; 9 display: flex; 10 justify-content: center; 11 align-items: center; 12}

投稿2020/01/10 03:03

vnsa7221

総合スコア348

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

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

yyymmm

2020/01/10 04:51

ありがとうございます。参考にさせていただきます!
guest

0

Flexbox を使うとシンプルにできそうです。

css

1#youtube_right{ 2 position: relative; 3 margin: 2em 0 2em 40px; 4 padding: 40px 40px; 5 background: #d3d3d3; 6 border-radius: 50%; 7 display: inline-flex; 8 justify-content: center; 9 align-items: center; 10/* width: 300px; */ 11/* height: 300px; */ 12}

width: height:を指定しなければ、中身のテキストに合わせてサイズが決まります。
中身によっては完全な円ではなく楕円になりますが、見栄え的には問題ないと思います。


vnsa7221さんの回答との違いは、inline-flexにしている点です。
これで中身にあわせて自動で吹き出しのサイズが決まります。

投稿2020/01/10 04:56

編集2020/01/10 05:05
hatena19

総合スコア33715

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

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

0

私も作ってみました。
width,height固定で作ってます。

css

1 2#youtube_right{ 3 position: relative; 4 margin: 2em 0 2em 40px; 5 padding: 15px; 6 background: #d3d3d3; 7 border-radius: 50%; 8 width: 200px; 9 height: 200px; 10 11} 12 13#youtube_right p{ 14 position: absolute; 15 top: 50%; 16 left: 50%; 17 transform: translateY(-50%) translateX(-50%); 18 -webkit- transform: translateY(-50%) translateX(-50%) 19} 20 21#youtube_right:before { 22 content: ""; 23 position: absolute; 24 left: -38px; 25 width: 13px; 26 height: 12px; 27 bottom: 0; 28 background: #d3d3d3; 29 border-radius: 50%; 30} 31 32#youtube_right:after { 33 content: ""; 34 position: absolute; 35 left: -24px; 36 width: 20px; 37 height: 18px; 38 bottom: 3px; 39 background: #d3d3d3; 40 border-radius: 50%; 41} 42 43#youtube_right p{ 44 margin: 0; 45 padding: 0; 46} 47

投稿2020/01/10 03:19

KazuSaka

総合スコア640

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

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

yyymmm

2020/01/10 04:51

ありがとうございます;;参考にさせていただきます!
guest

0

  • #youtube_rightにwidth/heightを設定する
  • 同じ値をborder-radiusに設定する
  • 同じ値を#youtube_right pのwidth/heightを設定する
  • #youtube_right pにvertical-align:middleとword-break: break-allを設定する

投稿2020/01/10 02:50

yambejp

総合スコア114814

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

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

yyymmm

2020/01/10 04:11

ありがとうございます;; できたのですが、左右中央揃えってどうやったらできるでしょうか・・・ あと、フッターが何故か宙に浮いてしまいました。。 現在のcss #youtube_right{ position: relative; margin: 2em 0 2em 40px; padding: 15px; background: #faf0e6; border-radius: 30px; width: 300px; height: 50px; } #youtube_right:before { content: ""; position: absolute; left: -38px; width: 13px; height: 12px; bottom: 0; background: #faf0e6; border-radius: 50%; } #youtube_right:after { content: ""; position: absolute; left: -24px; width: 20px; height: 18px; bottom: 3px; background: #faf0e6; border-radius: 50%; } #youtube_right p{ width: 300px; height: 50px; vertical-align: middle; margin: 0 auto; } ※吹き出しの色など、若干変えました
yambejp

2020/01/10 04:32 編集

#youtube_right pにalign:centerを設定してください 長い文字列が折り返しされたときどうしたいかにもよります
yyymmm

2020/01/10 04:53

画像追加しました。現状況です。 text-align centerで中央になってのですが、左揃え中央寄せにするにはどうしたらいいでしょうか。。 あと、フッターが今のような状況になってしまっています。すみませんがよろしくお願いします。
yambejp

2020/01/10 04:59

ごめんなさい、元の質問にフッタもhtmlで追記してください
yyymmm

2020/01/10 05:23

<footer> <div id="footer_inner"> <div class="copyright">Copyright &copy; ...... All Rights Reserved. </div></div> </footer> こちらです!
yyymmm

2020/01/10 05:24

CSSはこちらです、 footer{ width: 100%; height: 58px; background-color: #73b55e; margin-top: 30px; position: absolute; } #footer_inner{ padding-top: 20px; } .copyright { font-size: 10px; font-weight: bold; text-align: center; color: #484848; } html, body{ height: 100%; }
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問