Отзивчива html таблица онлайн. Завъртането на телефона е крайна мярка

За всеки дизайнер на оформление не е тайна, че таблиците са зли. Те са трудни за адаптиране и персонализиране. Ако на настолната версия на сайта все още е доста лесно да нарисувате маса, тогава когато започне адаптивното оформление, всичко отива по дяволите.

Всъщност една от най-ефективните опции е да създадете хоризонтално превъртане за таблицата. Лесно е да се направи, но днешната публикация не е за това. Все пак ще ви покажа.

Първият начин за адаптиране

<div class = "table-wrap"> <таблица> <thead> <tr> <th>Обслужване</ th> <th>Описание</ th> <th>Цена</ th> <th>Отстъпка</ th> </ tr> </ thead> <tbody> <tr> <td>Мобилно оформление</ td> <td>Оформление за телефони</ td> <td>$3000</ td> <td> 50%</ td> </ tr> <tr> <td>Кацане на CMS WordPress</ td> <td></ td> <td>$3000</ td> <td> 30%</ td> </ tr> </ tbody> </ таблица> </ div>

Обслужване Описание Цена Отстъпка
Мобилно оформление Оформление за телефони $3000 50%
Кацане на CMS WordPress Изработка на уеб сайт с администратор. панел $3000 30%

Оформяне на цялото това нещо (основно трябва да стилизираме маса-обвивка).

1 2 3 4 5 6 7 8 9 10 11 12 13 .table-wrap (text-wrap: center; display: inline-block; background-color: #fff; padding: 2rem 2rem; color: # 000;) .table-wrap (overflow-y: scroll;))

Обвиване на таблица (подравняване на текст: център; дисплей: inline-block; цвят на фона: #fff; padding: 2rem 2rem; цвят: # 000;) @ медиен екран и (макс. ширина: 600 пиксела) (.table-wrap (препълване-y: превъртане;))

В резултат на това таблицата ще превърта до 600 пиксела ширина, но сайтът не. Удобно, но днес бих искал да говоря за нещо друго.
Намерих друг интересен подход към отзивчивостта на таблицата. Той използва атрибути на данни и псевдокласове. Сега ще ви покажа всичко.

Вторият начин на адаптация

Първо, нека променим маркирането:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
Обслужване Описание Цена Отстъпка
Мобилно оформление Оформление за телефони $3000 50%
Кацане на CMS WordPress Изработка на уеб сайт с администратор. панел $3000 30%

Обслужване Описание Цена Отстъпка
Мобилно оформление Оформление за телефони $3000 50%
Кацане на CMS WordPress Изработка на уеб сайт с администратор. панел $3000 30%

Дайте на всяка колона атрибут етикет за данни, които ще ни бъдат полезни в бъдеще.

Ние задаваме основните стилове:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 тяло (подравняване на текста: център; padding-top: 10%; семейство шрифтове: sans-serif; background-image: url ("bg.jpg"); фон-размер: корица; височина: 100vh; цвят: #fff ;) .table-wrap (text-align: center; display: inline-block; background-color: #fff; padding: 2rem 2rem; color: # 000;) table (border: 1px плътно #ccc; ширина: 100% ; margin: 0; padding: 0; border-collapse: collapse; border-spacing: 0;) table tr (border: 1px solid #ddd; padding: 5px;) table th, table td (padding: 10px; text-align : център; граница вдясно: 1px плътно #ddd;) таблица th (цвят: #fff; фон-цвят: # 444; трансформация на текст: главни букви; размер на шрифта: 14px; разстояние между буквите: 1px;)

тяло (подравняване на текста: център; padding-top: 10%; семейство шрифтове: sans-serif; background-image: url ("bg.jpg"); фон-размер: корица; височина: 100vh; цвят: #fff ;) .table-wrap (text-align: center; display: inline-block; background-color: #fff; padding: 2rem 2rem; color: # 000;) table (border: 1px плътно #ccc; ширина: 100% ; margin: 0; padding: 0; border-collapse: collapse; border-spacing: 0;) table tr (border: 1px solid #ddd; padding: 5px;) table th, table td (padding: 10px; text-align : център; граница вдясно: 1px плътно #ddd;) таблица th (цвят: #fff; фон-цвят: # 444; трансформация на текст: главни букви; размер на шрифта: 14px; разстояние между буквите: 1px;)

Изглежда като обикновена таблица, разбира се, измествайки сайта с 320-420 пиксела, ще видим хоризонтално превъртане на целия сайт. Не е въпросът.

Как да го оправя? добавяне на стилове:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 @медиен екран и (максимална ширина: 600 пиксела) ( table (border: 0;) table thead (display: none;) table tr (margin-bottom: 10px; display: block; border-bottom: 2px solid #ddd;) table td (display: block; text-align: right ; font-size: 13px; border-bottom: 1px с точки #ccc; border-right: 1px плътно прозрачен;) table td: last-child (border-bottom: 0;) table td: before (content: attr (data- етикет); float: вляво; преобразуване на текст: главни букви; тегло на шрифта: удебелен;))

@media screen and (max-width: 600px) (table (border: 0;) table thead (display: none;) table tr (margin-bottom: 10px; display: block; border-bottom: 2px solid #ddd;) таблица td (display: block; text-align: right; font-size: 13px; border-bottom: 1px pointed #ccc; border-right: 1px solid transparent;) table td: last-child (border-bottom: 0; ) таблица td: преди (съдържание: attr (етикет за данни); float: вляво; преобразуване на текст: главни букви; тегло на шрифта: удебелен;))

Тук направихме редовете на таблицата блокирани, премахнахме имената на колоните и оправдахме текста на самите колони. От своя страна, с помощта на псевдо-класа : прединие добавяме нашите атрибути за дата вляво. Оказва се така:

Ето още една химикалка:

Както можете да видите, превърнахме редовете на таблицата в малък блок, който съдържа цялата информация. Мисля, че тази опция за адаптиране към таблицата е добра за малки маси. Използвайте го, приятели!

В Aspro: След това, започвайки с версия 1.1.7, можете да адаптирате таблици за мобилната версия. Необходимо е да направите промени в изходния код на страницата - да добавите клас, който отговаря за адаптивността на таблиците.

Една проста таблица в мобилната версия се простира отвъд страницата.

За да направите таблицата адаптивна, отидете на редактиране на страницата, където е добавена таблицата. След това отидете в режим на редактиране на източник.

Преди отварящия етикет

добавете маркер с клас
.

След затварящия етикет

напишете етикет
.


...

Запазете промените си.

Сега масата се превърта и не излиза извън рамката.

При хоризонтално превъртане таблицата не излиза извън границите, но при превъртане надясно в мобилната версия се отваря странично меню. За да предотвратите намесата на менюто при работата с таблицата, трябва да направите промени в кода на страницата.

Трябва да добавите класа "swipeignore" към маркера

които добавихме по-рано. В резултат на това преди етикета трябва да се регистрира етикет с класове
.

...

Запазете промените си.

Сега, при превъртане на таблицата вдясно, страничното меню не се отваря, което пречи на работата с таблицата.

Можете да скриете дисплея на страничното меню, когато превъртате надясно и на други страници. Трябва да добавите класа "swipeignore" към маркера

блок, за който искате да премахнете дисплея на страничното меню. Ако на етикета не е присвоен клас, той ще приеме формата
... Ако етикетът има
класовете вече са добавени, след което напишете "swipeignore", разделено с интервал, например
.

Таблиците с данни не се справят много добре с адаптивния дизайн. За съжаление има този момент. Отзивчивият дизайн е всичко, което е необходимо, за да персонализирате дизайна, за да побере различни размери на екрана. И така, какво се случва, когато екранът е по-тесен от минималната ширина на таблицата с данни? Можете да намалите мащаба и да видите цялата таблица, но текстът ще бъде твърде малък за четене. Или можете да се доближите до точката за четене, но ще се нуждае от вертикално хоризонтално превъртане и (тъжно) за преглед на таблицата. Таблиците с данни могат да бъдат доста широки и трябва да са такива. Таблиците могат да бъдат гъвкави по ширина (тегло = 100%), но съдържанието на клетките може да стане толкова тясно, че да не може да се види.

За да се избегне този неприятен момент, се използват адаптивни таблици. Такава таблица ще покаже хоризонтална лента за превъртане, ако екранът е твърде малък, за да покаже цялото съдържание.

Как да направите отзивчива таблица с CSS

За да създадете адаптивна таблица, добавете елемент контейнер overflow-x: автоматичнонаоколо

:

...

Забележка. В OS X Lion (на Mac) лентите за превъртане са скрити по подразбиране и се показват само когато се използват (дори ако са зададени на „overflow: scroll“ или auto).

Отзивчивите уебсайтове отдавна са престанали да бъдат трик и се срещат все по-често. Имайки предвид последните новини с класирането на търсачките (ако някой не знае, при търсенето от мобилно устройство приоритет се дава на адаптивните сайтове), броят на такива сайтове ще продължи да расте. Можете да се противопоставите на адаптирането за мобилни устройства или да говорите за, но фактът остава: все повече и повече клиенти изискват сайтът им да бъде отзивчив и уеб администраторите трябва да го направят.

Един от основните проблеми при адаптирането на сайт за различни резолюции са таблиците. Особено ако имат много данни. Нека да разгледаме два начина за създаване на адаптивна таблица.

Първо, нека видим как изглежда таблицата:

Модел на телефон Цена RAM, GB Диагонал, инчове PPI Батерия, mAh
Oneplus one 100 500 рубли 3 5.5 401 3100
OnePlus Two 100 500 рубли 4 5.5 401 3300
Oneplus x 100 500 рубли 3 5 441 2525

Отзивчиво оформление на таблицата в стил Bootstrap

Нека го кажем направо: такава таблица не може да се нарече наистина адаптивна. Изглежда добре на мобилни устройства, нищо не стърчи и оформлението на сайта не "тече". Този метод е много подходящ, ако таблиците са рядкост на вашия сайт и няма смисъл да свързвате някакъв плъгин и да пишете допълнителни стилове заради тях. Този метод се използва от Bootstrap. И така, как се прилага това?

Просто е: таблицата е обвита в div с максимална ширина 100% и overflow: auto.

...

Ако таблицата е дълга, можете също да зададете максималната височина и да фиксирате заглавката на таблицата.

Резултатът, като следния пример, може да се види на тази страница.

Оформление в една наистина отзивчива таблица

Ако често имате таблици на вашия сайт, има смисъл да използвате приставката Footable.

Първо, трябва да свържете плъгина (изтеглете от GitHub или да се свържете от CDN), както и да го инициализирате:

Тук трябва да изясним нещо: скриптът по някаква причина не разглежда ширината на изгледа, а ширината на таблицата. За да поправите това, трябва леко да "модернизирате" скрипта:

JQuery (функция () (jQuery (. Table"). Footable ((calculateWidthOverride: function () (връщане (ширина: jQuery (прозорец) .width ());)));))

При инициализацията указваме класа на таблицата или само тага на таблицата, ако искаме всички таблици на сайта да отговарят.

...
Модел на телефон Цена RAM, GB Диагонал, инчове PPI Батерия, mAh

Какво означава всичко това? Таблетите ще скрият колоните "RAM", "Diagonal", "PPI" и "Battery". При понижаване към телефони, колоната "Цена" също ще се присъедини към тях.

Точките на прекъсване могат да бъдат посочени при инициализация:

JQuery (функция () (jQuery (. Table"). Footable ((calculateWidthOverride: function () (връщане (ширина: jQuery (прозорец) .width ());), точки на прекъсване: (мобилно устройство: 0, таблет: 720, десктоп: 1024)));)))

Това означава, че в диапазона 0-720 правилото важи за мобилни устройства, 720-1024 за таблети и над 1024 за настолни компютри. Нищо не ви пречи да създадете още повече правила, ако е необходимо.

Можете също така да разширите колона по подразбиране. За да направите това, посочете data-attribute data-expanded = "true"

... ...
Oneplus one 100 500 рубли 3 5.5 401 3100

Възможностите на плъгина не свършват дотук, но за създаване на адаптивни таблици това е напълно достатъчно. Следващия път ще разгледаме останалите възможности.

Windows: Internet Explorer 10.0+, Firefox 1.5+, Google Chrome, Opera 9.5+, Safari 3.1+, SeaMonkey 1.0+ [1].

Linux: Firefox 1.5+, Google Chrome / Chromium, Opera 9.5+, SeaMonkey 1.0+ [2].

Ако HTML таблицата съдържа твърде много данни, тя става по-широка от наличното пространство на страницата и започва да я надхвърля. За да поправите ситуацията, можете да добавите хоризонтално превъртане към таблицата. пример:

1 2 3 4 5 6 7 8 9 10
Таблица_данни_1 Таблица_данни_2 Таблица_данни_3 Таблица_данни_4 Таблица_данни_5 Таблица_данни_6 Таблица_данни_7 Таблица_данни_8 Таблица_данни_9 Таблица_данни_10

HTML / XHTML. код:

<маса>

<tr>

<ти>1</ th>

<ти>2</ th>

<ти>3</ th>

<ти>4</ th>

<ти>5</ th>

<ти>6</ th>

<ти>7</ th>

<ти>8</ th>

<ти>9</ th>

<ти>10</ th>

</ тр>

<tr>

<td> Таблица_данни_1</ td>

<td> Таблица_данни_2</ td>

<td> Таблица_данни_3</ td>

<td> Таблица_данни_4</ td>

<td> Таблица_данни_5</ td>

<td> Таблица_данни_6</ td>

<td> Таблица_данни_7</ td>

<td> Таблица_данни_8</ td>

<td> Таблица_данни_9</ td>

<td> Таблица_данни_10</ td>

</ тр>

</ маса>

маса(дисплей: блок; overflow-x: auto;)

/ * Допълнителен CSS, само за да изглежда примерът красив: * /

маса(граница-свиване: свиване;)

таблица td, th(допълване: 10px; граница: 1px # 000 плътно;)

Забележка: CSS свойство дисплей: блокправи таблицата да заема толкова място по ширина, колкото е необходимо, за да побере данните без визуално изкривяване. Няма повече, без да се разтягате по цялата ширина на наличното пространство на страницата. Дори ако е добавен CSS кодът ширина: 100%... пример:

1 2 3
Таблица_данни_1 Таблица_данни_2 Таблица_данни_3

Aliosque subditos et thema

Подравняване на абсолютно позициониран елемент хоризонтално към центъра с помощта на CSS. Пример: HTML / XHTML. код:

CSS. Код: .example (позиция: относителна; отляво: 0px; отгоре: 0px; височина: 90px; ширина: 100%; плаваща стойност: отляво; запълване: 10px; граница: 1px #ccc плътен; фон: #fafafa; -moz-box -sizing: border-box; -webkit-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box;) .example img (позиция: абсолютна; ляво: 0px; вдясно: 0px; margin: 0px auto; width: 68px;) Примерът подравнява абсолютно позициониран img елемент към центъра, но като цяло този метод на хоризонтално централно подравняване работи с други, както вградени, така и блокови абсолютно позиционирани елементи. Ширината на абсолютно позициониран елемент може също да бъде в проценти или в други единици. CSS свойствата на контейнера (в примера, пример), вътре в който се намира централно подравненият елемент, могат да бъдат много различни, централното подравняване се създава с помощта на стилове, които са пряко свързани с елемента: .example img (позиция : абсолютно; отляво: 0px; отдясно: 0px; поле: 0px auto;). [1] А също и в Netscape 8.01+, Mozilla 1.5+. [2] А също и в Netscape 8.01+, Mozilla 1.5+.

В CSS няма свойство "float: bottom", но ефектът може да бъде постигнат по няколко други начина. Пример: Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Връзка 1 Връзка 2 Връзка 3 HTML / XHTML с плаващо дъно. код:

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Плуващо дъно
CSS. Код: .box1 (позиция: относителна; отгоре: 0px; отляво: 0px; float: отляво; височина: автоматично; ширина: 100%;) .content1 (позиция: относителна; отгоре: 0px; отляво: 0px; float: отляво; височина: автоматично; ширина: 100%;) .left1 (позиция: относителна; горна: 0px; ляво: 0px; float: ляво; височина: автоматично; ширина: 64%;) .menu1 (позиция: относителна; горна: 0px; ляво: 0px; float: ляво; височина: автоматично; ширина: 36%;) .bottom1 (позиция: абсолютна; дъно: 0px; вдясно: 0px;) / * Допълнителен CSS, само за да изглежда примерът малко като * / . box1 (цвят: #ddd; text-align: center;) .content1 (background: #bbb;) .left1 (min-height: 100px; padding: 2%; text-align: justify; background: # 006; - moz -box-sizing: border-box; -webkit-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box;) .menu1 (запълване: 2%; float : вдясно; фон: # 060; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box;) . menu1 p (позиция: относителна; отгоре: 0px; вляво: 0px; float: вляво; heig ht: автоматично; ширина: 100%; допълване: 0px; поле: 0px;) .menu1 a (цвят: #ddd; text-decoration: none;) .menu1 a: задържане на курсора (текст-декорация: подчертаване;) .bottom1 (запълване: 2%; цвят: #eee; фон: # 600;) Цялото съдържание на уеб страницата е в кутията на контейнера1. Вътре в него има два divs: 1. content1 с действителното съдържание вляво и менюто вдясно. 2.отдолу1 след съдържание1.