Красиві рамки для html таблиці. Зміна фону рядка при наведенні курсору
- 4.7 out of 5 based on 6 votes
При створенні веб-сторінок дуже часто необхідно представити деякий вміст сторінки у вигляді таблиць.
Іноді таблиці використовують створення структури сторінки. Цей підхід не зовсім правильний, тому що таблиці не призначалися для позиціонування елементів сторінки.
Для цієї мети краще користуватися засобами CSS. Але в деяких випадках таблиці є незамінними та зручними для надання інформації.
За створення таблиць у HTML відповідає тег
Для того, щоб подивитися як все працює на практиці, створимо таблицю, що складається з двох рядків та чотирьох осередків. Код нашої таблиці буде наступним:
1 - осередок | 2 - осередок |
3 - осередок | 4 - осередок |
Для того, щоб побачити, що з цього вийде, створіть html сторінку використовуючи код розташований нижче. Якщо не знаєте, як створити HTML сторінку, дивіться урок.
1 - осередок | 2 - осередок |
3 - осередок | 4 - осередок |
У вас має вийти таке:
Як бачите, наша таблиця ще зовсім не схожа на таблицю. Все це тому, що наші теги
Спочатку ми розглянемо атрибути, які притаманні тегам
bordercolor – колір рамки таблиці, атрибут підтримує не всі браузери, тому ви можете і не побачити заданий колір рамки:
Ми задали ширину рамки 2 пікселя, синього кольору, таблиця набуде наступного вигляду:
width – визначає ширину таблиці в пікселях або відсотках:
height – висота таблиці у пікселях або відсотках:
Ширина таблиці буде 250 пікселів, а висота 150 пікселів, таблиця виглядатиме так:
align - вирівнювання таблиці;
align = left - таблиці буде вирівняно по лівому краю;
align=right – таблиця буде вирівняна з правого краю:
Наша таблиця має вирівнятися праворуч.
bgcolor – колір тла таблиці, bgcolor=#FFC000 – колір тла таблиці буде жовтий:
Таблиця набуде наступного вигляду:
background – за допомогою даного атрибута можна задати зображення, яке буде тлом таблиці.
Як приклад збережіть маленьке зображення, яку ви бачите у дужках () у ту папку, де у вас знаходиться сторінка з таблицею, а до тегу
деякі з них такі ж, як і атрибути тега
Зауважте, достатньо задати одному осередку висоту або ширину і всі осередки цього рядка або стовпця приймуть такий самий розмір. Тому якщо необхідно задати, наприклад певну висоту осередків, то достатньо вказати цей параметр для одного осередку і всі інші осередки рядка стануть такими ж. align – вирівнює вміст осередків, має такі значення: align="lef" – вміст осередку буде вирівняно по лівому краю; align="right" – вміст буде вирівняно праворуч; align="center" – вміст буде вирівняно по центру комірки. Додамо ці атрибути і значення в наш код і вирівняємо вміст 1-ї комірки по лівому краю (по лівому краю вміст вирівнюється за замовчуванням, проте в деяких випадках цей атрибут необхідний), вміст 2-го комірки вирівняємо по правому краю, а 4 - по центру.
bgcolor – за допомогою даного атрибуту можна встановити колір осередку. background – встановлює зображення у вигляді тла осередку. З цими атрибутами ми вже зустрічалися, розглядаючи атрибути тега
Цей варіант простіше першого, але, на жаль, не зовсім однаково інтерпретується Internet Explorer"Ом і Netscape". Рамка 3
Якщо два попередні варіанти виводять на екран у різних броузерах рамки, хоч і мінімально, але різної товщини, то третій приклад інтерпретується поширеними броузерами Internet Explorer 4.x/5.x/6, Netscape 4.x/6.x та Opera 6. x однаково, що стосується товщини рамки. Вважаю доречним згадати, що найбільше проблем доставляє веб-дизайнер Netscape 4.x.
Усі клітини, крім 5ой, зафарбовуються чорним кольором, п'ята – білим. Фон самої таблиці у разі не важливий. Потім до клітин 1-3 та 7-9 додаються параметр height = "1".Відповідно клітини 1, 3, 4, 6, 7, 9 робляться шириною один піксел ( width="1"). Середні клітини 2, 5, 8 робляться максимально широкими ( width="100%"). Фокус полягає в тому, що в клітини, які мають бути вузькими або тонкими, або тими та іншими, додається так званий "модифікований квадрат Малевича" - прозорий gif-файл розміром 1х1, інакше бажаного ефекту не досягне. Для створення тонкої рамки навколо таблиці з одним осередком цей варіант є, поза сумнівом, занадто складним і об'ємним, незважаючи на його сумісність із багатьма браузерами. Він застосовується переважно для розмітки сторінки тонкими лініями. Для створення рамок можна використовувати таблиці стилів, але про це в одному з наступних workshop"ів.
Специфікація CSS дає необмежені можливості оформлення таблиць. За замовчуванням таблиця і осередки таблиці немає видимих меж і тла, у своїй осередки всередині таблиці не прилягають впритул друг до друга. Ширина осередків таблиці визначається шириною їхнього вмісту, тому ширина стовпців таблиці може бути різною. Висота всіх осередків ряду однакова і визначається висотою найвищого осередку. Форматування таблиць1. Межі таблиці.Таблиця та осередки всередині неї за замовчуванням відображаються у браузері без видимих меж. Межі таблицізадаються властивістю: Table ( border-collapse: collapse; /*прибираємо порожні проміжки між осередками*/ border: 1px solid grey; /*встановлюємо для таблиці зовнішню межу сірого кольору завтовшки 1px*/ ) Кордони осередків заголовкакожного стовпця задаються для елемента th: Th (border: 1px solid grey;) Межі осередківтіла таблиці задаються для елемента td: Td (border: 1px solid grey;) Товщина рамок сусідніх осередків не подвоюється, тому встановити межі для всієї таблиці можна наступним способом: Th, td (border: 1px solid grey;) Зовнішню межу таблиці можна виділити, задавши їй збільшену ширину: Table (border: 3px solid grey;) Кордони можна задавати частково: /* встановлюємо для таблиці зовнішню межу сірого кольору завтовшки 3px */ table (border-top: 3px solid grey; ) /* задаємо для осередку тіла таблиці межу сірого кольору завтовшки 1px */ td (border-bottom: 1px solid grey;) Докладніше про властивість border ви можете прочитати. 2. Як задати ширину та висоту таблиціЗа замовчуванням ширина та висота таблицівизначається вмістом її осередків. Якщо ширина не задана, то вона дорівнюватиме ширині найширшого ряду (рядки). Ширина таблиці та стовпцівзадається за допомогою властивості width. Якщо таблиці задано table (width: 100%;) , то ширина таблиці дорівнюватиме ширині блока-контейнера, в якому вона знаходиться. Ширину таблиці та стовпців зазвичай задають у px або %, наприклад: Table (width: 600px;) th (width: 20%;) td:first-child (width: 30%;) Висота таблиціне задається. Висотою рядівтаблиці можна керувати, додавши верхній та нижній padding для елементів і | . Фіксувати висоту за допомогою властивості height не рекомендується. | Th, td (padding: 10px 15px;) 3. Як поставити фон таблиціЗа замовчуванням фон таблиціта осередків прозорий. Якщо сторінка або блок, що містять таблицю, мають фон, він просвічуватиметься крізь таблицю. Якщо фон заданий і для таблиці та для осередків, то в місцях накладання фону таблиці та осередків буде видно фон тільки осередків. Як фон для таблиці в цілому та її осередків можуть виступати: 4. Стовпці таблиціМодель CSS таблицьорієнтована в основному на рядки (ряди), що формуються за допомогою тега за допомогою тега Можна встановити фон для будь-якої кількості стовпців; за допомогою селектора table td: first-child, table td: last-child можна задати стилі для першого або останнього стовпця таблиці (за винятком першого осередку заголовка таблиці); за допомогою селектора table td: nth-child (правило відбору стовпців) можна встановити стилі для будь-яких стовпців таблиці. Докладніше про CSS-селектори ви зможете прочитати. 5. Як додати таблиці заголовокДодати заголовок до таблиці можна за допомогою тега
![]() 6. Як прибрати проміжок між рамками осередківРамки осередків таблиці за замовчуванням розділені невеликим інтервалом. Якщо задати таблиці border-collapse: collapse , то проміжок забереться. Властивість успадковується. Синтаксис Table (border-collapse: collapse;) 7. Як збільшити проміжок між рамками осередківЗа допомогою властивості border-spacing можна змінювати відстань між рамками осередків. Ця властивість застосовується до таблиці загалом. успадковується. Синтаксис Table (border-collapse: separate; border-spacing: 10px 20px;) table (border-collapse: separate; border-spacing: 10px;) 8. Як приховати порожні комірки таблиціВластивість empty-cells приховує чи показує порожні комірки. Діє лише на комірки, які не містять будь-якого контенту. Якщо осередку заданий фон, а таблиці задано table (border-collapse: collapse;) , то осередок нічого очікувати прихована. успадковується.
![]() 9. Компонування макету таблиці за допомогою властивості table-layoutКомпонування макету таблиці визначається одним із двох підходів: фіксований макет або автоматичний макет. Під компонуванням у цьому випадку мається на увазі як розподіляється ширина таблиці між шириною осередків. Властивість не успадковується. Синтаксис Table (table-layout: fixed;) 10. Найкращі макети таблиць1. Горизонтальний мінімалізмГоризонтальні таблиці - це таблиці, текст яких читається по горизонталі. Кожна сутність є окремим рядком. Ви можете оформити такі таблиці в мінімалістському стилі, помістивши двопіксельний кордон під заголовком th.
При великій кількості рядків такий дизайн таблиць ускладнює їх читання. Для вирішення цієї проблеми можна додати однопіксельний кордон під усіма елементами td. Td ( border-bottom: 1px solid #ccc; color: #669; padding: 9px 8px; transition: .3s linear; )/*інший код - як у прикладі вище*/ Додавання ефекту:hover для елемента tr полегшить читання таблиць, оформлених у мінімалістському стилі. При наведенні курсору миші на комірку, інші комірки того ж рядка виділяються одночасно, що спрощує процес відстеження інформації, якщо таблиці мають кілька стовпців. Th ( font-weight: normal; color: #039; padding: 10px 15px; ) td ( color: #669; border-top: 1px solid #e8edff; padding: 10px 15px; ) tr:hover td (background: #e8edff ;) 2. Вертикальний мінімалізмНезважаючи на те, що такі таблиці використовуються рідко, проте вертикально орієнтовані таблиці корисні для категоризації або порівняння опису об'єктів, представлених колонкою. Можна оформити їх у мінімалістському стилі, додавши прогалину, що розділяє стовпці. Th ( font-weight: normal; border-bottom: 2px solid #6678b1; border-right: 30px solid #fff; border-left: 30px solid #fff; color: #039; padding: 8px 2px; ) td ( border- right: 30px solid #fff; border-left: 30px solid #fff; color: #669; padding: 12px 2px; 3. «Коробковий» стильНайбільш надійним стилем для оформлення таблиць всіх типів є так званий «коробковий» стиль. Достатньо підібрати хорошу колірну гаму, а потім задати колір фону для всіх осередків. Не забудьте підкреслити різницю між рядками, встановивши межі як роздільник. Th ( font-size: 13px; font-weight: normal; background: #b9c9fe; border-top: 4px solid #aabcfe; border-bottom: 1px solid #fff; color: #039; padding: 8px; ) td ( background : #e8edff; border-bottom: 1px solid #fff; color: #669; border-top: 1px solid transparent; padding: 8px; Найскладніше — знайти ту кольорову гаму, яка гармонійно поєднуватиметься з вашим сайтом. Якщо сайт навантажений за графіком та дизайном, то вам буде досить важко використовувати цей стиль. Table ( font-family: "Lucida Sans Unicode", "Lucida Grande", Sans-Serif; font-size: 14px; max-width: 70%; width: 70%; text-align: center; border-collapse: collapse border-top: 7px solid #9baff1; border-bottom: 7px solid #9baff1; ) th ( font-size: 13px; font-weight: normal; background: #e8edff; border-right: 1px solid #9baff1; border- left: 1px solid #9baff1; color: #039; padding: 8px; ) td ( background: #e8edff; border-right: 1px solid #aabcfe; ;) 4. Горизонтальна зебраЗебра-таблиця виглядає досить привабливою та зручною. Додатковий колір фону може служити візуальною підказкою для людей при читанні таблиці. Th ( font-weight: normal; color: #039; padding: 10px 15px; ) td ( color: #669; border-top: 1px solid #e8edff; padding: 10px 15px; ) tr:nth-child(2n) ( background: #e8edff;) 5. Газетний стильДля досягнення так званого газетного ефекту, можна застосувати межі елементів таблиці і пограти з осередками всередині. Легкий, мінімалістичний газетний стиль може виглядати так: обіграйте колірну гаму, додайте межі, відступи, різні фони, та ефект: hover при наведенні на рядок. Table (border: 1px solid #69c;) th ( font-weight: normal; color: #039; border-bottom: 1px dashed #69c; padding: 12px 17px; ) td ( color: #669; padding: 7px 17px; ) tr:hover td (background: #ccddff;) Table (border: 1px solid #69c;) th ( font-weight: normal; color: #039; padding: 10px; ) td ( color: #669; border-top: 1px dashed #fff; padding: 10px; background: #ccddff; ) tr:hover td (background: #99bcff;) Table (border: 1px solid #6cf;) th ( font-weight: normal; font-size: 13px; color: #039; text-transform: uppercase; border-right: 1px solid #0865c2; border-top: 1px solid #0865c2; border-left: 1px solid #0865c2; border-bottom: 1px solid #fff; padding: 20px; ) td ( color: #669; border-right: 1px dashed #6cf; 6. Фон таблиціЯкщо ви шукаєте швидкий та унікальний спосіб оформлення таблиці, виберіть привабливе зображення або фото, що стосуються теми таблиці та встановіть її тлом таблиці. Png") 98% 86% no-repeat; ) th ( font-weight: normal; font-size: 14px; color: #339; padding: 10px 12px; background: white; ) td ( color: #669; border- top: 1px solid white; padding: 10px 12px; background: rgba(51, 51, 153, .2); transition: .3s; ) Щоб чітко відокремити вміст одного осередку від іншого, до осередків додаються межі. За їхнє створення відповідає параметр border тега
Рамки створені таким чином трохи відрізняються за своїм виглядом у різних браузерах. Рис. 1. Рамка отримана за допомогою параметра border Щоб отримати рамку одного виду, рекомендується застосувати стильовий тег border , застосовуючи його до осередків таблиці (тегу або | ). Однак і тут нас підстерігають підводне каміння. Оскільки рамка створюється кожної комірки, то місцях дотику осередків виходить межа подвоєної товщини. Аби вирішити зазначеної особливості існує кілька шляхів. Найпростіший – застосувати властивістю border-collapse зі значенням collapse. У його завдання входить відстежувати дотику ліній і замість подвійного кордону зображати одинарну. Цей атрибут достатньо додаємо до тегу |
Різниця між межами таблиці при додаванні параметра border-collapse і без нього представлена на рис. 2.
Рис. 2. Вигляд таблиці під час використання атрибута border-collapase На рис. 2а показано рамку таблиці, яка використовується за замовчуванням. Зверніть увагу, що всередині таблиці всі лінії мають подвоєну товщину. Додавання параметра border-collapse прибирає цю особливість і товщина всіх ліній стає однаковою (рис. 2б). Для розробки однотипних ліній усередині таблиці можна піти іншим шляхом. Слід додаємо для селектора рамку, але скасувати лінію праворуч та знизу, задаючи відповідним атрибутам значення none . Тоді при стикування осередків їх межі не накладатимуться один з одним з тієї причини, що лінія буде лише одна. Однак при цьому методі формування кордонів немає ліній знизу та праворуч біля самої таблиці. Додаючи параметри border-right та border-bottom до селектора |
У цього способу можливі варіації, наприклад, для селектора додаємо кордон лише праворуч і знизу, а у |
|