balloon.css 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  1. [data-balloon] {
  2. position: relative; }
  3. [data-balloon]:before {
  4. filter: alpha(opactiy=0);
  5. -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  6. -moz-opacity: 0;
  7. -khtml-opacity: 0;
  8. opacity: 0;
  9. pointer-events: none;
  10. -webkit-transition: all 0.18s ease-out;
  11. -moz-transition: all 0.18s ease-out;
  12. -ms-transition: all 0.18s ease-out;
  13. -o-transition: all 0.18s ease-out;
  14. transition: all 0.18s ease-out;
  15. background: rgba(17, 17, 17, 0.9);
  16. border-radius: 4px;
  17. color: #fff;
  18. content: attr(data-balloon);
  19. font-size: 12px;
  20. padding: .5em 1em;
  21. position: absolute;
  22. white-space: nowrap;
  23. z-index: 10; }
  24. [data-balloon]:after {
  25. background: no-repeat url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="36px" height="12px"><path fill="rgba(17, 17, 17, 0.9)" transform="rotate(0)" d="M2.658,0.000 C-13.615,0.000 50.938,0.000 34.662,0.000 C28.662,0.000 23.035,12.002 18.660,12.002 C14.285,12.002 8.594,0.000 2.658,0.000 Z"/></svg>');
  26. background-size: 100% auto;
  27. width: 18px;
  28. height: 6px;
  29. filter: alpha(opactiy=0);
  30. -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  31. -moz-opacity: 0;
  32. -khtml-opacity: 0;
  33. opacity: 0;
  34. pointer-events: none;
  35. -webkit-transition: all 0.18s ease-out;
  36. -moz-transition: all 0.18s ease-out;
  37. -ms-transition: all 0.18s ease-out;
  38. -o-transition: all 0.18s ease-out;
  39. transition: all 0.18s ease-out;
  40. content: '';
  41. position: absolute;
  42. z-index: 10; }
  43. [data-balloon]:hover:before, [data-balloon]:hover:after {
  44. filter: alpha(opactiy=100);
  45. -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  46. -moz-opacity: 1;
  47. -khtml-opacity: 1;
  48. opacity: 1;
  49. pointer-events: auto; }
  50. [data-balloon][data-balloon-break]:before {
  51. white-space: normal; }
  52. [data-balloon][data-balloon-pos="up"]:before {
  53. bottom: 100%;
  54. left: 50%;
  55. margin-bottom: 11px;
  56. -webkit-transform: translate3d(-50%, 10px, 0);
  57. -moz-transform: translate3d(-50%, 10px, 0);
  58. -ms-transform: translate3d(-50%, 10px, 0);
  59. transform: translate3d(-50%, 10px, 0);
  60. -webkit-transform-origin: top;
  61. -moz-transform-origin: top;
  62. -ms-transform-origin: top;
  63. transform-origin: top; }
  64. [data-balloon][data-balloon-pos="up"]:after {
  65. bottom: 100%;
  66. left: 50%;
  67. margin-bottom: 5px;
  68. -webkit-transform: translate3d(-50%, 10px, 0);
  69. -moz-transform: translate3d(-50%, 10px, 0);
  70. -ms-transform: translate3d(-50%, 10px, 0);
  71. transform: translate3d(-50%, 10px, 0);
  72. -webkit-transform-origin: top;
  73. -moz-transform-origin: top;
  74. -ms-transform-origin: top;
  75. transform-origin: top; }
  76. [data-balloon][data-balloon-pos="up"]:hover:before {
  77. -webkit-transform: translate3d(-50%, 0, 0);
  78. -moz-transform: translate3d(-50%, 0, 0);
  79. -ms-transform: translate3d(-50%, 0, 0);
  80. transform: translate3d(-50%, 0, 0); }
  81. [data-balloon][data-balloon-pos="up"]:hover:after {
  82. -webkit-transform: translate3d(-50%, 0, 0);
  83. -moz-transform: translate3d(-50%, 0, 0);
  84. -ms-transform: translate3d(-50%, 0, 0);
  85. transform: translate3d(-50%, 0, 0); }
  86. [data-balloon][data-balloon-pos='down']:before {
  87. left: 50%;
  88. margin-top: 11px;
  89. top: 100%;
  90. -webkit-transform: translate3d(-50%, -10px, 0);
  91. -moz-transform: translate3d(-50%, -10px, 0);
  92. -ms-transform: translate3d(-50%, -10px, 0);
  93. transform: translate3d(-50%, -10px, 0); }
  94. [data-balloon][data-balloon-pos='down']:after {
  95. background: no-repeat url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="36px" height="12px"><path fill="rgba(17, 17, 17, 0.9)" transform="rotate(180 18 6)" d="M2.658,0.000 C-13.615,0.000 50.938,0.000 34.662,0.000 C28.662,0.000 23.035,12.002 18.660,12.002 C14.285,12.002 8.594,0.000 2.658,0.000 Z"/></svg>');
  96. background-size: 100% auto;
  97. width: 18px;
  98. height: 6px;
  99. left: 50%;
  100. margin-top: 5px;
  101. top: 100%;
  102. -webkit-transform: translate3d(-50%, -10px, 0);
  103. -moz-transform: translate3d(-50%, -10px, 0);
  104. -ms-transform: translate3d(-50%, -10px, 0);
  105. transform: translate3d(-50%, -10px, 0); }
  106. [data-balloon][data-balloon-pos='down']:hover:before {
  107. -webkit-transform: translate3d(-50%, 0, 0);
  108. -moz-transform: translate3d(-50%, 0, 0);
  109. -ms-transform: translate3d(-50%, 0, 0);
  110. transform: translate3d(-50%, 0, 0); }
  111. [data-balloon][data-balloon-pos='down']:hover:after {
  112. -webkit-transform: translate3d(-50%, 0, 0);
  113. -moz-transform: translate3d(-50%, 0, 0);
  114. -ms-transform: translate3d(-50%, 0, 0);
  115. transform: translate3d(-50%, 0, 0); }
  116. [data-balloon][data-balloon-pos='left']:before {
  117. margin-right: 11px;
  118. right: 100%;
  119. top: 50%;
  120. -webkit-transform: translate3d(10px, -50%, 0);
  121. -moz-transform: translate3d(10px, -50%, 0);
  122. -ms-transform: translate3d(10px, -50%, 0);
  123. transform: translate3d(10px, -50%, 0); }
  124. [data-balloon][data-balloon-pos='left']:after {
  125. background: no-repeat url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12px" height="36px"><path fill="rgba(17, 17, 17, 0.9)" transform="rotate(-90 18 18)" d="M2.658,0.000 C-13.615,0.000 50.938,0.000 34.662,0.000 C28.662,0.000 23.035,12.002 18.660,12.002 C14.285,12.002 8.594,0.000 2.658,0.000 Z"/></svg>');
  126. background-size: 100% auto;
  127. width: 6px;
  128. height: 18px;
  129. margin-right: 5px;
  130. right: 100%;
  131. top: 50%;
  132. -webkit-transform: translate3d(10px, -50%, 0);
  133. -moz-transform: translate3d(10px, -50%, 0);
  134. -ms-transform: translate3d(10px, -50%, 0);
  135. transform: translate3d(10px, -50%, 0); }
  136. [data-balloon][data-balloon-pos='left']:hover:before {
  137. -webkit-transform: translate3d(0, -50%, 0);
  138. -moz-transform: translate3d(0, -50%, 0);
  139. -ms-transform: translate3d(0, -50%, 0);
  140. transform: translate3d(0, -50%, 0); }
  141. [data-balloon][data-balloon-pos='left']:hover:after {
  142. -webkit-transform: translate3d(0, -50%, 0);
  143. -moz-transform: translate3d(0, -50%, 0);
  144. -ms-transform: translate3d(0, -50%, 0);
  145. transform: translate3d(0, -50%, 0); }
  146. [data-balloon][data-balloon-pos='right']:before {
  147. left: 100%;
  148. margin-left: 11px;
  149. top: 50%;
  150. -webkit-transform: translate3d(-10px, -50%, 0);
  151. -moz-transform: translate3d(-10px, -50%, 0);
  152. -ms-transform: translate3d(-10px, -50%, 0);
  153. transform: translate3d(-10px, -50%, 0); }
  154. [data-balloon][data-balloon-pos='right']:after {
  155. background: no-repeat url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12px" height="36px"><path fill="rgba(17, 17, 17, 0.9)" transform="rotate(90 6 6)" d="M2.658,0.000 C-13.615,0.000 50.938,0.000 34.662,0.000 C28.662,0.000 23.035,12.002 18.660,12.002 C14.285,12.002 8.594,0.000 2.658,0.000 Z"/></svg>');
  156. background-size: 100% auto;
  157. width: 6px;
  158. height: 18px;
  159. left: 100%;
  160. margin-left: 5px;
  161. top: 50%;
  162. -webkit-transform: translate3d(-10px, -50%, 0);
  163. -moz-transform: translate3d(-10px, -50%, 0);
  164. -ms-transform: translate3d(-10px, -50%, 0);
  165. transform: translate3d(-10px, -50%, 0); }
  166. [data-balloon][data-balloon-pos='right']:hover:before {
  167. -webkit-transform: translate3d(0, -50%, 0);
  168. -moz-transform: translate3d(0, -50%, 0);
  169. -ms-transform: translate3d(0, -50%, 0);
  170. transform: translate3d(0, -50%, 0); }
  171. [data-balloon][data-balloon-pos='right']:hover:after {
  172. -webkit-transform: translate3d(0, -50%, 0);
  173. -moz-transform: translate3d(0, -50%, 0);
  174. -ms-transform: translate3d(0, -50%, 0);
  175. transform: translate3d(0, -50%, 0); }
  176. [data-balloon][data-balloon-length='small']:before {
  177. white-space: normal;
  178. width: 80px; }
  179. [data-balloon][data-balloon-length='medium']:before {
  180. white-space: normal;
  181. width: 150px; }
  182. [data-balloon][data-balloon-length='large']:before {
  183. white-space: normal;
  184. width: 260px; }
  185. [data-balloon][data-balloon-length='xlarge']:before {
  186. white-space: normal;
  187. width: 380px; }
  188. @media screen and (max-width: 768px) {
  189. [data-balloon][data-balloon-length='xlarge']:before {
  190. white-space: normal;
  191. width: 90vw; } }
  192. [data-balloon][data-balloon-length='fit']:before {
  193. white-space: normal;
  194. width: 100%; }