You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

509 lines
19 KiB

3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
  1. <!doctype html>
  2. <html lang="en_EN">
  3. <head>
  4. <meta charset="utf-8">
  5. <meta http-equiv="x-ua-compatible" content="ie=edge">
  6. <title>Plain UI | Lightweight CSS UI Framework for Building Apps and Websites</title>
  7. <meta name="description" content="Lightweight UI Framework for building fast and clean Websites and Apps for Mobile, Tablet and Desktop. Minimal UI-Elements, Functions and Helpers">
  8. <meta name="viewport" content="width=device-width,initial-scale=1">
  9. <link rel="stylesheet" href="plain-ui.css">
  10. </head>
  11. <body class="overflow-x-hidden">
  12. <header class="header">
  13. <div class="bar">
  14. <div class="bar__start">
  15. <svg class="icon fill-white" aria-hidden="true">
  16. <use xlink:href="symbol-defs.svg#icon-check"></use>
  17. </svg>
  18. </div>
  19. <div class="bar__main">
  20. <h1 class="m-top-4 m-bottom-4 h4">
  21. Plain UI
  22. </h1>
  23. </div>
  24. </div>
  25. </header>
  26. <div class="container m-top-7">
  27. <div class="grid">
  28. <div class="col-12">
  29. <h2 class="m-bottom-0">Heading</h2>
  30. <hr>
  31. <h1>Heading 1</h1>
  32. <h2>Heading 2</h2>
  33. <h3>Heading 3</h3>
  34. <h4>Heading 4</h4>
  35. <h5>Heading 5</h5>
  36. <h6>Heading 6</h6>
  37. </div>
  38. </div>
  39. <div class="grid">
  40. <div class="col-12">
  41. <p>
  42. <span class="t-bold">Plain UI</span> is a simple UI Framework. It uses strong Utility Classes and has a few Components.
  43. </p>
  44. <p>
  45. Some ideas of this are based Work from the last 10 Years. But also Ideas from Frameworks TailwindCSS.
  46. </p>
  47. <p>
  48. The Basic Idea was a quick
  49. </p>
  50. <div class="center">
  51. <a href="#">
  52. <svg class="icon icon--success" aria-hidden="true">
  53. <use xlink:href="symbol-defs.svg#icon-check"></use>
  54. </svg>
  55. </a>
  56. <a href="https://gitea.teantakelfabrik.de/">
  57. <svg class="icon icon--success" aria-hidden="true">
  58. <use xlink:href="symbol-defs.svg#icon-check"></use>
  59. </svg>
  60. </a>
  61. </div>
  62. <h2>Buttons</h2>
  63. <button class="button">
  64. Default
  65. </button>
  66. <button class="button">
  67. Default
  68. <svg class="icon icon--success" aria-hidden="true">
  69. <use xlink:href="symbol-defs.svg#icon-check"></use>
  70. </svg>
  71. </button>
  72. <button class="button button--danger">
  73. Danger
  74. </button>
  75. <button class="button button--selected">
  76. Hover
  77. </button>
  78. <button class="button button--outline">
  79. Outline
  80. </button>
  81. <button class="button button--danger button--outline">
  82. Danger Outline
  83. </button>
  84. </div>
  85. </div>
  86. <div class="grid">
  87. <div class="col-12">
  88. <button class="button" disabled>
  89. Disabled
  90. </button>
  91. </div>
  92. </div>
  93. <div class="grid">
  94. <div class="col-12">
  95. <button class="button button--small">
  96. Small
  97. </button>
  98. </div>
  99. </div>
  100. <div class="grid">
  101. <div class="col-12">
  102. <div class="bar">
  103. <div class="bar__start">
  104. <button class="button button--no-style">
  105. <svg class="icon fill-white marginless" aria-hidden="true">
  106. <use xlink:href="symbol-defs.svg#icon-close"></use>
  107. </svg>
  108. </button>
  109. </div>
  110. <div class="bar__main">
  111. Bar
  112. </div>
  113. </div>
  114. </div>
  115. </div>
  116. <div class="grid">
  117. <div class="col-12">
  118. <div class="bar">
  119. <div class="tabs">
  120. <a class="tabs__item">
  121. Tab A
  122. </a>
  123. <a class="tabs__item">
  124. Tab B
  125. </a>
  126. </div>
  127. </div>
  128. </div>
  129. </div>
  130. <div class="grid">
  131. <div class="col-12">
  132. <h2>Icon</h2>
  133. <svg class="icon" aria-hidden="true">
  134. <use xlink:href="symbol-defs.svg#icon-check"></use>
  135. </svg>
  136. <svg class="icon icon--danger" aria-hidden="true">
  137. <use xlink:href="symbol-defs.svg#icon-camera"></use>
  138. </svg>
  139. <svg class="icon icon--success" aria-hidden="true">
  140. <use xlink:href="symbol-defs.svg#icon-clock"></use>
  141. </svg>
  142. </div>
  143. </div>
  144. <div class="grid">
  145. <div class="col-12">
  146. <h2>Content</h2>
  147. <div class="content">
  148. <p>
  149. </p>
  150. <ul>
  151. <li></li>
  152. <li></li>
  153. <li></li>
  154. </ul>
  155. </div>
  156. </div>
  157. </div>
  158. <div class="grid">
  159. <div class="col-12">
  160. <h2>Badge</h2>
  161. <span class="badge">
  162. Category
  163. </span>
  164. <span class="badge badge--round">
  165. 99+
  166. </span>
  167. </div>
  168. </div>
  169. <div class="grid">
  170. <div class="col-12">
  171. <h2>Loading</h2>
  172. <div>
  173. <div class="loading">
  174. <span></span>
  175. <span></span>
  176. <span></span>
  177. </div>
  178. </div>
  179. </div>
  180. </div>
  181. <div class="grid">
  182. <div class="col-12">
  183. <h2>Panel</h2>
  184. <div class="panel">
  185. <div class="bar">
  186. <div class="bar__start">
  187. <button type="button" class="button button--no-style">
  188. <svg class="icon fill-white" aria-hidden="true">
  189. <use xlink:href="symbol-defs.svg#icon-expand"></use>
  190. </svg>
  191. </button>
  192. </div>
  193. <div class="bar__main">Test</div>
  194. <div class="bar__end">
  195. <button type="button" class="button button--no-style">
  196. <svg class="icon fill-white" aria-hidden="true">
  197. <use xlink:href="symbol-defs.svg#icon-edit"></use>
  198. </svg>
  199. </button>
  200. <button type="button" class="button button--no-style">
  201. <svg class="icon fill-white" aria-hidden="true">
  202. <use xlink:href="symbol-defs.svg#icon-close"></use>
  203. </svg>
  204. </button>
  205. </div>
  206. </div>
  207. <div class="panel__body">
  208. <div class="content">
  209. <p>
  210. Hallo
  211. </p>
  212. </div>
  213. </div>
  214. </div>
  215. </div>
  216. </div>
  217. <div class="grid">
  218. <div class="col-12">
  219. <h2>Modal</h2>
  220. <button class="button" onclick="openModal()">
  221. Open
  222. </button>
  223. <script type="text/javascript">
  224. function openModal() {
  225. document.querySelector('.modal').classList.add('modal--open')
  226. }
  227. function closeModal() {
  228. document.querySelector('.modal').classList.remove('modal--open')
  229. }
  230. </script>
  231. <div class="modal">
  232. <div class="modal__inner">
  233. <div class="modal__title t-center">
  234. <svg class="icon fill-white" aria-hidden="true">
  235. <use xlink:href="symbol-defs.svg#icon-close"></use>
  236. </svg>
  237. Delete
  238. </div>
  239. <div class="modal__body">
  240. Do you really wan't to delete all files?
  241. </div>
  242. <div class="modal__footer">
  243. <button class="button button--outline button--danger" onclick="closeModal()">
  244. Confirm
  245. </button>
  246. <button class="button button--outline float-right" onclick="closeModal()">
  247. Reject
  248. </button>
  249. </div>
  250. </div>
  251. </div>
  252. </div>
  253. </div>
  254. <div class="grid">
  255. <div class="col-12">
  256. <h2>Field</h2>
  257. <form>
  258. <div class="field-group">
  259. <label class="field-label">
  260. Name
  261. <input class="field-text" />
  262. </label>
  263. </div>
  264. <div class="field-group field-group--valid">
  265. <label class="field-label">
  266. <svg class="icon" aria-hidden="true">
  267. <use class="test" xlink:href="symbol-defs.svg#icon-check"></use>
  268. </svg>
  269. Surname
  270. <input class="field-text" />
  271. </label>
  272. </div>
  273. <div class="field-group field-group--error">
  274. <label class="field-label">
  275. <svg class="icon" aria-hidden="true">
  276. <use class="test" xlink:href="symbol-defs.svg#icon-warning"></use>
  277. </svg>
  278. E-Mail
  279. <input class="field-text" />
  280. </label>
  281. <span class="field-error">
  282. String is not valid
  283. </span>
  284. </div>
  285. <div class="field-group">
  286. <label class="field-label">
  287. Towns
  288. <select class="field-choice">
  289. <option></option>
  290. <option value="lonytown">Lonytown</option>
  291. </select>
  292. </label>
  293. </div>
  294. <div class="field-group">
  295. <label class="field-label">
  296. <input class="field-choice" type="checkbox" value="true" />
  297. <svg class="icon field-choice__unchecked" aria-hidden="true">
  298. <use xlink:href="symbol-defs.svg#icon-circle"></use>
  299. </svg>
  300. <svg class="icon field-choice__checked" aria-hidden="true">
  301. <use xlink:href="symbol-defs.svg#icon-circle-check"></use>
  302. </svg>
  303. Do it!
  304. </label>
  305. </div>
  306. <div class="field-group">
  307. <label class="field-label">
  308. <input class="field-choice" type="radio" name="radio" value="true" />
  309. <svg class="icon field-choice__unchecked" aria-hidden="true">
  310. <use xlink:href="symbol-defs.svg#icon-circle"></use>
  311. </svg>
  312. <svg class="icon field-choice__checked" aria-hidden="true">
  313. <use xlink:href="symbol-defs.svg#icon-circle-check"></use>
  314. </svg>
  315. A
  316. </label>
  317. <label class="field-label">
  318. <input class="field-choice" type="radio" name="radio" value="true" />
  319. <svg class="icon field-choice__unchecked" aria-hidden="true">
  320. <use xlink:href="symbol-defs.svg#icon-circle"></use>
  321. </svg>
  322. <svg class="icon field-choice__checked" aria-hidden="true">
  323. <use xlink:href="symbol-defs.svg#icon-circle-check"></use>
  324. </svg>
  325. B
  326. </label>
  327. </div>
  328. </form>
  329. </div>
  330. </div>
  331. <div class="grid">
  332. <div class="col-12">
  333. <h2>Table</h2>
  334. <table class="table table--striped">
  335. <thead>
  336. <tr>
  337. <th>A</th>
  338. <th>B</th>
  339. <th>C</th>
  340. <th>D</th>
  341. </tr>
  342. </thead>
  343. <tbody>
  344. <tr>
  345. <td>1</td>
  346. <td>2</td>
  347. <td>3</td>
  348. <td>4</td>
  349. </tr>
  350. <tr>
  351. <td>1</td>
  352. <td>2</td>
  353. <td>3</td>
  354. <td>4</td>
  355. </tr>
  356. <tr>
  357. <td>1</td>
  358. <td>2</td>
  359. <td>3</td>
  360. <td>4</td>
  361. </tr>
  362. </tbody>
  363. </table>
  364. </div>
  365. </div>
  366. </div>
  367. <div class="container">
  368. <div class="grid">
  369. <div class="col-12">
  370. <h2 class="">Hero</h2>
  371. </div>
  372. </div>
  373. </div>
  374. <div class="hero">
  375. <img style="max-height: 400px;" src="/image.jpg" />
  376. </div>
  377. <div class="container">
  378. <div class="grid">
  379. <div class="col-12">
  380. <h2 class="">Media</h2>
  381. </div>
  382. <div class="col-12">
  383. <figure class="figure">
  384. <img class="media" src="/image.jpg" />
  385. <figcaption class="figure__caption">
  386. food truck yr franzen pabst
  387. </figcaption>
  388. </figure>
  389. </div>
  390. </div>
  391. </div>
  392. <div class="container">
  393. <div class="grid">
  394. <div class="col-12">
  395. <h2>Layout</h2>
  396. </div>
  397. <div class="col-12">
  398. <h2>Slider</h3>
  399. </div>
  400. </div>
  401. </div>
  402. <div class="slider">
  403. <div class="slider__inner">
  404. <div class="slider__item w-col-12">
  405. <figure class="figure w-col-12">
  406. <img class="media" src="/image.jpg" />
  407. <figcaption class="figure__caption">
  408. food truck yr franzen pabst
  409. </figcaption>
  410. </figure>
  411. </div>
  412. <div class="slider__item w-col-12">
  413. <figure class="figure w-col-12">
  414. <img class="media" src="/image.jpg" />
  415. <figcaption class="figure__caption">
  416. food truck yr franzen pabst
  417. </figcaption>
  418. </figure>
  419. </div>
  420. <div class="slider__item w-col-12">
  421. <figure class="figure w-col-12">
  422. <img class="media" src="/image.jpg" />
  423. <figcaption class="figure__caption">
  424. food truck yr franzen pabst
  425. </figcaption>
  426. </figure>
  427. </div>
  428. <div class="slider__item w-col-12">
  429. <figure class="figure w-col-12">
  430. <img class="media" src="/image.jpg" />
  431. <figcaption class="figure__caption">
  432. food truck yr franzen pabst
  433. </figcaption>
  434. </figure>
  435. </div>
  436. <div class="slider__item w-col-12">
  437. <figure class="figure w-col-12">
  438. <img class="media" src="/image.jpg" />
  439. <figcaption class="figure__caption">
  440. food truck yr franzen pabst
  441. </figcaption>
  442. </figure>
  443. </div>
  444. </div>
  445. </div>
  446. <div class="container">
  447. <div class="grid">
  448. <div class="col-12">
  449. <h2>Masonry</h3>
  450. <div class="masonry">
  451. <figure class="masonry__item marginless">
  452. <img class="media object-fit-cover h-100" src="/image.jpg" />
  453. </figure>
  454. <figure class="masonry__item marginless">
  455. <img class="media object-fit-cover h-100" src="/image.jpg" />
  456. </figure>
  457. <figure class="masonry__item marginless">
  458. <img class="media object-fit-cover h-100" src="/image.jpg" />
  459. </figure>
  460. <figure class="masonry__item marginless">
  461. <img class="media object-fit-cover h-100" src="/image.jpg" />
  462. </figure>
  463. <figure class="masonry__item marginless">
  464. <img class="media object-fit-cover h-100" src="/image.jpg" />
  465. </figure>
  466. </div>
  467. </div>
  468. </div>
  469. </div>
  470. </body>
  471. </html