docs.html 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  5. <meta charset="UTF-8">
  6. <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1.0, user-scalable=no">
  7. <script>
  8. document.createElement("nav"); document.createElement("button");
  9. </script>
  10. <!--[if IE 7]>
  11. <style>
  12. .col { margin: 0 0.9% !important; }
  13. </style>
  14. <![endif]-->
  15. <title>min - docs</title>
  16. <link href="entireframework.min.css" rel="stylesheet" type="text/css" />
  17. <link href="docs.css" rel="stylesheet" type="text/css" />
  18. <style type="text/css">
  19. /* Min+ plugin*/
  20. message {
  21. display: block;
  22. padding: 2em;
  23. background: #def;
  24. border-left: 5px solid #44e;
  25. }
  26. .warning {
  27. border-color: #e44;
  28. background: #fdd;
  29. }
  30. .great {
  31. border-color: #2d2;
  32. background: #dfd;
  33. }
  34. </style>
  35. <!--[if lte IE 6]>
  36. <style>
  37. .col {
  38. margin: 0.5%;
  39. }
  40. .c12 {
  41. margin: 0.5%;
  42. margin-left: 0.5%;
  43. width: 97%;
  44. }
  45. .container {
  46. width: 90%;
  47. }
  48. </style>
  49. <![endif]-->
  50. <!--[if IE 5]>
  51. <style>
  52. .container {
  53. width: 100%;
  54. }
  55. .btn-close {
  56. display: none;
  57. }
  58. body {
  59. font: 16px Arial;
  60. }
  61. h3 {
  62. font-size: 20px;
  63. }
  64. .nav {
  65. height: 50px;
  66. }
  67. </style>
  68. <![endif]-->
  69. </head>
  70. <body>
  71. <nav class="nav" tabindex="-1" onclick="this.focus()">
  72. <div class="container">
  73. <a class="pagename current" href="index.html">Min</a>
  74. <a class="current" href="#">Docs</a>
  75. <!--
  76. <a href="bootstrapconverter.html">Bootstrap Converter</a>
  77. <a href="examples.html">Examples</a>
  78. -->
  79. <a href="download.html">Download</a>
  80. <a href="examples.html">Examples</a>
  81. <a href="https://github.com/owenversteeg/min">Github</a>
  82. </div>
  83. </nav>
  84. <button class="btn btn-sm btn-close">×</button>
  85. <div class="container">
  86. <div>
  87. <h1>Basics & Browser Support</h1>
  88. <p>
  89. Min's minimalism has several advantages. Firstly, it doesn't prescribe a specific design for you. Each element has just a handful of CSS rules applied to it, and as a result overriding default styles is extremely easy. Min being only 995 bytes means that there's less of it to get in your way when you want to customize your site. Contrast this with Bootstrap, where you may have to override many different rules to get what you want. Secondly, there's less markup to type. Min requires fewer superfluous divs and classes than any other framework, allowing every part of your code to be readable and semantically correct.
  90. </p>
  91. <p>
  92. Because of its minimalist goal, Min core has fewer features than Bootstrap. Many of the features omitted in Min are superfluous, unsemantic, and just plain idiotic (I'm looking at you, text-left class.) However, when using the <a href="http://owenversteeg.com/min-bootstrap-plugin">3.5kB Min Bootstrap plugin</a>, Min has full feature parity with Bootstrap. If you are migrating a complex site from Bootstrap to Min, it is highly recommended that you use this plugin.
  93. </p>
  94. </div>
  95. <div class="support">
  96. <table class="table">
  97. <thead>
  98. <tr>
  99. <th>Chrome</th>
  100. <th>IE</th>
  101. <th>FF</th>
  102. <th>Opera</th>
  103. <th>Safari</th>
  104. </tr>
  105. </thead>
  106. <tbody>
  107. <tr class="full">
  108. <td>33 - 2 <span class="browserdetails">(27.32%) [2014 - 2009]</span></td>
  109. <td>11 - 9 <span class="browserdetails">(5.22% + 0.20% + 0.20%) [2014 - 2011]</span></td>
  110. <td>27 - 3.5 <span class="browserdetails">(18.66% + 0.09% + 0.04%) [2014 - 2009]</span></td>
  111. <td>19 - 10 <span class="browserdetails">(1.51% + 1.32%) [2014 - 2009]</span></td>
  112. <td>7 - 4 <span class="browserdetails">(3.88% + 11.66% + 5.55%) [2014 - 2009]</span></td>
  113. </tr>
  114. <tr class="partial">
  115. <td>None</td>
  116. <td>8 - 5.5 <span class="browserdetails">(4.56%) [2009 - 2000]</span></td>
  117. <td onclick="alert(&#39;Tables are not shaded&#39;)">3 <span class="browserdetails">(0.03%) [2008]</span></td>
  118. <td onclick="alert(&#39;Tables are not shaded and buttons are not rounded&#39;)">9 <span class="browserdetails">(0.00%) [2006]</span></td>
  119. <td>None</td>
  120. </tr>
  121. <tr class="none">
  122. <td onclick="alert(&#39;page overflows&#39;)">1 - 0.2 <span class="browserdetails">(0.00%) [2008 - 2008]</span></td>
  123. <td onclick="alert(&#39;Navbars don&#39;t work at all, neither do grids or icons, and buttons are not padded&#39;)">5 - 1 <span class="browserdetails">(0.01%) [1999 - 1995]</span></td>
  124. <td onclick="alert(&#39;navbars broken (replace nav elements with divs for a fix)&#39;)">2 - 0.8 <span class="browserdetails">(0.05%) [2006 - 2004]</span></td>
  125. <td>8 - 2 <span class="browserdetails">(0.00%) [2005 - 1996]</span></td>
  126. <td onclick="alert(&#39;page overflows, no rounded buttons&#39;)">3 - 1 <span class="browserdetails">(0.00%) [2007 - 2003]</span></td>
  127. </tr>
  128. </tbody>
  129. </table>
  130. <!-- Reverse Mali flag, Bolivian flag, and Helvetic Republic flag -->
  131. <p>Key: <span class="full key">Full support</span>, <span class="partial key">partial support</span>, and <span class="none key">no support</span>. <span class="browserdetails">Market share data <a href="http://stats.wikimedia.org/archive/squid_reports/2014-01/SquidReportClients.htm">from Wikimedia</a> is in parens (in the format desktop+mobile+tablet); browser release dates are in brackets. Due to web crawlers and other mobile browsers, numbers will add up to about 80%.</span> Click on each cell for details (if available.) Partial support means that Min supports that browser but there may be a small visual quibble, such as no rounded corners on buttons, a difference in how the page responds to resizing, or slight table shading differences. <b>Netscape support has ended</b> with the release of Min 2.0 as part of a push towards using semantic HTML5 elements. Replace all &lt;nav&gt; elements with &lt;div&gt;s to make Min work in Netscape 7+.
  132. </p>
  133. </div>
  134. <div class="buttons">
  135. <h1>Buttons</h1>
  136. <a class="btn smooth btn-a">btn-a</a>
  137. <a class="smooth btn-b btn">btn-b</a>
  138. <a class="smooth btn-c btn">btn-c</a>
  139. <a class="smooth btn">classless</a>
  140. <br><br><pre>&lt;a class="btn btn-b smooth"&gt;btn-b&lt;/a&gt;</pre>
  141. <br>
  142. <a class="btn smooth btn-a btn-sm">btn-sm btn-a</a>
  143. <a class="btn smooth btn-b btn-sm">btn-sm btn-b</a>
  144. <a class="btn smooth btn-c btn-sm">btn-sm btn-c</a>
  145. <a class="btn smooth btn-sm">btn-sm classless</a>
  146. <br><br><pre>&lt;a class="btn btn-b btn-sm smooth"&gt;btn-sm&lt;/a&gt;</pre>
  147. </div>
  148. <div>
  149. <h1>Forms</h1>
  150. <input type="text" class="smooth" placeholder="input type=&quot;text&quot;"><br><br>
  151. <textarea rows="3" class="smooth" placeholder="textarea"></textarea><br><br><span class="addon">$</span><input type="text" class="smooth" placeholder="span class=&quot;addon&quot;">
  152. <br><br>
  153. <pre>&lt;input type="text" class="smooth"&gt;
  154. <br>&lt;textarea rows="3" class="smooth"&gt;
  155. <br>&lt;span class="addon"&gt;$&lt;/span&gt;&lt;input type="text" class="smooth"&gt;</pre>
  156. <div class="msg"><strong>Be careful with addons!</strong> If you do not want a space between the addon and the input make sure that there is no space between the <code>&lt;/span&gt;</code> and <code>&lt;input&gt;</code> tags. Example: <pre>... &lt;/span&gt; &lt;input ...</pre><span class="addon">$</span> <input type="text" class="smooth"> <pre>... &lt;/span&gt;&lt;input ...</pre><span class="addon">$</span><input type="text" class="smooth"></div>
  157. </div>
  158. <div class="navbar">
  159. <h1>Navbars</h1>
  160. <nav class="nav" tabindex="-1" onclick="this.focus()">
  161. <div class="container">
  162. <a class="pagename current" href="#">Min</a>
  163. <a href="#">One</a>
  164. <a href="#">Two</a>
  165. <a href="#">Three</a>
  166. <a href="#">Four</a>
  167. </div>
  168. </nav>
  169. <button class="btn-close btn btn-sm">×</button>
  170. <br>
  171. <pre>&lt;nav class="nav" tabindex="-1" onclick="this.focus()"&gt;<br> &lt;div class="container"&gt;<br> &lt;a class="pagename current" href="#"&gt;Min&lt;/a&gt;<br> &lt;a href="#"&gt;One&lt;/a&gt;<br> &lt;a href="#"&gt;Two&lt;/a&gt; <br> &lt;a href="#"&gt;Three&lt;/a&gt;<br> &lt;/div&gt;<br>&lt;/nav&gt;<br>&lt;button class="btn-close btn btn-sm"&gt;×&lt;/button&gt;</pre>
  172. </div>
  173. <div>
  174. <h1>Tables</h1>
  175. <table class="table"><thead><tr><th>#</th><th>Widgets Sold</th><th>Revenue (£)</th><th>Profit (£)</th></tr></thead><tbody><tr><td>1</td><td>5</td><td>10</td><td>2</td></tr><tr><td>2</td><td>10</td><td>20</td><td>4</td></tr><tr><td>3</td><td>500</td><td>1000</td><td>200</td></tr></tbody></table>
  176. <br><br>
  177. <pre>&lt;table class="table"&gt;
  178. &lt;thead&gt;
  179. &lt;tr&gt;
  180. &lt;th&gt;#&lt;/th&gt;
  181. &lt;th&gt;Widgets Sold&lt;/th&gt;
  182. &lt;/tr&gt;
  183. &lt;/thead&gt;
  184. &lt;tbody&gt;
  185. &lt;tr&gt;
  186. &lt;td&gt;1&lt;/td&gt;
  187. &lt;td&gt;5&lt;/td&gt;
  188. &lt;/tr&gt;
  189. &lt;tr&gt;
  190. &lt;td&gt;2&lt;/td&gt;
  191. &lt;td&gt;10&lt;/td&gt;
  192. &lt;/tr&gt;
  193. &lt;tr&gt;
  194. &lt;td&gt;3&lt;/td&gt;
  195. &lt;td&gt;500&lt;/td&gt;
  196. &lt;/tr&gt;
  197. &lt;/tbody&gt;
  198. &lt;/table&gt;
  199. </pre>
  200. </div>
  201. <div class="icons">
  202. <h1>Icons</h1>
  203. <i class="ico"><b>Android Safe</b> ☎ ♂ ♀ ⓧ © § ® ⇦ ⇧ ⇨ ⇩♠ ♣ ♥ ♦ ♪ ♛ ♜ ♝ ♞ ♟☜ ☞ ♨ ♭ ♯ ¥£ ¢❊ ฿ ๏ ※ ₧ ₨ ₪ € №</i>
  204. <br><br><message class="great">The "Android Safe" icons work everywhere, tested on hundreds of devices. </message>
  205. <br>
  206. <i class="ico"><b>Total Set</b> ✉ ✰ ☁ ✈ ☑ ☒ ✆ ☀ ☮ ☢ ☠ ☣ ⌂ ℗ ☺ ☻ ☼ ∡ ∿ ⊝ ⊘ ⁂ ☤ ♫ ☄ ✎ ☟ ☝ ☹ ☭ ☚ ☛ ✌ 〠 ☃ ♮ ☂ ☸ ✍ ☯ ✂ ₩ ◍ ۩</i>
  207. <br><br><message class="warning">Although over 75% of Android devices we tested support all "Total Set" icons, if a substantial portion of your users use old Android devices you should stick to the "Android Safe" set. (The "Total Set" does not include icons from the "Android Safe" set.)</message>
  208. <pre>&lt;i class="ico"&gt;Copy and paste icons from above here!&lt;/i&gt;</pre>
  209. <h1>Grids</h1>
  210. <div class="row">
  211. <div class="col dark c12">12</div>
  212. </div>
  213. <div class="row">
  214. <div class="col dark c11">11</div>
  215. <div class="col light c1">1</div>
  216. </div>
  217. <div class="row">
  218. <div class="col dark c10">10</div>
  219. <div class="col light c2">2</div>
  220. </div>
  221. <div class="row">
  222. <div class="col dark c9">9</div>
  223. <div class="col light c3">3</div>
  224. </div>
  225. <div class="row">
  226. <div class="col dark c8">8</div>
  227. <div class="col light c4">4</div>
  228. </div>
  229. <div class="row">
  230. <div class="col dark c7">7</div>
  231. <div class="col light c5">5</div>
  232. </div>
  233. <div class="row">
  234. <div class="col dark c6">6</div>
  235. <div class="col light c6">6</div>
  236. </div>
  237. <div class="row">
  238. <div class="col dark c5">5</div>
  239. <div class="col light c7">7</div>
  240. </div>
  241. <div class="row">
  242. <div class="col dark c4">4</div>
  243. <div class="col light c8">8</div>
  244. </div>
  245. <div class="row">
  246. <div class="col dark c3">3</div>
  247. <div class="col light c9">9</div>
  248. </div>
  249. <div class="row">
  250. <div class="col dark c2">2</div>
  251. <div class="col light c10">10</div>
  252. </div>
  253. <div class="row">
  254. <div class="col dark c1">1</div>
  255. <div class="col light c11">11</div>
  256. </div>
  257. <div class="row">
  258. <div class="col light c12">12</div>
  259. </div>
  260. <br>
  261. <!--[if lte IE 6]><br><br><br><![endif]-->
  262. <pre>&lt;div class="row"&gt;<br> &lt;div class="col c12"&gt;12&lt;/div&gt;<br>&lt;/div&gt;
  263. <br>&lt;div class="row"&gt;<br> &lt;div class="col c4"&gt;4&lt;/div&gt;<br> &lt;div class="col c8"&gt;8&lt;/div&gt;<br>&lt;/div&gt;
  264. </pre>
  265. </div>
  266. <h1>Headings</h1>
  267. <div class="headings">
  268. <h1 class="exampleh1">h1</h1>
  269. <h2>h2</h2>
  270. <h3>h3</h3>
  271. <h4>h4</h4>
  272. <h5>h5</h5>
  273. <h6>h6</h6>
  274. <br>
  275. <pre>&lt;h1&gt;Level One Heading&lt;/h1&gt;</pre>
  276. </div>
  277. <h1>Messages</h1>
  278. <div class="messages">
  279. <div class="msg">
  280. <strong>Watch out!</strong> You almost scrolled off the page. There are reports of sea monsters past the end of the page and we do not advise you go there.
  281. </div>
  282. <pre>&lt;div class="msg"&gt;
  283. &lt;strong&gt;Alert headline!&lt;/strong&gt;
  284. Message text
  285. &lt;/div&gt;
  286. </pre>
  287. </div>
  288. <br>
  289. <div class="krakenholder">
  290. <img src="kraken.png" class="kraken" alt="a scary sea monster">
  291. </div>
  292. <br>
  293. <script type="text/javascript">
  294. function downloadJSAtOnload() {
  295. var element = document.createElement("script");
  296. element.src = "defer.js";
  297. document.body.appendChild(element);
  298. }
  299. if (window.addEventListener)
  300. window.addEventListener("load", downloadJSAtOnload, false);
  301. else if (window.attachEvent)
  302. window.attachEvent("onload", downloadJSAtOnload);
  303. else window.onload = downloadJSAtOnload;
  304. </script>
  305. </div>
  306. <script src="defer.js"></script>
  307. </body>
  308. </html>