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

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

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

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

HTML5

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

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

Q&A

解決済

1回答

405閲覧

添付画像のような吹き出しの作り方がわからない

AN3000

総合スコア37

CSS3

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

HTML5

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

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

1グッド

1クリップ

投稿2022/12/18 06:14

前提・実現したいこと

以下のような吹き出しのパーツをhtml ,css を駆使して作成したいのですが、うまくできません。
とくに左右の斜めになっている箇所が特に分からず....clip-pathプロパティを使うことで台形などが作成できるのでやってみた結果、outlineが表示されずうまくいきません。

わかる方ぜひ教えていただければ嬉しいです。

イメージ説明

該当のソースコード

HTML

1<div class="wrapper"> 2 <div class="wrapper__text">先着10名様限定</div> 3</div>

CSS

1.wrapper { 2 3 width: 124px; 4 height: 38px; 5 outline: 1px solid #8B6C3A; 6 clip-path: polygon(10% 0, 100% 0%, 90% 100%, 0% 100%); 7 position: relative; 8 9} 10 11.wrapper__text { 12 13 font-size: 14px; 14 line-height: 14px; 15 letter-spacing: 0.05em; 16 width: 100%; 17 height: 100%; 18 display: flex; 19 justify-content: center; 20 align-items: center; 21 22}

試したこと

clip-pathプロパティに関してはこちらのサイトを参考にしました。参考リンク

Cocode🎉を押しています

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

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

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

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

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

guest

回答1

0

ベストアンサー

  • 平行四辺形にするには、transform: skewX()を使います。
  • 吹き出しの三角形部分はborderで2つつくり、ずらして重ねて配置しています。

動作確認用:https://jsfiddle.net/dx53eart/2/

css

1/* リセットCSS */ 2*, 3*::before, 4*::after { 5 margin: 0; 6 padding: 0; 7 box-sizing: border-box; 8} 9 10body { 11 padding: 2em; 12} 13 14/* ここから吹き出しのCSS */ 15.wrapper { 16 width: 124px; 17 height: 38px; 18 position: relative; 19} 20 21.wrapper::before { 22 content: ""; 23 display: block; 24 width: 100%; 25 height: 100%; 26 position: absolute; 27 top: 0; 28 left: 0; 29 transform: skewX(-10deg); /* 斜めに歪ませる */ 30 border: 1px solid #8B6C3A; 31} 32 33.wrapper__text { 34 font-size: 14px; 35 line-height: 14px; 36 letter-spacing: 0.05em; 37 width: 100%; 38 height: 100%; 39 display: flex; 40 justify-content: center; 41 align-items: center; 42} 43 44.wrapper__text::before, 45.wrapper__text::after { 46 content: ""; 47 display: block; 48 width: 0; 49 height: 0; 50 position: absolute; 51 bottom: 1px; /* borderの太さと同じpx */ 52 border-style: solid; 53 border-width: 18px 16px 0 0; /* 吹き出しの三角形部分のの大きさ */ 54} 55 56.wrapper__text::before { 57 transform: translate(0, 100%); 58 z-index: 1; 59 border-color: #ffffff transparent transparent transparent; /* 白色の三角形 */ 60} 61 62.wrapper__text::after { 63 /* 白色三角形の下に、黄土色の三角形を、右下にずらして配置する */ 64 transform: translate(4%, calc(100% + 4%)); /* 4%の部分は、線の太さ */ 65 z-index: 0; 66 67 border-color: #8B6C3A transparent transparent transparent; /* 黄土色三角形 */ 68} 69

投稿2022/12/18 07:34

Cocode

総合スコア2314

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

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

AN3000

2022/12/18 09:40

ありがとうございます!!要素を斜めにできるプロパティがあったのですね...知りませんでした。 これでなんとか進められそうです。ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問