viewer.css 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350
  1. /*!
  2. * Viewer v0.1.0
  3. * https://github.com/fengyuanchen/viewer
  4. *
  5. * Copyright (c) 2015 Fengyuan Chen
  6. * Released under the MIT license
  7. *
  8. * Date: 2015-09-02T09:08:17.223Z
  9. */
  10. .viewer-zoom-in:before,
  11. .viewer-zoom-out:before,
  12. .viewer-one-to-one:before,
  13. .viewer-reset:before,
  14. .viewer-prev:before,
  15. .viewer-play:before,
  16. .viewer-next:before,
  17. .viewer-rotate-left:before,
  18. .viewer-rotate-right:before,
  19. .viewer-flip-horizontal:before,
  20. .viewer-flip-vertical:before,
  21. .viewer-fullscreen:before,
  22. .viewer-fullscreen-exit:before,
  23. .viewer-close:before {
  24. display: block;
  25. width: 20px;
  26. height: 20px;
  27. font-size: 0;
  28. line-height: 0;
  29. color: transparent;
  30. background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAARgAAAAUCAYAAABWOyJDAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTNui8sowAAAQPSURBVHic7Zs/iFxVFMa/0U2UaJGksUgnIVhYxVhpjDbZCBmLdAYECxsRFBTUamcXUiSNncgKQbSxsxH8gzAP3FU2jY0kKKJNiiiIghFlccnP4p3nPCdv3p9778vsLOcHB2bfveeb7955c3jvvNkBIMdxnD64a94GHMfZu3iBcRynN7zAOI7TG15gHCeeNUkr8zaxG2lbYDYsdgMbktBsP03jdQwljSXdtBhLOmtjowC9Mg9L+knSlcD8TNKpSA9lBpK2JF2VdDSR5n5J64m0qli399hNFMUlpshQii5jbXTbHGviB0nLNeNDSd9VO4A2UdB2fp+x0eCnaXxWXGA2X0au/3HgN9P4LFCjIANOJdrLr0zzZ+BEpNYDwKbpnQMeAw4m8HjQtM6Z9qa917zPQwFr3M5KgA6J5rTJCdFZJj9/lyvGhsDvwFNVuV2MhhjrK6b9bFiE+j1r87eBl4HDwCF7/U/k+ofAX5b/EXBv5JoLMuILzf3Ap6Z3EzgdqHMCuF7hcQf4HDgeoHnccncqdK/TvSDWffFXI/exICY/xZyqc6XLWF1UFZna4gJ7q8BsRvgd2/xXpo6P+D9dfT7PpECtA3cnWPM0GXGFZh/wgWltA+cDNC7X+AP4GzjZQe+k5dRxuYPeiuXU7e1qwLpDz7dFjXKRaSwuMLvAlG8zZlG+YmiK1HoFqT7wP2z+4Q45TfEGcMt01xLoNZEBTwRqD4BLpnMLeC1A41UmVxsXgXeBayV/Wx20rpTyrpnWRft7p6O/FdqzGrDukPNtkaMoMo3FBdBSQMOnYBCReyf05s126fU9ytfX98+mY54Kxnp7S9K3kj6U9KYdG0h6UdLbkh7poFXMfUnSOyVvL0h6VtIXHbS6nOP+s/Zm9mvyXW1uuC9ohZ72E9uDmXWLJOB1GxsH+DxPftsB8B6wlGDN02TAkxG6+4D3TWsbeC5CS8CDFce+AW500LhhOW2020TRjK3b21HEmgti9m0RonxbdMZeVzV+/4tF3cBpP7E9mKHNL5q8h5g0eYsCMQz0epq8gQrwMXAgcs0FGXGFRcB9wCemF9PkbYqM/Bas7fxLwNeJPdTdpo4itQti8lPMqTpXuozVRVXPpbHI3KkNTB1NfkL81j2mvhDp91HgV9MKuRIqrykj3WPq4rHyL+axj8/qGPmTqi6F9YDlHOvJU6oYcTsh/TYSzWmTE6JT19CtLTJt32D6CmHe0eQn1O8z5AXgT4sx4Vcu0/EQecMydB8z0hUWkTd2t4CrwNEePqMBcAR4mrBbwyXLPWJa8zrXmmLEhNBmfpkuY2102xxrih+pb+ieAb6vGhuA97UcJ5KR8gZ77K+99xxeYBzH6Q3/Z0fHcXrDC4zjOL3hBcZxnN74F+zlvXFWXF9PAAAAAElFTkSuQmCC");
  31. background-repeat: no-repeat;
  32. }
  33. .viewer-zoom-in:before {
  34. content: "Zoom In";
  35. background-position: 0 0;
  36. }
  37. .viewer-zoom-out:before {
  38. content: "Zoom Out";
  39. background-position: -20px 0;
  40. }
  41. .viewer-one-to-one:before {
  42. content: "One to One";
  43. background-position: -40px 0;
  44. }
  45. .viewer-reset:before {
  46. content: "Reset";
  47. background-position: -60px 0;
  48. }
  49. .viewer-prev:before {
  50. content: "Previous";
  51. background-position: -80px 0;
  52. }
  53. .viewer-play:before {
  54. content: "Play";
  55. background-position: -100px 0;
  56. }
  57. .viewer-next:before {
  58. content: "Next";
  59. background-position: -120px 0;
  60. }
  61. .viewer-rotate-left:before {
  62. content: "Rotate Left";
  63. background-position: -140px 0;
  64. }
  65. .viewer-rotate-right:before {
  66. content: "Rotate Right";
  67. background-position: -160px 0;
  68. }
  69. .viewer-flip-horizontal:before {
  70. content: "Flip Horizontal";
  71. background-position: -180px 0;
  72. }
  73. .viewer-flip-vertical:before {
  74. content: "Flip Vertical";
  75. background-position: -200px 0;
  76. }
  77. .viewer-fullscreen:before {
  78. content: "Enter Full Screen";
  79. background-position: -220px 0;
  80. }
  81. .viewer-fullscreen-exit:before {
  82. content: "Exit Full Screen";
  83. background-position: -240px 0;
  84. }
  85. .viewer-close:before {
  86. content: "Close";
  87. background-position: -260px 0;
  88. }
  89. .viewer-container {
  90. position: absolute;
  91. top: 0;
  92. right: 0;
  93. bottom: 0;
  94. left: 0;
  95. overflow: hidden;
  96. font-size: 0;
  97. line-height: 0;
  98. -ms-touch-action: none;
  99. touch-action: none;
  100. -webkit-user-select: none;
  101. -moz-user-select: none;
  102. -ms-user-select: none;
  103. user-select: none;
  104. background-color: #000;
  105. background-color: rgba(0, 0, 0, .5);
  106. direction: ltr !important;
  107. -webkit-tap-highlight-color: transparent;
  108. -webkit-touch-callout: none;
  109. }
  110. .viewer-container::-moz-selection,
  111. .viewer-container *::-moz-selection {
  112. background-color: transparent;
  113. }
  114. .viewer-container::selection,
  115. .viewer-container *::selection {
  116. background-color: transparent;
  117. }
  118. .viewer-container img {
  119. display: block;
  120. width: 100%;
  121. min-width: 0 !important;
  122. max-width: none !important;
  123. height: 100%;
  124. min-height: 0 !important;
  125. max-height: none !important;
  126. }
  127. .viewer-canvas {
  128. position: absolute;
  129. top: 0;
  130. right: 0;
  131. bottom: 0;
  132. left: 0;
  133. overflow: hidden;
  134. }
  135. .viewer-footer {
  136. position: absolute;
  137. right: 0;
  138. bottom: 0;
  139. left: 0;
  140. overflow: hidden;
  141. text-align: center;
  142. }
  143. .viewer-navbar {
  144. overflow: hidden;
  145. background-color: #000;
  146. background-color: rgba(0, 0, 0, .5);
  147. }
  148. .viewer-list {
  149. height: 50px;
  150. -webkit-box-sizing: content-box;
  151. -moz-box-sizing: content-box;
  152. box-sizing: content-box;
  153. padding: 1px 0;
  154. margin: 0;
  155. overflow: hidden;
  156. }
  157. .viewer-list > li {
  158. float: left;
  159. width: 30px;
  160. height: 50px;
  161. overflow: hidden;
  162. font-size: 0;
  163. line-height: 0;
  164. color: transparent;
  165. cursor: pointer;
  166. filter: alpha(opacity=50);
  167. opacity: .5;
  168. }
  169. .viewer-list > li + li {
  170. margin-left: 1px;
  171. }
  172. .viewer-list > .viewer-active {
  173. filter: alpha(opacity=100);
  174. opacity: 1;
  175. }
  176. .viewer-player {
  177. position: absolute;
  178. top: 0;
  179. right: 0;
  180. bottom: 0;
  181. left: 0;
  182. display: none;
  183. cursor: none;
  184. background-color: #000;
  185. }
  186. .viewer-player > img {
  187. position: absolute;
  188. top: 0;
  189. left: 0;
  190. }
  191. .viewer-toolbar {
  192. width: 280px;
  193. padding: 3px 0;
  194. margin: 0 auto 5px;
  195. overflow: hidden;
  196. }
  197. .viewer-toolbar > li {
  198. float: left;
  199. width: 24px;
  200. height: 24px;
  201. overflow: hidden;
  202. cursor: pointer;
  203. background-color: #000;
  204. background-color: rgba(0, 0, 0, .5);
  205. border-radius: 50%;
  206. }
  207. .viewer-toolbar > li:hover {
  208. background-color: #000;
  209. background-color: rgba(0, 0, 0, .8);
  210. }
  211. .viewer-toolbar > li:before {
  212. margin: 2px;
  213. }
  214. .viewer-toolbar > li + li {
  215. margin-left: 1px;
  216. }
  217. .viewer-toolbar > .viewer-play {
  218. width: 30px;
  219. height: 30px;
  220. margin-top: -3px;
  221. margin-bottom: -3px;
  222. }
  223. .viewer-toolbar > .viewer-play:before {
  224. margin: 5px;
  225. }
  226. .viewer-tooltip {
  227. position: absolute;
  228. top: 50%;
  229. left: 50%;
  230. display: none;
  231. width: 50px;
  232. height: 20px;
  233. margin-top: -10px;
  234. margin-left: -25px;
  235. font-size: 12px;
  236. line-height: 20px;
  237. color: #fff;
  238. text-align: center;
  239. background-color: #000;
  240. background-color: rgba(0, 0, 0, .8);
  241. border-radius: 10px;
  242. }
  243. .viewer-title {
  244. display: inline-block;
  245. max-width: 90%;
  246. margin: 0 5% 5px;
  247. overflow: hidden;
  248. font-size: 12px;
  249. line-height: 1;
  250. color: #ccc;
  251. text-overflow: ellipsis;
  252. white-space: nowrap;
  253. filter: alpha(opacity=80);
  254. opacity: .8;
  255. }
  256. .viewer-title:hover {
  257. filter: alpha(opacity=100);
  258. opacity: 1;
  259. }
  260. .viewer-button {
  261. position: absolute;
  262. top: -40px;
  263. right: -40px;
  264. width: 80px;
  265. height: 80px;
  266. overflow: hidden;
  267. cursor: pointer;
  268. background-color: #000;
  269. background-color: rgba(0, 0, 0, .5);
  270. border-radius: 50%;
  271. }
  272. .viewer-button:before {
  273. position: absolute;
  274. bottom: 15px;
  275. left: 15px;
  276. }
  277. .viewer-fixed {
  278. position: fixed;
  279. }
  280. .viewer-open {
  281. overflow: hidden;
  282. }
  283. .viewer-show {
  284. display: block;
  285. }
  286. .viewer-hide {
  287. display: none;
  288. }
  289. .viewer-invisible {
  290. visibility: hidden;
  291. }
  292. .viewer-toggle {
  293. cursor: pointer;
  294. cursor: -webkit-zoom-in;
  295. cursor: zoom-in;
  296. }
  297. .viewer-move {
  298. cursor: move;
  299. cursor: -webkit-grab;
  300. cursor: -moz-grab;
  301. cursor: grab;
  302. }
  303. .viewer-fade {
  304. filter: alpha(opacity=0);
  305. opacity: 0;
  306. }
  307. .viewer-in {
  308. filter: alpha(opacity=100);
  309. opacity: 1;
  310. }
  311. .viewer-transition {
  312. -webkit-transition: all .3s ease-out;
  313. -o-transition: all .3s ease-out;
  314. transition: all .3s ease-out;
  315. }