Nessuna descrizione

index.html 12KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387
  1. <!doctype html>
  2. <html>
  3. <head>
  4. <title>Holder Testing</title>
  5. <meta charset="utf-8">
  6. <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.4.1/css/all.css" integrity="sha384-5sAR7xN1Nv6T6+dT2mhtzEpVJvfS3NScPQTrOxhwjIuvcA67KV2R5Jz6kr4abQsz" crossorigin="anonymous" class="holderjs">
  7. <link href='http://fonts.googleapis.com/css?family=Pacifico' rel='stylesheet' type='text/css' class="holderjs">
  8. <link href='http://fonts.googleapis.com/css?family=Droid+Sans' rel='stylesheet' type='text/css'>
  9. <style>
  10. body {background: #fff; font-family:Arial,sans-serif;margin:0 auto;min-width:1080px}
  11. .thumb {width:300px;height:250px;margin:25px;float:left}
  12. .thumb img, .thumb .holderjs, .thumb object {display:block;margin:0 auto}
  13. .thumb .caption {padding:10px;text-align:center;margin-top:10px}
  14. .thumb.fullpage {float:none;clear:both;width:auto;height:100px;margin:25px}
  15. .autosize img {width:100%}
  16. .float-holder { overflow:hidden; }
  17. .float-holder img { float: left; }
  18. .no-bg-size {
  19. background-image: url('?no-bg-size/300x200');
  20. }
  21. #holder1 {background:url('?holder.js/300x200?text=Background%20placeholder&bg=000&fg=fff');width:300px;height:200px}
  22. </style>
  23. </head>
  24. <body>
  25. <div class="thumb">
  26. <img data-src="holder.js/300x200">
  27. <div class="caption">
  28. Plain placeholder
  29. </div>
  30. </div>
  31. <div class="thumb">
  32. <img data-src="holder.js/300x200?theme=social">
  33. <div class="caption">
  34. Themed placeholder
  35. </div>
  36. </div>
  37. <div class="thumb">
  38. <img data-src="holder.js/300x200?random=yes">
  39. <div class="caption">
  40. Placeholder with random theme
  41. </div>
  42. </div>
  43. <div class="thumb">
  44. <img data-src="holder.js/300x200?fg=rgb(230, 126, 34)&bg=rgb(44, 62, 80)">
  45. <div class="caption">
  46. Placeholder with rgb color values
  47. </div>
  48. </div>
  49. <div class="thumb">
  50. <img data-src="holder.js/300x200?bg=rgb(127, 140, 141)&fg=rgba(255, 255, 255, 0.7)">
  51. <div class="caption">
  52. Placeholder with rgba color values
  53. </div>
  54. </div>
  55. <div class="thumb">
  56. <img data-src="holder.js/300x200?text=заполнитель">
  57. <div class="caption">
  58. Placeholder with text
  59. </div>
  60. </div>
  61. <div class="thumb">
  62. <img data-src="holder.js/300x200?bg=EE403D&fg=FFFFFF&text=Lorem ipsum dolor sit amet, consectetur adipiscing elit.">
  63. <div class="caption">
  64. Placeholder with lengthy text
  65. </div>
  66. </div>
  67. <div class="thumb">
  68. <img data-src="holder.canvas/300x200?bg=EE403D&fg=FFFFFF&text=Lorem ipsum dolor sit amet, consectetur adipiscing elit.">
  69. <div class="caption">
  70. Canvas placeholder with lengthy text
  71. </div>
  72. </div>
  73. <div class="thumb">
  74. <img data-src="holder.js/300x200?theme=social&text=Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec tempor, libero quis accumsan fringilla, augue est laoreet orci, consectetur euismod augue nisl sit amet arcu. Fusce ultrices ornare metus in porta. Aenean ac nisl ut tellus dignissim auctor quis id arcu. Vivamus lorem neque, pulvinar non dictum vel, sagittis lobortis odio.">
  75. <div class="caption">
  76. Placeholder with very lengthy text
  77. </div>
  78. </div>
  79. <div class="thumb">
  80. <img data-src="holder.js/300x200?theme=social&text=Lorem ipsum \n dolor sit amet, consectetur adipiscing elit.">
  81. <div class="caption">
  82. Placeholder with custom newline
  83. </div>
  84. </div>
  85. <div class="thumb">
  86. <img data-src="holder.js/300x200?theme=social&text=Lorem ipsum \n dolor sit amet, consectetur adipiscing elit.&nowrap=true">
  87. <div class="caption">
  88. Placeholder with disabled line wrap
  89. </div>
  90. </div>
  91. <div class="thumb">
  92. <img data-src="holder.js/300x200?theme=industrial&text=The five boxing wizards jump quickly.&align=left">
  93. <div class="caption">
  94. Placeholder with left-aligned text
  95. </div>
  96. </div>
  97. <div class="thumb">
  98. <img data-src="holder.js/300x200?theme=lava&text=The five boxing wizards jump quickly.&align=right">
  99. <div class="caption">
  100. Placeholder with right-aligned text
  101. </div>
  102. </div>
  103. <div class="thumb">
  104. <img data-src="holder.js/300x200?theme=lava&text=The five boxing wizards jump quickly.&align=right&lineWrap=0.5">
  105. <div class="caption">
  106. Placeholder with right-aligned text and custom margin
  107. </div>
  108. </div>
  109. <div class="thumb">
  110. <script>
  111. var r = Math.random();
  112. if(r > 0.5){
  113. document.write('<img data-src="holder.js/200x150" src="missing.jpg" style="width:200px;height:150px;outline:solid 3px red">');
  114. }
  115. else{
  116. document.write('<img data-src="holder.js/200x150" src="image.jpg" style="width:200px;height:150px;outline:solid 3px green" data-exclude>');
  117. }
  118. </script>
  119. <div class="caption">
  120. Placeholder with (randomly) missing image source
  121. </div>
  122. </div>
  123. <div class="thumb">
  124. <img data-src="holder.js/3x2?ratio=yes">
  125. <div class="caption">
  126. Placeholder using a ratio
  127. </div>
  128. </div>
  129. <div class="thumb">
  130. <div class="autosize">
  131. <img data-src="holder.js/200x133?bg=111&fg=ffff00&auto=yes" onclick="this.src='image.jpg'">
  132. </div>
  133. <div class="caption">
  134. Auto-sized placeholder
  135. </div>
  136. </div>
  137. <div class="thumb">
  138. <div class="autosize">
  139. <img data-src="holder.js/200x133?bg=111&fg=ffff00&auto=yes&textmode=exact">
  140. </div>
  141. <div class="caption">
  142. Auto-sized placeholder in exact mode
  143. </div>
  144. </div>
  145. <div class="thumb">
  146. <div class="holderjs" id="holder1"></div>
  147. <div class="caption">
  148. <code>&lt;div&gt;</code> with background placeholder
  149. </div>
  150. </div>
  151. <div class="thumb">
  152. <div class="holderjs" data-background-src="?no-bg-size/300x200" style="width:300px;height:200px"></div>
  153. <div class="caption">
  154. <code>&lt;div&gt;</code> with manually-sized background placeholder
  155. </div>
  156. </div>
  157. <div class="thumb">
  158. <div class="holderjs no-bg-size" style="width:300px;height:200px"></div>
  159. <div class="caption">
  160. <code>&lt;div&gt;</code> with manually-sized background placeholder with CSS
  161. </div>
  162. </div>
  163. <div class="thumb">
  164. <div class="holderjs" style="width:300px;height:200px" data-background-src="?holder.js/300x200?bg=ff8362&fg=5e422e"></div>
  165. <div class="caption">
  166. <code>&lt;div&gt;</code> with <code>data-background-src</code> placeholder
  167. </div>
  168. </div>
  169. <div class="thumb">
  170. <div id="thumb1"></div>
  171. <div class="caption">
  172. Placeholder added using <code>addImage</code> with a selector
  173. </div>
  174. </div>
  175. <div class="thumb">
  176. <img data-src="custom.holder/150x100?theme=custom&auto=yes" style="width:300px;height:200px">
  177. <div class="caption">
  178. Auto-sized <code>canvas</code> placeholder with custom domain and theme
  179. </div>
  180. </div>
  181. <div class="thumb">
  182. <img data-src="holder.js/300x200?font=Pacifico&bg=4466ff&fg=fff&text=Pacifico">
  183. <div class="caption">
  184. Placeholder using <span style="font-family:Pacifico">Pacifico</span> font
  185. </div>
  186. </div>
  187. <div class="thumb">
  188. <object data-src="holder.js/300x200?font=Pacifico&bg=4466ff&fg=fff&text=Pacifico"></object>
  189. <div class="caption">
  190. <code>object</code> placeholder using <span style="font-family:Pacifico">Pacifico</span> font
  191. </div>
  192. </div>
  193. <div class="thumb">
  194. <div class="float-holder">
  195. <img data-src="holder.js/50x75?theme=sky">
  196. <img data-src="holder.js/100x75?theme=vine">
  197. <img data-src="holder.js/150x75?theme=lava">
  198. </div>
  199. <div style="overflow:hidden">
  200. <img data-src="holder.js/300x125?theme=industrial" style="float:left">
  201. </div>
  202. <div class="caption">
  203. Placeholders demonstrating adaptive text size
  204. </div>
  205. </div>
  206. <div class="thumb">
  207. <img data-src="holder.js/300x200?font='Font Awesome 5 Free'&text=">
  208. <div class="caption">
  209. Placeholder using Font Awesome 5 font
  210. </div>
  211. </div>
  212. <div class="thumb">
  213. <object data-src="holder.js/300x200?font='Font Awesome 5 Free'&text="></object>
  214. <div class="caption">
  215. <code>object</code> placeholder using Font Awesome 5 font
  216. </div>
  217. </div>
  218. <div class="thumb">
  219. <img data-src="holder.js/300x200?size=40">
  220. <div class="caption">
  221. Placeholder with custom font size
  222. </div>
  223. </div>
  224. <div class="thumb">
  225. <img data-src="holder.js/300x200?size=40pt">
  226. <div class="caption">
  227. Placeholder with custom font size specified with units
  228. </div>
  229. </div>
  230. <div class="thumb">
  231. <div>
  232. <img data-src="holder.js/100px100?outline=yes">
  233. <img data-src="holder.canvas/100px100?outline=yes">
  234. </div>
  235. <div class="caption">
  236. SVG and canvas placeholders with outline enabled
  237. </div>
  238. </div>
  239. <div class="thumb">
  240. <div>
  241. <img data-src="holder.js/100px100?bg=34495e">
  242. <img data-src="holder.js/100px100?bg=f1c40f">
  243. </div>
  244. <div class="caption">
  245. Placeholders with automatic foreground color
  246. </div>
  247. </div>
  248. <div class="thumb">
  249. <div>
  250. <img data-src="holder.js/100px100?bg=eeeeee">
  251. <img data-src="holder.js/100px100">
  252. </div>
  253. <div class="caption">
  254. Placeholders with automatic and default color
  255. </div>
  256. </div>
  257. <div class="thumb">
  258. <div class="float-holder">
  259. <img data-src="holder.js/25px100?bg=000000">
  260. <img data-src="holder.js/25px100?bg=222222">
  261. <img data-src="holder.js/25px100?bg=444444">
  262. <img data-src="holder.js/25px100?bg=666666">
  263. <img data-src="holder.js/25px100?bg=888888">
  264. <img data-src="holder.js/25px100?bg=aaaaaa">
  265. <img data-src="holder.js/25px100?bg=cccccc">
  266. <img data-src="holder.js/25px100?bg=ffffff">
  267. </div>
  268. <div class="caption">
  269. Placeholders with automatic foreground color, grayscale
  270. </div>
  271. </div>
  272. <div class="thumb">
  273. <div id="holderAddImageDomTest"></div>
  274. <div class="caption">
  275. Placeholder added using <code>addImage</code> with a DOM node
  276. </div>
  277. </div>
  278. <div class="thumb">
  279. <img src="holder.js/300x200?auto=yes&bg=00AEEF&text=Add image">
  280. <div class="caption">
  281. Placeholder that triggers an error due to an invalid bg color
  282. </div>
  283. </div>
  284. <div class="thumb">
  285. <img src="holder.js/300x200?text=Holder?">
  286. <div class="caption">
  287. Placeholder that has a ? in text
  288. </div>
  289. </div>
  290. <div class="fullpage thumb">
  291. <img data-src="holder.js/90px80p?theme=sky">
  292. <div class="caption">
  293. Full-page fluid placeholder
  294. </div>
  295. </div>
  296. <div class="fullpage thumb">
  297. <object data-src="holder.js/90px80p?theme=vine"></object>
  298. <div class="caption">
  299. Full-page fluid <code>object</code> placeholder
  300. </div>
  301. </div>
  302. <div class="fullpage thumb">
  303. <img data-src="holder.js/90px80p?theme=lava&textmode=literal">
  304. <div class="caption">
  305. Full-page fluid placeholder in literal mode
  306. </div>
  307. </div>
  308. <div class="fullpage thumb">
  309. <img data-src="holder.js/90px80p?theme=sky&text=Placeholder dimensions: holder_dimensions">
  310. <div class="caption">
  311. Full-page fluid placeholder with embedded dimension text
  312. </div>
  313. </div>
  314. <div class="fullpage thumb">
  315. <img data-src="holder.js/90px80?size=10&fixedSize=yes">
  316. <div class="caption">
  317. Full-page fluid placewholder with fixed font size
  318. </div>
  319. </div>
  320. <div class="fullpage thumb">
  321. <img data-src="holder.js/90px80" id="toggleResize">
  322. <div class="caption">
  323. Full-page fluid placeholder that toggles resizable updates when clicked
  324. </div>
  325. </div>
  326. <div class="fullpage thumb">
  327. <div id="invisible" style="display:none;width:90%;height:80%;margin:0 auto">
  328. <img data-src="holder.js/100px100p?theme=sky">
  329. </div>
  330. <div class="caption">
  331. Fluid placeholder inside invisible parent element.
  332. </div>
  333. </div>
  334. <div class="fullpage thumb">
  335. <img data-src="holder.js/90px80p?theme=sky&outline=yes">
  336. <div class="caption">
  337. Full-page fluid placeholder with outline enabled
  338. </div>
  339. </div>
  340. <script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
  341. <script src="../holder.js"></script>
  342. <!--
  343. <script src="require.js" data-main="test.js"></script>
  344. -->
  345. <script>
  346. Holder.run({'renderer':'html'});
  347. Holder.addImage("holder.js/300x200?theme=sky", "#thumb1");
  348. Holder.run();
  349. Holder.addTheme("custom", {foreground: "#fff", background: "#000", size: 15}).run({
  350. domain: "custom.holder",
  351. renderer: "canvas"
  352. });
  353. Holder.addImage("holder.js/300x200?theme=social&text=Added using addImage with a DOM node", document.querySelector('#holderAddImageDomTest')).run();
  354. Holder.run({
  355. domain: "holder.canvas",
  356. renderer: "canvas"
  357. });
  358. Holder.run({
  359. domain: "no-bg-size",
  360. noBackgroundSize: true
  361. });
  362. $(function () {
  363. $("#invisible").show();
  364. var resize = true;
  365. $("#toggleResize").on("click", function () {
  366. resize = !resize;
  367. Holder.setResizeUpdate($(this).get(0), resize);
  368. });
  369. });
  370. </script>
  371. </body>
  372. </html>