Здравейте всички! И така, сега знаете как да създавате елементарни таблици, състоящи се от толкова редове и колони, колкото е необходимо. Не е лошо, не е лошо. Сега нека поговорим за дизайна на тези маси.

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

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

Така че нека направим граници за масата. Например за този, който вече имаме:

Горна лява клеткаГорна дясна клетка
Долна лява клеткаДолна дясна клетка

Резултат в браузъра:

Как да премахнете границите на таблицата

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

Атрибутът ви позволява да създавате, но не и да управлявате граници. Позволява ви само да промените дебелината им.

Затова сега ще говорим за css, чиито свойства позволяват с границасъздавайте различни граници, както вътре във всяка клетка, така и отвън, около масата като цяло.

Нека видим как да използваме CSS за създаване на външни и вътрешни граници на таблица.
За да направите това, премахнете атрибута border от нашата таблица и добавете стилове:

Примерна таблица

Горна лява клетка Горна дясна клетка
Долна лява клетка Долна дясна клетка

Резултат в браузъра:

Сега нека добавим граници и за всяка клетка. За да направите това, просто добавете стилове:

Резултат в браузъра:

Как да премахнете подложката между клетките в HTML таблица

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

Въпреки това е напълно възможно да се отървете от такива граници, които се наричат ​​двойни, ако използвате CSS- граничен имот- колапс. На практика това изглежда така:

Таблица ( граница: плътен 1 пиксел синьо; border-collapse: collapse; ) ...

В резултат на това разстоянието между клетките се премахва:

Стойността на свиване, присвоена на атрибута border, ви позволява да премахвате двойни граници. Както можете да видите, резултатът е "свиване" на границите на съседни клетки, както и границите на клетките и външната граница на таблицата. Що се отнася до последното, то може да бъде напълно премахнато. И ако има нужда да се покаже, е необходимо да се увеличи ширината му. Така се отървахме от разделителите в таблицата. И в следващия урок ще говорим за това как можете да зададете вертикални и хоризонтални граници. Успех на всички!

И така, ние проучихме с вас най-простите действия, които могат да бъдат извършени с границите на таблицата. И сега масата изглежда много по-естетически. Пълнежът на клетките обаче директно лежи върху границите. Това може лесно да се коригира чрез просто отстъп на клетките в HTML таблицата. И тогава текстът вътре в рамката, в клетката, ще бъде по-четлив.

За да направите отстъп в клетка, използвайте атрибута клетъчна подложказа етикет

. Има обаче друг, по-предпочитан вариант: css.

В този случай отстъпите се задават с помощта на свойството подплата. С негова помощ няма да е трудно да направите отстъп, където е необходимо, тоест отгоре, отдясно, отдолу или отляво, като използвате съответно едно от тези свойства: подплата отгоре, подплата вдясно, подплънка-отдолуи padding-left.

Можете да зададете точно колко пиксела да бъдат отстъпени. Нека дадем пример, в който ще бъде долният отстъп 20 пиксела, а всички останали ще бъдат 10 . Такива css-кодът ще изглежда така:

Td ( подложка: 10px; подложка-отдолу: 20px; )

И пълният стилов код на този етап:

Таблица (контур: плътен 1px синьо; border-collapse: collapse;) td (контур: плътен 1px син; padding: 10px; padding-bottom: 20px;)

Резултат в браузъра:

Подложка между клетките

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

Отстъпите в таблиците не са само вътре в клетките. Те могат да присъстват и между самите клетки.

Има две опции за отстъп на клетки:

  1. използване на атрибут разстояние между клеткитеза етикет
.
  • използвайки css-Имоти border-spacing.
  • Трябва да се подчертае, че border-spacingсе записва за масата като цяло, докато имот подплатасе записва директно в клетките.

    Да разгледаме един пример:

    Таблица (контур: плътен 1px син; border-collapse: отделно; border-spacing: 5px;) td (контур: плътен 1px син; padding: 10px; padding-bottom: 20px;)

    И за получения резултат:

    Веднага ще посочим, че не е необходимо да се опитвате да правите такива отстъпи с помощта border-collapse: колапс. Всъщност, когато използвате тази опция, клетките се „залепват“ една за друга.

    И за да ги държите отделно един от друг, трябва да използвате border-collapse: отделно. Важно е да разберете, че тази стойност е стойността по подразбиране. И се използва само за визуално показване как се решава този проблем. Ако изтрием този ред, резултатът под формата на клетки, разположени отделно една от друга, ще бъде запазен.

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

    В тази статия ще ви запозная с тънкостите на стилизирането HTML таблиции ще научите нови свойства на CSS, предназначени да постигнат тези цели.

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

    („долния колонтитул“ на таблицата) цвят на фона – корал, за елемент ("заглавка" на таблицата) задайте цвета на фона сребро.
  • За елементи
  • , които са вътре в елемента (тяло на таблицата) задайте цвета на фона да се променя при задържане на курсора (псевдоклас :задръжте) ° С бялона цвят каки(целият ред е маркиран).

    Резултатът от нашия пример:

    Ориз. 153 Пример за стил на ред в таблици

    Следващият пример разглежда прилагането на заобляне на ъгли към клетки на таблица (свойство).

    Пример за заобляне на ъгъл на клетка
    ЕтикетОписание
    .
    Определя съдържанието на таблицата.
    Указва името на таблицата.
    Дефинира заглавната клетка на таблица.
    Дефинира ред от таблица.
    Дефинира клетка с данни в таблица.
    Използва се, за да съдържа заглавка на група в таблица (заглавка на таблица).
    Използва се да съдържа "тялото" на таблицата.
    Използва се, за да съдържа "долния колонтитул" на таблицата (долен колонтитул).
    Дефинира дадените свойства на колона за всяка колона в тага
    Дефинира група от колони в таблица.

    Работа с отстъпи в таблица

    Използване на подложка в таблица
    Отстъпи на таблицата
    1 2 3 4
    2
    3
    4

    AT този примерние:

    • Поставихме таблицата в центъра, използвайки метода на хоризонтално центриране с външни отстъпи ( марж: 0 автоматични ).
    • За име на таблица (таг
    ) задаваме долната подложка на 19 пиксела. Надявам се, че не сте объркани от нечетните числа :)

    Резултатът от нашия пример:

    Разстояние между клетките

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

    За да зададете разстоянието между границите на съседните клетки, трябва да използвате свойството CSS - border-spacing.

    Промяна на разстоянието между масите
    граница-разстояние: 30px 10px;
    1 2 3
    2
    3
    граница-разстояние: 0;
    1 2 3
    2
    3
    border-spacing:0.2em;
    1 2 3
    2
    3

    В този пример ние:

    • плавам:наляво). Ако сте пропуснали темата за плаващите елементи, винаги можете да се върнете към нея в този урок - "".
    • Освен това задаваме дясното поле на таблиците на 30px и задаваме вертикално подравняванемаси (горната част на елемента е подравнена с горната част на най-високия елемент). Ще се върнем към подробно обсъждане на това свойство в тази статия.
    ) е удебелен.
  • За клетки от таблица(заглавие и клетки с данни) задаваме 1px плътна граница с шестнадесетичен цвят #F50 и задаваме подложката на 19px от всички страни.
  • За първата маса с класа .първозадаваме празнината между клетките на таблицата (свойство border-spacing) равно на 30px 10px , за втората таблица с класа .второравно на нула, за третата таблица с класа .треторавно на 0,2em.
  • Обръщам внимание, че ако в имот border-spacingе посочена само една стойност на дължината, тогава тя показва интервалите, както хоризонтално, така и вертикално, и ако са посочени две стойности на дължината, тогава първата определя хоризонталното разстояние, а втората вертикално. Разстоянието между границите на съседните клетки може да бъде зададено в CSS единици (px, cm, em и т.н.). Отрицателните стойности не са разрешени.

    Резултатът от нашия пример:

    Показване на граници около клетките на таблицата

    Можеш да кажеш: - така че премахнахме празнината между клетките, използвайки свойството border-spacingсъс стойност 0, но защо сега имаме граници на клетки, които се пресичат?

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

    За това трябва да използвате CSS свойство граница-колапс. Колкото и да е странно, но използването на имота граница-колапссъс стойността на свиване е по най-добрия начинкак мога да премахна празнината между клетките и в същото време да не получа двойни граници между тях.

    Помислете за сравняване на поведението на границите, когато използвате свойството border-spacingсъс стойност 0 и свойства граница-колапссъс стойност на свиване:

    Пример за показване на граници около клетките на таблицата
    граница-разстояние: 0;
    1 2 3
    2
    3
    border-collapse: колапс;
    1 2 3
    2
    3

    В този пример ние:

    • Направихме нашите маси плаващи и се преместихме наляво ( плавам: ляво), задайте дясното поле на 30px.
    • Задайте за името на таблицата (таг
    ) е удебелен.
  • За клетките на таблицата (заглавие и клетки с данни) задаваме 5 px плътна рамка с шестнадесетичен цвят #F50 и задаваме фиксирана ширина от 50px и височина от 75px.
  • За първата маса с класа .първозадаваме разстоянието между клетките на таблицата на нула (border-spacing : 0 ;), а за втората таблица с класа .второзададено свойство граница-колапссъс стойността collapse, която обединява границите на клетките в една, когато е възможно.
  • Резултатът от нашия пример:

    Поведение на празни клетки

    С CSS можете да зададете дали да се показват границите и фона на празните клетки в таблицата или не. Имотът носи отговорност за това поведение. празни клетки, който по подразбиране, както може би сте забелязали от предишните примери, показва празни клетки.

    Да преминем към пример:

    Пример за показване на празни клетки от таблица
    празни клетки: показване;
    1 2 3
    2
    3
    празни клетки: скрий;
    1 2 3
    2
    3

    Разберете как работи дадено свойство празни клеткиот този пример е много просто, ако е настроено да се скрие, тогава празните клетки и фонът в тях ще бъдат скрити, ако е настроено да се показва (по подразбиране), тогава те ще бъдат показани.

    Местоположение на заглавката на таблицата

    Нека да разгледаме друго просто свойство за оформяне на маса - надпис страна, който задава позицията на заглавката на таблицата (над или под таблицата). Свойство по подразбиране надпис странае top , което поставя заглавието над таблицата. За да поставите заглавка под таблицата, трябва да използвате свойството със стойност bottom.

    Нека да разгледаме пример за използване на това свойство:

    Пример за използване на свойството от страна на надписа
    Заглавие над таблицата
    ИмеЦена
    Риба350 рубли
    месо250 рубли

    Заглавие под масата
    ИмеЦена
    Риба350 рубли
    месо250 рубли

    В този пример създадохме два класа, които контролират местоположението на заглавката на таблицата. Първи клас ( .topCaption) поставя заглавката на таблицата над нея, ние го приложихме към първата таблица и втория клас ( .bottomCaption) поставя заглавката на таблицата под него, ние го приложихме към втората таблица. Клас .topCaptionстойност на имота надпис странапо подразбиране и създаден за демонстрационни цели.

    Резултатът от нашия пример:

    Хоризонтално и вертикално подравняване

    В повечето случаи, когато работите с таблици, ще трябва да коригирате подравняването на съдържанието в заглавката и клетките с данни. Имот подравняване на текстизползва се за хоризонтално подравняване по аналогия с всеки текстова информация. Разгледахме използването на това свойство за текст по-рано в статията "".

    За да зададете подравняване за съдържание в клетки, трябва да използвате специални ключови думи със свойството подравняване на текст. Обмислете приложението ключови думитова свойство в следния пример.

    Пример за хоризонтално подравняване в таблица
    ЗначениеОписание
    налявоПодравнява текста в клетката отляво. Това е стойността по подразбиране (ако посоката на текста е отляво надясно).
    точноПодравнява текста в клетката надясно. Това е стойността по подразбиране (ако посоката на текста е отдясно наляво).
    центърПодравнява текста на клетката към центъра.
    оправдавамРазтяга линиите, така че всеки ред да е с еднаква ширина (разтяга текста на клетката, за да пасне на ширината).

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

    Резултатът от нашия пример:

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

    Моля, имайте предвид, че когато работите с клетки от таблица, се прилагат само следните * стойности на това свойство:

    * - Sub, super, text-top, text-bottom, length и % стойности, приложени към клетка на таблица, ще се държат така, сякаш използват базова стойност.

    Нека разгледаме пример за употреба:

    Пример за вертикално подравняване в таблица
    ЗначениеОписание
    базова линияПодравнява основната линия на клетката с основната линия на родителя. Това е стойността по подразбиране.
    Горна частПодравнява съдържанието на клетката вертикално към горната част.
    средатаПодравнява съдържанието на клетката вертикално в средата.
    отдолуПодравнява съдържанието на клетката вертикално към дъното.

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

    Алгоритъм за поставяне на оформлението на таблицата от браузъра

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

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

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

    Нека да разгледаме използването на това свойство със следния пример:

    Пример за използване на свойството table-layout
    оформление на маса: авто;
    Име 2009 2010 2011 2012 2013 2014 2015 2016
    пшеница 125 215 2540 33287 695878 1222222 125840000 125
    оформление на таблица: фиксирано;
    Име 2009 2010 2011 2012 2013 2014 2015 2016
    пшеница 125 215 2540 33287 695878 1222222 125840000 125

    В този пример ние:

    Оформяне на редове и колони на таблицата

    Вие и аз вече частично се докоснахме до методите за стилизиране на редове и колони на таблица в статията "". В тази статия разгледахме използването на групов псевдоклас, който ви позволява да редувате стилове на редове в таблици, използвайки стойности дори (честен) и странно (странно), или от елементарно математическа формула.

    Нека да преразгледаме техниките, които разгледахме досега, и да проучим нови начини за стилизиране на редове и колони в таблици. Да преминем към примерите.

    Пример за използване на псевдокласа :nth-child с таблици
    1 2 3 4 5 6 7 8 9 10 11 12 13 14
    2
    3
    4

    В този пример ние:

    Резултатът от нашия пример:

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

    Пример за стилизиране на редове в таблици
    ОбслужванеЦена
    Сума 15 000
    1 1 000
    2 2 000
    3 3 000
    4 4 000
    5 5 000

    В този пример ние:

    • Задайте ширината на таблицата на 100% от ширината родителски елемент, за заглавка и клетки с данни задайте плътна рамка с ширина 1px.
    • Комплект за елемент
    1 2 3 4 5

    В този пример ние:

    • Центрирайте таблицата с външни полета, задайте ширината и височината на заглавните клетки на 50px, посочено прозраченграница 5 пиксела.
    • Открих, че при задържане (псевдоклас :задръжте) в заглавната клетка, която получава Фонът синцветове, портокалцвят на текста, рамка оранжевоцветове 5 пиксела и радиус на заобляне 100%.
    • прозрачна границае необходимо, за да запазите място за границата, която ще се показва при задържане на курсора на мишката, ако това не е направено, масата ще „скочи“.

    Резултатът от нашия пример:

    Следният пример се отнася до използвайки HTMLелементи и и техния стайлинг.

    Пример за подчертаване на колона в таблица
    Приложение №Обслужванецена, търкайте.Обща сума
    1Пеене 6 000 6 000
    2измиването 2 000 2 000
    3Почистване 1 000 1 000
    4Заяждане 1 500 1 500
    5Четене 3 000 3 000

    В този пример ние:

    Резултатът от нашия пример:

    И последният пример, който е доста труден за разбиране и изисква задълбочени познания по CSS, тъй като засяга бъдещи теми, планирани за подробно изучаване в рамките на този курс.

    В предишния пример разбрахме, че HTML елементът можете да приложите само едно свойство на CSS - цвета на фона ( Цвят на фона), но в същото време задайте цвета на фона при задържане (псевдоклас :задръжте) не може да се приложи директно към този елемент. В този пример ще разгледаме как да маркирате колона в таблица, като използвате само CSS.

    Пример за маркиране на колони и редове от таблица при задържане на мишката
    Приложение №Обслужванецена, търкайте.Обща сума
    1Пеене 6 000 6 000
    2измиването 2 000 2 000
    3Почистване 1 000 1 000
    4Заяждане 1 500 1 500
    5Четене 3 000 3 000

    В този пример ние:

    • Задаваме нашата таблица да заема 100% от родителския елемент, клетките на таблицата да заемат 25% от родителския елемент и да имат плътна рамка от 1 пиксел в зелено, височината на заглавката и клетките с данни е 45px. Премахнахме празнината между клетките с помощта на свойството граница-колапссъс смисъл .
    • И така, използвайки псевдо-елемент ::следдобавете съдържание след всеки елемент при задържане. Псевдо елемент ::следтрябва да се използва заедно с имота съдържание, благодарение на което вмъкваме блоков елемент, който има фонов цвят горскозелени има абсолютно позициониране.
    • Абсолютното позициониране тук е необходимо за изместване на елемента спрямо дадения ръб на неговия предшественик, докато предшественикът трябва да има стойността позицияразлично от стандартното - статичен, в противен случай броят ще бъде спрямо посочения край на прозореца на браузъра, поради тази причина сме задали за таблицата относително позициониране(относително).
    • Задаваме свойството за нашия генериран блок Горна част, което указва посоката на отместване на позиционирания елемент от горния ръб, и свойството отдолу A, който указва посоката, в която позиционираният елемент е изместен от долния ръб. И двете свойства бяха зададени на 0, така че блокът ще заема изцяло елемента от долната и горната част на таблицата, ширината на този блок беше зададена на 25%, тази стойност съответства на стойността на ширината на самата клетка.
    • И крайното свойство, което задаваме за този блок: z-индекссъс стойност "-1" определя реда, в който са подредени позиционираните елементи Z ос. Това свойство е необходимо, така че текстът да е пред този блок, а не зад него, ако не зададете стойност по-малка от нула, тогава блокът ще затвори текста.

    Резултатът от нашия пример:

    Ако на този етап от проучването не разбирате процеса на позициониране на елементи, тогава не се обезсърчавайте, това е трудна за разбиране тема, която също не разгледахме, но определено ще я разгледаме в следващата статия на урок " Позициониране на елементи в CSS ".

    Въпроси и задачи по темата

    Преди да преминете към следващата тема, изпълнете практическата задача:


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


    2016-2020 Денис Болшаков, можете да изпращате коментари и предложения в сайта на [email protected]

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

    Цвят на фона на клетката

    Цветът на фона на всички клетки на таблицата едновременно се задава чрез свойството background, което се прилага към селектора TABLE. В същото време трябва да запомните правилата за използване на стилове, по-специално наследяването на свойствата на елемента. Въпреки че свойството на фона не е наследено, фоновата стойност по подразбиране за клетките е прозрачна, т.е. прозрачност, така че ефектът на запълване на фона се получава и за клетките. Ако посочите цвят за селектора TD или TH едновременно с TABLE, тогава този цвят ще бъде зададен като фон на клетката (пример 2.3).

    Пример 2.3. Цвят на фона

    маси

    Заглавие 1Заглавие 2
    Клетка 3Клетка 4

    В този пример получаваме син фонов цвят за клетките (tag ) и червено в заглавието (таг ). Това е така, защото стилът за селектора TH не е дефиниран, така че фонът на родителя, в този случай селектора TABLE, се "показва". А цветът за TD селектора е посочен изрично, така че клетките са „запълнени“ със синьо.

    Резултатът от този пример е показан на фиг. 2.4.

    Ориз. 2.4. Промяна на цвета на фона

    Полета вътре в клетките

    Полето е разстоянието между ръба на съдържанието на клетката и нейната граница. Обикновено за тази цел се използва атрибутът cellpadding на тага.

    . Той определя стойността на полето в пиксели от всички страни на клетката. Можете да използвате свойството padding style, като го добавите към TD селектора, както е показано в Пример 2.4.

    Пример 2.4. Полета в таблици

    XHTML 1.0 CSS 2.1 IE Cr Op Sa Fx

    маси

    Заглавие 1Заглавие 2
    Клетка 3Клетка 4

    В този пример, чрез групиране на селектори, полетата се задават едновременно за селектора TD и TH. Резултатът от примера е показан на фиг. 2.5.

    Ориз. 2.5. Полета в клетките

    Ако свойството стил на подплънка се прилага към клетките на таблицата, тогава ефектът на атрибута cellpadding на тага

    игнориран.

    Разстояние между клетките

    За да промените разстоянието между клетките, използвайте атрибута cellspacing на тага

    . Ефектът от този атрибут е ясно видим, когато използвате рамки около клетките или когато клетките се запълват с цвят, който се откроява на фона на страницата. Cellspacing се заменя със свойството за стил на border-spacing, което задава разстоянието между границите на клетките. Една стойност задава както вертикалното, така и хоризонталното разстояние между границите на клетката. Ако това свойство има две стойности, тогава първата определя хоризонталното разстояние (т.е. отляво и отдясно на клетката), а втората определя вертикалното (отгоре и отдолу).

    Свойството border-spacing има ефект само ако селекторът TABLE няма border-collapse, зададен на collapse (Пример 2-5).

    Пример 2.5. Разстояние между границите на клетката

    XHTML 1.0 CSS 2.1 IE 7 IE 8+ Cr Op Sa Fx

    Подмяна на разстоянието между клетките

    Леонардо58
    Рафаел411
    Микеланджело249
    Донатело213

    Резултатът от този пример е показан на фиг. 2.6.

    Ориз. 2.6. Външен вид на таблицата при използване на граници

    интернет браузър Explorer до и включително версия 7 не поддържа свойството border-spacing, така че този браузър ще използва стойността за cellpacing по подразбиране за таблици (обикновено 2px).

    Когато добавите свойство за свиване на границата със стойност за свиване към селектора TABLE, атрибутът на cellpacing се игнорира и стойността на границата се задава на нула.

    Граници и рамки

    По подразбиране първоначално няма рамка в таблицата и тя се добавя с помощта на атрибута border на тага

    . Браузърите показват такава граница по различен начин, така че е по-добре изобщо да не посочвате този атрибут и да присвоите чертането на границата на стиловете. Нека разгледаме два метода, пряко свързани със стиловете.

    Използване на атрибута cellpacing

    Известно е, че атрибутът cellpacing на тага

    задава разстоянието между клетките на таблицата. Ако използвате различен фонов цвят за таблицата и клетките, тогава между клетките ще се появи решетка от линии, чийто цвят съответства на цвета на таблицата, а дебелината е равна на стойността на атрибута cellspacing в пиксели. Пример 2.3 по-горе показва този ефект, така че няма да го повтарям.

    Имайте предвид, че това не е много удобен начин за създаване на граници, тъй като има ограничен обхват. По този начин можете да получите само едноцветна мрежа, а не вертикална или хоризонтални линиина правилните места.

    Прилагане на граничното свойство

    Свойството за стил на границата едновременно задава цвета на рамката, нейния стил и ширината около елемента. Когато искате да създадете отделни редове на различни страни, по-добре е да използвате производни - border-left , border-right , border-top и border-bottom , тези свойства съответно определят границата отляво, отдясно, отгоре и отдолу.

    Чрез прилагане на свойството border към селектора TABLE добавяме граница около таблицата като цяло, а към селектора TD или TH добавяме граница около клетките (Пример 2-6).

    Пример 2.6. Добавяне на двойна рамка

    XHTML 1.0 CSS 2.1 IE Cr Op Sa Fx

    маси

    Заглавие 1Заглавие 2
    Клетка 3Клетка 4

    Този пример използва черна двойна рамка около самата таблица и плътна бяла рамка около всяка клетка. Резултатът от примера е показан на фиг. 2.7.

    Ориз. 2.7. Рамка около таблицата и клетките

    Обърнете внимание, че там, където клетките се съединяват, се образуват двойни линии. Те се получават отново поради действието на атрибута cellspacing на тага

    . Въпреки че този атрибут не се появява никъде в примерния код, браузърът го използва по подразбиране. Ако зададете
    , тогава получаваме не двойни, а единични линии, но с удвоена дебелина. За да промените тази функция, приложете свойството за стил на свиване на границата със стойността свиване, която се добавя към селектора TABLE (Пример 2-7).

    Пример 2.7. Създаване на единична рамка

    XHTML 1.0 CSS 2.1 IE Cr Op Sa Fx

    маси

    Заглавие 1Заглавие 2
    Клетка 3Клетка 4

    Този пример създава плътна зелена линия между клетките и черна линия около таблицата. Всички граници в една таблица имат еднаква дебелина. Резултатът от примера е показан на фиг. 2.8.

    Ориз. 2.8. Граница около масата

    Подравняване на съдържанието на клетките

    По подразбиране текстът в клетка на таблица е подравнен вляво. Изключението от това правило е етикетът , то дефинира заглавие, което е центрирано. За да промените метода на подравняване, приложете стил свойство за подравняване на текст(пример 2.8).

    Пример 2.8. Подравнете съдържанието на клетката хоризонтално

    XHTML 1.0 CSS 2.1 IE Cr Op Sa Fx

    маси

    Заглавие 1Клетка 1Клетка 2
    Заглавие 2Клетка 3Клетка 4

    В този пример съдържанието на тага е подравнен вляво и съдържанието на етикета - В центъра. Резултатът от примера е показан по-долу (Фигура 2.9).

    Ориз. 2.9. Подравняване на текст в клетки

    Вертикалното подравняване в клетка винаги е центрирано, освен ако не е указано друго. Това не винаги е удобно, особено за таблици, чието съдържание на клетки варира по височина. В този случай подравняването е зададено към горния край на клетката с помощта на свойството vertical-align, както е показано в Пример 2-9.

    Пример 2.9. Подравнете съдържанието на клетката вертикално

    XHTML 1.0 CSS 2.1 IE Cr Op Sa Fx

    маси

    Заглавие 1Заглавие 2
    Клетка 1Клетка 2

    Този пример задава височината на заглавката като 40 пиксела и подравняването на текста е отдолу. Резултатът от примера е показан на фиг. 2.10.

    Ориз. 2.10. Подравняване на текст в клетки

    Празни клетки

    Браузърите по различен начин показват клетка, която няма нищо вътре. „Нищо“ в този случай означава, че в клетката не е добавена нито картина, нито текст и пространството не се взема предвид. Естествено, външният вид на клетките се различава само ако около тях е поставена рамка. Когато използвате невидима граница, външният вид на клетките, независимо дали имат нещо в тях или не, е един и същ.

    По-старите браузъри не показваха цвета на фона на празните клетки за преглед , така че в случай, когато се изискваше клетката да се остави без съдържание, но да се покаже фоновият цвят, вътре в клетката беше добавен неразделен интервал (). Интервалът не винаги е подходящ, особено когато трябва да зададете височината на клетката на 1-2 пиксела, поради което прозрачният чертеж с един пиксел е широко разпространен. Наистина, такава картина може да бъде мащабирана по ваша преценка, но не се показва на уеб страницата.

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

    За да контролирате външния вид на празните клетки, се използва свойството празни клетки; когато е зададено да се скрие, рамката и фонът в празните клетки не се показват. Ако всички клетки в един ред са празни, тогава целият ред е скрит. Една клетка се счита за празна в следните случаи:

    • изобщо няма символи;
    • клетката съдържа само нов ред, табулатор или интервал;
    • стойността за видимост е зададена на скрито.

    Добавянето на непрекъснат интервал се третира като видимо съдържание, т.е. клетката вече няма да е празна (пример 2.10).

    Пример 2.10. Празни клетки

    XHTML 1.0 CSS 2.1 IE Cr Op Sa Fx

    Използване на празни клетки

    Леонардо58
    Рафаел 11
    Микеланджело24
    Донатело 13

    Изгледът на таблицата в браузъра Safari е показан на фиг. 2.11а. Същата таблица в IE7 е показана на фиг. 2.11б.

    а. В браузър Safari, Firefox, Opera, IE8, IE9

    b. В браузъра IE7

    Ориз. 2.11. Табличен изглед с празни клетки