Created
June 13, 2020 14:54
-
-
Save zippaaa/db69213f41bff52113b1d2c7566160fc to your computer and use it in GitHub Desktop.
Flex table
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <!DOCTYPE html> | |
| <html lang="ru"> | |
| <head> | |
| <meta charset="UTF-8"> | |
| <title>Title</title> | |
| </head> | |
| <body> | |
| <div class="content"> | |
| <h1>Table 1</h1> | |
| <div class="tbl tbl--abc"> | |
| <div class="tbl__row tbl__row--head"> | |
| <div class="cell cell--action"></div> | |
| <div class="cell cell--name">Имя</div> | |
| <div class="cell cell--age">Возраст</div> | |
| <div class="cell cell--start">Старт</div> | |
| <div class="cell cell--finish">Финиш</div> | |
| </div> | |
| <div class="tbl__row"> | |
| <div class="cell cell--action dropdown"> | |
| <button data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" class="btn">⚙️</button> | |
| </div> | |
| <div class="cell cell--name">Иванов</div> | |
| <div class="cell cell--age">25</div> | |
| <div class="cell cell--start">2020-03-26 14:13:21</div> | |
| <div class="cell cell--finish">2020-03-31 12:05:30</div> | |
| <div class="cell cell--text">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam</div> | |
| </div> | |
| <div class="tbl__row"> | |
| <div class="cell cell--action dropdown"> | |
| <button data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" class="btn">⚙️</button> | |
| </div> | |
| <div class="cell cell--name">Петров</div> | |
| <div class="cell cell--age">30</div> | |
| <div class="cell cell--start">2020-03-16 16:26:33</div> | |
| <div class="cell cell--finish">2020-03-26 13:58:10</div> | |
| <div class="cell cell--text">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam</div> | |
| </div> | |
| <div class="tbl__row"> | |
| <div class="cell cell--action dropdown"> | |
| <button data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" class="btn">⚙️</button> | |
| </div> | |
| <div class="cell cell--name">Сидоров</div> | |
| <div class="cell cell--age">27</div> | |
| <div class="cell cell--start">2020-03-16 15:57:38</div> | |
| <div class="cell cell--finish">2020-03-16 15:59:20</div> | |
| <div class="cell cell--text">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam</div> | |
| </div> | |
| <div class="tbl__row"> | |
| <div class="cell cell--action dropdown"> | |
| <button data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" class="btn">⚙️</button> | |
| </div> | |
| <div class="cell cell--name">Козлов</div> | |
| <div class="cell cell--age">29</div> | |
| <div class="cell cell--start">2020-03-16 15:55:48</div> | |
| <div class="cell cell--finish">2020-03-16 15:56:03</div> | |
| <div class="cell cell--text">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam</div> | |
| </div> | |
| </div> | |
| <h1>Table 2</h1> | |
| <div class="tbl tbl--def"> | |
| <div class="tbl__row"> | |
| <div class="cell cell--action dropdown"> | |
| <button data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" class="btn">⚙️</button> | |
| </div> | |
| <div class="cell cell--name">Иванов</div> | |
| <div class="cell cell--age">18</div> | |
| <div class="cell cell--start">2020-04-09 21:54:30</div> | |
| <div class="cell cell--finish">2020-04-09 21:59:52</div> | |
| <div class="cell cell--text">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam</div> | |
| </div> | |
| <div class="tbl__row"> | |
| <div class="cell cell--action dropdown"> | |
| <button data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" class="btn">⚙️</button> | |
| </div> | |
| <div class="cell cell--name">Петров</div> | |
| <div class="cell cell--age">17</div> | |
| <div class="cell cell--start">2020-04-09 21:48:57</div> | |
| <div class="cell cell--finish">2020-04-09 21:53:29</div> | |
| <div class="cell cell--text">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam</div> | |
| </div> | |
| <div class="tbl__row"> | |
| <div class="cell cell--action dropdown"> | |
| <button data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" class="btn">⚙️</button> | |
| </div> | |
| <div class="cell cell--name">Сидоров</div> | |
| <div class="cell cell--age">16</div> | |
| <div class="cell cell--start">2020-04-08 14:32:55</div> | |
| <div class="cell cell--finish">2020-04-09 21:48:42</div> | |
| <div class="cell cell--text">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam</div> | |
| </div> | |
| <div class="tbl__row"> | |
| <div class="cell cell--action dropdown"> | |
| <button data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" class="btn">⚙️</button> | |
| </div> | |
| <div class="cell cell--name">Козлов</div> | |
| <div class="cell cell--age">15</div> | |
| <div class="cell cell--start">2020-04-08 11:47:12</div> | |
| <div class="cell cell--finish">2020-04-08 11:48:41</div> | |
| <div class="cell cell--text">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam</div> | |
| </div> | |
| </div> | |
| <h1>Table 3</h1> | |
| <div class="tbl tbl--klm"> | |
| <div class="tbl__row tbl__row--head"> | |
| <div class="cell cell--action"></div> | |
| <div class="cell cell--name">Имя</div> | |
| <div class="cell cell-sm cell--age">Возраст</div> | |
| <div class="cell cell-sm cell--start">Старт</div> | |
| <div class="cell cell-sm cell--finish">Финиш</div> | |
| </div> | |
| <div class="tbl__row"> | |
| <div class="cell cell--action dropdown"> | |
| <button data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" class="btn">⚙️</button> | |
| </div> | |
| <div class="cell cell--name">Иванов</div> | |
| <div class="cell cell-sm cell--age" data-name="Номер смены">12</div> | |
| <div class="cell cell-sm cell--start" data-name="Старт">2020-03-26 14:13:21</div> | |
| <div class="cell cell-sm cell--finish" data-name="Финиш">2020-03-31 12:05:30</div> | |
| <div class="cell cell--text">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam</div> | |
| </div> | |
| <div class="tbl__row"> | |
| <div class="cell cell--action dropdown"> | |
| <button data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" class="btn">⚙️</button> | |
| </div> | |
| <div class="cell cell--name">Петров</div> | |
| <div class="cell cell-sm cell--age" data-name="Номер смены">11</div> | |
| <div class="cell cell-sm cell--start" data-name="Старт">2020-03-16 16:26:33</div> | |
| <div class="cell cell-sm cell--finish" data-name="Финиш">2020-03-26 13:58:10</div> | |
| <div class="cell cell--text">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam</div> | |
| </div> | |
| <div class="tbl__row"> | |
| <div class="cell cell--action dropdown"> | |
| <button data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" class="btn">⚙️</button> | |
| </div> | |
| <div class="cell cell--name">Сидоров</div> | |
| <div class="cell cell-sm cell--age" data-name="Номер смены">10</div> | |
| <div class="cell cell-sm cell--start" data-name="Старт">2020-03-16 15:57:38</div> | |
| <div class="cell cell-sm cell--finish" data-name="Финиш">2020-03-16 15:59:20</div> | |
| <div class="cell cell--text">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam</div> | |
| </div> | |
| <div class="tbl__row"> | |
| <div class="cell cell--action dropdown"> | |
| <button data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" class="btn">⚙️</button> | |
| </div> | |
| <div class="cell cell--name">Козлов</div> | |
| <div class="cell cell-sm cell--age" data-name="Номер смены">9</div> | |
| <div class="cell cell-sm cell--start" data-name="Старт">2020-03-16 15:55:48</div> | |
| <div class="cell cell-sm cell--finish" data-name="Финиш">2020-03-16 15:56:03</div> | |
| <div class="cell cell--text">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam</div> | |
| </div> | |
| </div> | |
| </div> | |
| <style type="text/css"> | |
| :root { | |
| --cell-width-action: 50px; | |
| } | |
| *, ::after, ::before { | |
| box-sizing: border-box; | |
| } | |
| body { | |
| background: #F2F3F4; | |
| font-size: 15px; | |
| font-family: "Segoe UI", sans-serif; | |
| color: #313131; | |
| padding: 0; | |
| margin: 0; | |
| } | |
| .content { | |
| max-width: 1200px; | |
| padding: 2rem; | |
| background: #fff; | |
| margin: 0 auto; | |
| } | |
| /*--- table ---*/ | |
| .tbl { | |
| --cell-width: initial; | |
| padding: 0; | |
| } | |
| .tbl .tbl { | |
| border-left: 0; | |
| border-right: 0; | |
| border-top: 0; | |
| } | |
| .tbl__row { | |
| border-right: 1px solid var(--color-500); | |
| display: flex; | |
| flex-wrap: wrap; | |
| } | |
| .cell { | |
| border-left: 1px solid var(--color-500); | |
| border-bottom: 1px solid var(--color-500); | |
| padding: .5rem; | |
| flex: initial; | |
| width: auto; | |
| text-align: center; | |
| max-width: var(--cell-width); | |
| min-width: var(--cell-width); | |
| } | |
| .tbl__row:first-child { | |
| border-top: 1px solid var(--color-500); | |
| } | |
| .tbl__row--head + .tbl__row { | |
| border-top: 0 !important; | |
| margin-top: 0 !important; | |
| } | |
| .tbl__row--head .cell { | |
| background-color: var(--body-bg); | |
| font-weight: bold; | |
| } | |
| .cell--main { | |
| flex: 1; | |
| } | |
| .cell--action { | |
| flex: 0; | |
| --cell-width: var(--cell-width--action); | |
| padding: 0; | |
| } | |
| .cell--action > .btn { | |
| border: 0; | |
| border-radius: 0; | |
| padding: .5rem .75rem; | |
| width: 100%; | |
| display: block; | |
| } | |
| @media (max-width: 768px) { | |
| .tbl__row { | |
| border-top: 1px solid var(--color-500); | |
| } | |
| .tbl__row + .tbl__row { | |
| margin-top: 1rem; | |
| } | |
| .cell--action { | |
| flex: 0; | |
| } | |
| } | |
| /* ----- tbl--abc ----- */ | |
| .tbl--abc { | |
| --body-bg: #f2f3f4; | |
| --color-500: #d8dde5; | |
| --cell-width--action: 50px; | |
| --cell-width-age: 20%; | |
| --cell-width-start: 20%; | |
| --cell-width-finish: 20%; | |
| --cell-width-name: calc( | |
| 100% | |
| - var(--cell-width-age) | |
| - var(--cell-width-start) | |
| - var(--cell-width-finish) | |
| - var(--cell-width-action) | |
| ); | |
| } | |
| .tbl--abc .cell--name { | |
| text-align: left; | |
| --cell-width: var(--cell-width-name); | |
| } | |
| .tbl--abc .cell--age { | |
| --cell-width: var(--cell-width-age); | |
| } | |
| .tbl--abc .cell--start { | |
| --cell-width: var(--cell-width-start); | |
| } | |
| .tbl--abc .cell--finish { | |
| --cell-width: var(--cell-width-finish); | |
| } | |
| .tbl--abc .cell--text { | |
| --cell-width: 100%; | |
| color: gray; | |
| } | |
| @media (max-width: 980px) { | |
| .tbl--abc { | |
| --cell-width-age: 20%; | |
| --cell-width-start: 50%; | |
| --cell-width-finish: 50%; | |
| --cell-width-name: calc( | |
| 100% | |
| - var(--cell-width-age) | |
| - var(--cell-width-action) | |
| ); | |
| } | |
| } | |
| /* ----- tbl--def ----- */ | |
| .tbl--def { | |
| --body-bg: #f2f3f4; | |
| --color-500: red; | |
| --cell-width--action: 50px; | |
| --cell-width-age: 20%; | |
| --cell-width-start: 20%; | |
| --cell-width-finish: 20%; | |
| --cell-width-name: calc( | |
| 100% | |
| - var(--cell-width-age) | |
| - var(--cell-width-start) | |
| - var(--cell-width-finish) | |
| - var(--cell-width-action) | |
| ); | |
| } | |
| .tbl--def .cell--name { | |
| text-align: left; | |
| --cell-width: var(--cell-width-name); | |
| } | |
| .tbl--def .cell--age { | |
| --cell-width: var(--cell-width-age); | |
| } | |
| .tbl--def .cell--start { | |
| --cell-width: var(--cell-width-start); | |
| } | |
| .tbl--def .cell--finish { | |
| --cell-width: var(--cell-width-finish); | |
| } | |
| .tbl--def .cell--text { | |
| --cell-width: 100%; | |
| color: gray; | |
| } | |
| @media (max-width: 980px) { | |
| .tbl--def { | |
| display: flex; | |
| flex-wrap: wrap; | |
| flex-direction: row; | |
| justify-content: space-between; | |
| } | |
| .tbl--def > .tbl__row { | |
| width: 45%; | |
| margin-bottom: 1em; | |
| margin-top: initial; | |
| border-top: 1px solid var(--color-500); | |
| } | |
| .tbl--def { | |
| --cell-width-age: 20%; | |
| --cell-width-start: 50%; | |
| --cell-width-finish: 50%; | |
| --cell-width-name: calc( | |
| 100% | |
| - var(--cell-width-age) | |
| - var(--cell-width-action) | |
| ); | |
| } | |
| } | |
| /* ----- tbl--abc ----- */ | |
| .tbl--klm { | |
| --body-bg: #f2f3f4; | |
| --color-500: #d8dde5; | |
| --cell-width--action: 50px; | |
| --cell-width-age: 20%; | |
| --cell-width-start: 20%; | |
| --cell-width-finish: 20%; | |
| --cell-width-name: calc( | |
| 100% | |
| - var(--cell-width-age) | |
| - var(--cell-width-start) | |
| - var(--cell-width-finish) | |
| - var(--cell-width-action) | |
| ); | |
| } | |
| .tbl--klm .cell--name { | |
| text-align: left; | |
| --cell-width: var(--cell-width-name); | |
| } | |
| .tbl--klm .cell--age { | |
| --cell-width: var(--cell-width-age); | |
| } | |
| .tbl--klm .cell--start { | |
| --cell-width: var(--cell-width-start); | |
| } | |
| .tbl--klm .cell--finish { | |
| --cell-width: var(--cell-width-finish); | |
| } | |
| .tbl--klm .cell--text { | |
| --cell-width: 100%; | |
| color: gray; | |
| } | |
| @media (max-width: 768px) { | |
| .tbl--klm { | |
| --cell-width-name: calc( | |
| 100% | |
| - var(--cell-width-action) | |
| ); | |
| } | |
| .tbl .tbl__row--head .cell-sm { | |
| display: none; | |
| } | |
| .tbl .cell-sm { | |
| --cell-width: 100% !important; | |
| text-align: right; | |
| } | |
| .tbl .cell-sm:before { | |
| content: attr(data-name); | |
| float: left; | |
| color: gray; | |
| } | |
| } | |
| </style> | |
| </body> | |
| </html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment