res さつき様 | sikaku

sikaku

response

message

  • parody01のふきだしに縁取りをつけたい
  • 名前部分とふきだし部分が重なるように調整したい

response

はじめまして、メールありがとうございます。

下記でいかがでしょうか。 なるべく頂いた画像に近づくように調整していますが、気になる部分があれば数値の調整をするか、再度のご連絡をお願いします。

code edit

body

以下の置き換え

<span>名前</span><span data-af="名前"></span>

現デザインでいくつか書いている場合は文字置き換えツールを使うと楽です。簡易変換

head

以下それぞれ指定箇所と置き換え

配色部分
css
  1. /* 左寄せ名前 */
  2. .talk > .left > span::after {
  3. background-color: #abd8f4;/*背景色*/
  4. color: #343434;/*文字色*/
  5. }
  6. /* 右寄せ名前 */
  7. .talk > .right > span::after {
  8. background-color: #ffffff;/*背景色*/
  9. color: #000000;/*文字色*/
  10. }
  11. /* 左寄せふきだし */
  12. .talk > .left > .text {
  13. background-color: #fefefe;/*背景色*/
  14. color: #343434;/*文字色*/
  15. border: solid 1px #a6a6a6;/* 枠 */
  16. }
  17. /* 右寄せふきだし */
  18. .talk > .right > .text {
  19. background-color: #baf291;/*背景色*/
  20. color: #000000;/*文字色*/
  21. border: solid 1px #ffffff;/* 枠 */
  22. }
  • /* -- coloring -- */
  • /* 左寄せふきだし */-/* -- layout -- */
レイアウト部分
css
  1. /* 名前 */
  2. .talk > li > span {
  3. position: relative;
  4. z-index: 1;
  5. display: block;
  6. }
  7. .talk > li > span[data-af]::after {
  8. content: attr(data-af);
  9. display: inline-block;
  10. box-sizing: border-box;
  11. min-width: 100px;/* 最小幅 */
  12. margin: 0 15px;/* 左右の位置調整 */
  13. padding: 2px 10px;/* 内余白 */
  14. text-align: center;
  15. border-radius: 10px / 50%;/* 角丸 */
  16. }
  17. /* 既読,時刻表記部分 */
  18. .talk > li > div > p:last-child {
  19. position: absolute;
  20. bottom: 4px;
  21. display: inline-block;
  22. width: 4em;
  23. margin: 0 0.5em;
  24. font-size: 0.9em;
  25. line-height: 1em;
  26. }
  27. .talk > .left > div > p:last-child {
  28. left: 100%;
  29. text-align: left;
  30. }
  31. .talk > .right > div > p:last-child {
  32. right: 100%;
  33. text-align: right;
  34. }
  35. .talk > li > div > p:last-child:before {
  36. display: inline-block;
  37. width: 100%;
  38. }
  39. .kdkset + li {
  40. margin-top: 0;
  41. }
  42. .talk > li.kdk > div > p:last-child:before {
  43. content: '既読';
  44. }
  45. .talk > .kdkset ~ li.kdk > div > p:last-child:before {
  46. content: '既読'counter(kdk);
  47. }
  48. /* 内容部分 共通 */
  49. .talk > li > div {
  50. position: relative;
  51. display: inline-block;
  52. margin: 3px 10px 0;
  53. text-align: left;
  54. }
  55. /* 内容部分 左寄せ */
  56. .talk > .left > div {
  57. left: 0;
  58. margin-right: 0;
  59. }
  60. /* 内容部分 右寄せ */
  61. .talk > .right > div {
  62. right: 0;
  63. margin-left: 0;
  64. }
  65. .talk > li > .text {/* テキスト部分 */
  66. max-width: 60%;
  67. padding: 3px 6px;/* 内余白 */
  68. border-radius: 6px;/* 角丸 */
  69. }
  70. .talk > li > span[data-af] + .text {/* 名前有版テキスト部分 */
  71. margin-top: -14px;/* 名前との間隔 */
  72. min-width: 120px;/* 最小幅 */
  73. padding-top: 14px !important;/* 内余白(上) */
  74. }
  75. .talk .text:before {/* ふきだしツノ */
  76. content: '';
  77. position: absolute;
  78. top: 6px;/* 縦位置 */
  79. display: inline-block;
  80. width: 1em; height: 1em;
  81. font-size: 12px;/* 基礎サイズ */
  82. transform: rotate(45deg) skew(-20deg,-20deg);/* 変形値 */
  83. background-color: inherit;
  84. border: inherit;
  85. }
  86. .talk > .left > .text:before {
  87. left: -0.5em;
  88. border-right: none;
  89. border-top: none;
  90. clip-path: polygon(0 0,100% 100%,0 100%);
  91. }
  92. .talk > .right > .text:before {
  93. right: -0.5em;
  94. border-left: none;
  95. border-bottom: none;
  96. clip-path: polygon(0 0,100% 0,100% 100%);
  97. }
  • /* -- layout -- */
  • /* 名前 */-/* 通話表示 */直前

css edit

  • 配色部分は丸ごとですが、レイアウト部分で実質変更したのは下記二ヶ所です。個別に持ち帰りたい場合はそこのみどうぞ。
    • /* 名前 */直下
    • /* 内容部分 共通 */から下
  • ;横にコメントアウトがついている部分のみ変更推奨です。
  • ちょっと指定がややこしい箇所のみ下で説明します。
ふきだしのツノ

変形値

ツノ部分の内角を変更できます。

skew(-20deg,-20deg)

上記赤字部分を変更(二ヶ所は同値推奨)

値範囲-45-45(小=鋭角/大=鈍角)

解説 90+数値+数値の角度となる(デフォ:90+(-20)+(-20)=50)

基礎サイズ

ここの数値がツノ部分の一辺の長さになるようにしています。

拡大倍率のようなものと思って下さい。

縦位置

申し訳ない話ここの指定が面倒になるのですが、指定値分の位置にツノが配置される訳ではないです。

cssの仕様上「変形→配置決め」ではなく「配置決め→変形」の順で処理される為、変形値如何でズレが出ます。

気になる場合は細かく調整して丁度いい値を探るか、ご連絡ください(代替案お伝えします)

おまけ

ツノ部分形成可視化っぽいもの

  • 正方形を用意して
  • 縦位置決めて
  • 回転させて
  • 変形させて
  • 不要な部分を削って
  • 完成