sonyps4.ru

Высота строки таблицы html. Включение автоподбора высоты строки в Microsoft Excel

Мне надо сделать страничку, в которой три области расположения информации, как обозначено на иллюстрации. При этом размер странички должен точно соответствовать окну браузера, кроме того дело осложняется тем, что в зеленой области расположен iframe, занимающий все свободное место (высота желтой области и ширина красной могут быть фиксированными). Реализовать такое кроссбраузерно без таблиц у меня не получилось даже с абсолютным позиционированием, поэтому я вернулся к табличной верстке, с которой все получилось отлично, обошлось даже без фиксированной высоты и ширины. Единственная проблема: если в красной области слишком много содержимого, то оно растягивает всю таблицу по высоте и появляется вертикальный скроллинг. Вот пример кода:

abrakadabradabradabra
abrakadabra
abrakadabra

Если теперь в красную ячейку загнать много строчек текста, то увеличится высота всей таблицы. В идеале же содержимое ячейки должно скроллироваться, в крайнем случае просто обрезаться. Я своими экспериментами с overflow:scroll успеха не добился. Попытался даже устанавливать высоту JavaScript"ом и менять в onresize, но это оказалось в IE не реализуемым. Отказаться от iframe я не могу, загонять содержимое красной области в другой iframe тоже не хотелось бы, но как последний вариант это остается. Требования к кроссбраузерности у меня довольно высокие, но буду уже благодарен за приемлемый вариант для IE 6.0 и актуального Mozilla.

Сформировалось некое подобие решения. Вкладываем в ячейку div, а уже в него все остальное. И для этого div"а устанавливаем стиль: width: 200px; height: 400px; overflow: auto; overflow: -moz-scrollbars-vertical; overflow-x: visible; overflow-y: scroll; . Это дает желаемый результат в Mozilla и IE (и, предположительно, в других браузерах тоже что-то сносное), но высоту для div"а приходится задать жестко — высоту в процентах Mozilla не признает. То есть надо думать дальше...

Нашел на Гугле объяснение поведению Mozilla: высота 100% считается по высоте ячейки таблицы, а высота ячейки таблицы по умолчанию равна высоте моего div"а — получается чушь. Если прописать у ячейки высоту, то и height:100% у div"а работает. Теперь осталось только понять, как сделать, чтобы у ячейки высота равнялась высоте строки:)

Не уверен чего именно добиваетесь (без примера) но я когда-то (похоже) делал так:
http://orwell.ru/xxx/0003.html

Если не годиться, забудьте...

Фраза: размер странички должен точно соответствовать окну браузера смущает: fixed or flexible design?


abrakadabradabradabra

abrakadabradabradabra

abrakadabradabradabra

abrakadabradabradabra

abrakadabradabradabra

abrakadabradabradabra

abrakadabradabradabra

abrakadabradabradabra

abrakadabradabradabra

abrakadabradabradabra

abrakadabradabradabra

abrakadabradabradabra

abrakadabradabradabra

abrakadabradabradabra

abrakadabradabradabra

abrakadabradabradabra

abrakadabradabradabra

abrakadabradabradabra

abrakadabradabradabra

abrakadabradabradabra

abrakadabradabradabra

abrakadabradabradabra

abrakadabradabradabra

abrakadabradabradabra

abrakadabradabradabra

abrakadabradabradabra

abrakadabradabradabra

abrakadabradabradabra

abrakadabradabradabra

abrakadabradabradabra

abrakadabradabradabra

abrakadabradabradabra

abrakadabradabradabra

abrakadabradabradabra




abrakadabra
abrakadabra

Александр Сохин[досье]
Высота 100% глючит у меня только в Опере 7.0, в 7.1 уже всё правильно, так что на это плевать, как-нибудь разберёмся.

DJ G.E.D[досье]
А вы в IE на ваше творение посмотрели? Но дело даже не в этом, с процентными размерами я мог бы всё это сделать. Но если правую колонку ещё можно сделать с шириной 20%, то у нижней строки процентной высоты никак не может быть — там текст, который обрезаться не должен. У неё должна быть либо высота содержимого (с таблицей это очень хорошо получилось), либо на крайний случай фиксированная высота (в ex).

Александр Сохин[досье]
В Mozilla скроллинг не появляется — ячейка растягивается. Дело в том, что эти 100% согласно стандарту должны считаться от высоты ячейки, а высота ячейки по тому же стандарту равна высоте её содержимого (то есть того же div"а). С фиксированной высотой ячейки скроллинг будет, с процентной — нет. Я нашёл немало дискуссий в интернете по этому поводу и вывод везде один — Mozilla считает высоту div"а в полном соответствии со стандартом, но абсолютно непонятно, как по стандарту добиться нужного эффекта. А если вообще отказаться от табличной верстки и попытаться спозиционировать всё с CSS , то в IE получаются жуткие глюки и опять же непонятно, как это реализовать, чтобы и по стандарту правильно выглядело, и в IE всё было нормально.

Владимир Палант:
"А вы в IE на ваше творение посмотрели?"
Стал бы иначе постить...
ИЕ у меня 6-й, смотрел без DOCTYPE.

А почему бы Вам желтый боттом во фрейм не засунуть, чем он хуже таблиц?! Все проблемы изчезнут, кроссбраузерность 100%, и даже ссылки и те нормальные можно сделать...

DJ G.E.D[досье]
У меня в IE 6.0 SP1 показывает в вашем примере правую колонку шириной в пару десятков пикселей (и, соответственно, без текста). Просто скопировал из вашего постинга. В Mozilla всё в порядке.

А зачем мне фреймы? У меня сейчас всё на фреймах — я упростить хочу, а не усложнить. Один фрейм обязательный, он нужен для функционирования интерфейса, а все остальные — к чёрту.

Владимир Палант[досье]
чтобы в ИЕ вариант grevil не глючил (он просто немного ошибся с шириной ифрейма - не 98%, а 78%):


abrakadabradabradabra

abrakadabradabradabra

abrakadabradabradabra

abrakadabradabradabra

abrakadabradabradabra

abrakadabradabradabra

abrakadabradabradabra

abrakadabradabradabra

abrakadabradabradabra

abrakadabradabradabra

abrakadabradabradabra

abrakadabradabradabra

abrakadabradabradabra

abrakadabradabradabra

abrakadabradabradabra

abrakadabradabradabra

abrakadabradabradabra

abrakadabradabradabra

abrakadabradabradabra

abrakadabradabradabra

abrakadabradabradabra

abrakadabradabradabra

abrakadabradabradabra

abrakadabradabradabra

abrakadabradabradabra

abrakadabradabradabra

abrakadabradabradabra

abrakadabradabradabra

abrakadabradabradabra

abrakadabradabradabra

abrakadabradabradabra

abrakadabradabradabra

abrakadabradabradabra

abrakadabradabradabra




abrakadabra
abrakadabra

Александр Сохин[досье]
А теперь посмотрите в Mozilla:)
Дело ведь в том, что Mozilla считает ширину от ширины окна за вычетом float-элементов, а IE чисто от ширины окна. Но, как я уже сказал, процентная высота для нижней строки мне в любом случае никак не подходит.

Попробую ставить в моём варианте высоту ячейки JavaScript"ом, может хоть так получится...

Получилось вот такое:

function setSize() { document.getElementById("red").style.height = 1; document.getElementById("red").style.height = document.getElementById("green").offsetHeight; }

abrakadabradabradabra
abrakadabra
abrakadabra

При всём своём уродстве этот код хотя бы работает везде. Правда Опера не реагирует на изменение размера окна, да и отображает overflow:auto весьма своеобразно, но это уже детали. Это хотя бы можно использовать, пока не найдётся что-нибудь получше.

Наиболее быстрый способ добиться, чтобы содержимое ячеек отображалось полностью – это использовать механизм автоподбора ширины столбца/ высоты строки по содержимому.

Пусть имеется таблица с ячейками заполненными текстовыми значениями.

Автоподбор ширины столбца

Как видно из рисунка выше, текстовые значения в ячейках А2 и А3 отображаются не полностью, т.к. мешает текст в столбце B . Нам необходимо, чтобы содержимое всех ячеек в столбце A отображалось полностью. Для этого необходимо сделать ширину столбца A достаточной для отображения самого длинного текста в столбце. Делается это элементарно: подводим указатель мыши к разделу столбцов А и B (на сером заголовке столбцов), курсор примет следующий вид:

Делаем двойной клик мышкой и, Voila, ширина столбца стала достаточной для отображения значений во всех ячейках столбца (с учетом скрытых строк).

Если нужно выровнять ширину по содержимому у сразу нескольких столбцов, то делаем следующее:

  • выделяем необходимые столбцы (за их серые заголовки);
  • подводим курсор к любому разделу выделенных столбцов и дважды кликаем.

Альтернативный вариант:

  • Выберите столбец или столбцы, ширину которых нужно изменить;
  • На вкладке Главная в группе Ячейки выберите команду Формат ;
  • В группе Размер ячейки выберите пункт Автоподбор ширины столбца .
Автоподбор высоты строки

Если ячейки содержат значения с очень большой длиной строки (например, если длина текстовой строки без переносов сравнима с шириной видимой части листа), то ширина столбца может стать слишком большой, работать с данными будет не удобно. В этом случае нужно выделить ячейки и включить опцию Переносить по словам через Формат ячеек (или через меню ).

Ширина столбца останется прежней, зато высота строки автоматически увеличится, чтобы полностью отобразить значение ячейки.

Иногда, не смотря на установленную опцию Переносить по словам , высоты строки не хватает, чтобы отобразить текстовую строку полностью (это могло произойти, если высота строки была уменьшена вручную). В этом случае нужно поступить также, как мы поступали в случае подбора ширины строки - дважды кликнуть на границе раздела, но теперь не столбцов, а строк:

После этого текстовое значение будет отображено в ячейке полностью:

Реальный пример

Теперь применим рассмотренный метод в реальной ситуации – отредактируем таблицу, созданную путем копирования данных из MS ACCESS. Скопируем через Буфер обмена какую-нибудь таблицу из MS ACCESS на лист EXCEL.

Обратите внимание, что у ячеек, в которые мы вставили значения из Буфера обмена , включена опция Переносить по словам, хотя, по умолчанию, она отключена (EXCEL сам включил ее при вставке). Кроме того, EXCEL не стал изменять ширину столбцов, установленную по умолчанию, а была изменена только высота строк, чтобы полностью отобразить все значения. Такое форматирование таблицы не всегда устраивает пользователя. Используя вставленную таблицу, решим 2 задачи.

Задача1. Предположим, нам нужно, чтобы все значения отображались в таблице в одну строку.

Для этого:

  • выделите вставленные значения (для этого выделите любую ячейку таблицы и нажмите CTRL+A (выделится ), если таблица не содержит пустых строк и столбцов, то будут выделены все вставленные значения);
  • выключите опцию Переносить по словам (через меню Главная/ Выравнивание/ Перенос текста );
  • высота ячеек будет уменьшена так, чтобы отображать только одну строку, как следствие часть значений станет невидна;

  • выделите столбцы А , B и С за серые заголовки;
  • подведите указатель мыши к разделу столбцов А и B (на сером заголовке столбцов) и дважды кликните.

Задача2. Теперь предположим, что нам нужно, чтобы все столбцы имели определенную, заданную пользователем, ширину, а значения полностью бы отображались в ячейке. При этом высота строки должна быть минимальной.

Для этого:

  • задайте требуемую ширину столбцов А , B и С ;
  • опцию Переносить по словам не выключайте (включите);

  • выделите все строки, содержащие вставленные значения, или все ячейки листа (все ячейки листа можно выделить нажав кнопку Выделить все в левом верхнем углу листа или дважды нажав CTRL + A );
  • подведите указатель мыши к разделу любых двух заполненных строк (на сером заголовке столбцов) и дважды кликните.

Задача решена: содержимое всех ячеек полностью отображается.

Сегодня вы познакомитесь с еще одним очень мощным элементом создания сайтов - HTML-таблицами. А почему мощным? Видите ли, с давних пор и по сегодняшний день, чаще всего таблицы в HTML используются не по их прямому назначению - отображению табличных данных, а для создания глобального каркаса страницы. То есть создается таблица, растягивается во всю ширину страницы, а потом в ее левом столбце делают одно меню, в правом - другое, в среднем располагают основную информацию и так далее.

Кстати, если не знали, то создание сайтов, а вернее HTML-кода, называется версткой, и вы сейчас учитесь именно ей. Вообще существует три вида верстки: табличная, о которой я вам рассказал выше; слоями (блочная), требующая среднего уровня знания стилей (CSS) и комбинированная. До сих пор в интернете идут ожесточенные споры о том, какая же из них лучше, но поверьте, спорят там в основном любители споров или новички, так как любой профессионал вам скажет - лучшая верстка та, которая больше подходит в конкретном случае, вот и все! А спорить о том, что лучше - танк или самолет - пустая трата времени. Но справедливости ради скажу, что по многим параметрам блочная верстка все же предпочтительней, поэтому, если верстальщик может сделать задание, как с помощью таблиц, так и с помощью блоков, то обычно выбирается последнее. И это правильно. Но вам об этом задумываться рано, ведь, как я уже сказал, с помощью одного языка HTML можно верстать только таблицами.

Создание таблиц в HTML

Для создания простой HTML-таблицы надо использовать три типа тегов, это

, и , а остальные крайне редко. Не забыли еще, что значит «содержать»? Это значит, что в
. Поэтому давайте сделаем так: посмотрите на пример указанный ниже и попробуйте самостоятельно догадаться, какие теги и для чего нужны.

Пример создания таблиц в HTML

Создание HTML-таблиц

Ячейка 1.1Ячейка 1.2Ячейка 1.3
Ячейка 2.1Ячейка 2.2Ячейка 2.3
Ячейка 3.1Ячейка 3.2Ячейка 3.3

Результат в браузере

Ячейка 1.1 Ячейка 1.2 Ячейка 1.3
Ячейка 2.1 Ячейка 2.2 Ячейка 2.3
Ячейка 3.1 Ячейка 3.2 Ячейка 3.3

Теперь проверим ваши догадки. И опять вам говорю - не старайтесь все запоминать, не надо, главное - понять. Итак:

Тег

...
- это корневой элемент любой таблицы, между открывающим и закрывающим тегами которого находятся все остальные теги. Он является блочным , то есть создает до и после себя переводы строк в начало. А вот содержать он не может ни блочные, ни встроенные (уровня строки) теги, а только специальные теги таблицы из которых практически всегда используется
на первом уровне вложенности запрещено указывать встроенные или блочные теги.

Тег

... используется для создания рядов (строк) таблиц и может содержать только теги ячеек, о которых мы поговорим дальше.

Тег

создает ячейки таблиц и должен располагаться только внутри тега . А вот содержать он может, внимание, и блочные, и встроенные элементы, в том числе и обычный текст. Кстати, обратите внимание, что в таблицах не существует тегов создания столбцов (колонок), потому что они формируются из элементов

В качестве значений для ширины ячеек лучше тоже использовать только пиксели (px) и проценты (%). Естественно процентные размеры будут высчитываться исходя из ширины таблицы. Только не забудьте, что при указании размеров в атрибуте style , всегда после чисел пишутся единицы измерения, в том числе и пиксели.

И тоже, если вы укажете ширину ячейки, а содержимое в нее не уместится - браузер проигнорирует вашу ширину и установит свою.

В HTML-таблицах ширина столбца всегда равна его самой широкой ячейке, что, впрочем, вполне естественно вообще для любых таблиц. Поэтому, меняя ширину одной (любой) ячейки - вы меняете ширину всего столбца.

Пример изменения ширины HTML-таблиц и ячеек

Ширина HTML-таблицы и ячеек

...
.

Тег ... . Да, его нет в нашем примере, так как это практически аналог тега

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

При создании таблиц всегда обращайте внимание на то, чтобы во всех рядах было одинаковое количество ячеек. Разное количество не является в HTML ошибкой, но в таких случаях ваша табличка может просто «поехать» и все отобразиться совсем не так, как вы хотели.

HTML-таблицы по центру, слева, справа

По умолчанию браузеры располагают таблицы с левой стороны родительского элемента, в котором она находится. В большинстве случаев это вполне устраивает, особенно если таблицу растягивают во всю ширину. Но все-таки иногда хочется разместить HTML-таблицу по центру или справа.

В прошлом у тега

имелся атрибут align , с его помощью и можно было изменять положение таблицы. Но он стал устаревшим, и сколько еще времени его будут поддерживать браузеры - неизвестно, так как на смену пришли стили (CSS). И чтобы показать вам правильный метод, я использую атрибут style .

...
- Таблица располагается слева. Это значение по умолчанию.

...
- Расположение таблицы справа.

...
- HTML-таблица по центру.

Теперь поясню. Используя эти значения, мы изменяем размер внешних полей (отступов) таблицы. Так как таблица является блочным HTML-элементом, а у блоков четыре стороны, то и параметры указываются для четырех сторон по часовой стрелке: style= "margin:сверху справа снизу слева" . Ну, что такое ноль, я думаю, вы понимаете, а вот «auto» говорит браузеру, чтобы он сам высчитывал с данной стороны размер пустого пространства, исходя из значений других сторон. Вот и получается, что если с трех сторон ноль, то с четвертой - все остальное пространство, а если с двух сторон «auto», то значит делим внешние поля пополам.

И самое главное - не бойтесь использовать CSS вместо чистого и, во многих ситуациях, «деревянного» и устаревшего HTML. Так как этим вы вкладываете в свое развитие, а не возвращаетесь к каменным топорам! Тем более я вам все преподношу «на блюдечке». :)

Пример расположения таблицы по центру

HTML. Таблица по центру

Ячейка 1.1Ячейка 1.2Ячейка 1.3
Ячейка 2.1Ячейка 2.2Ячейка 2.3
Ячейка 3.1Ячейка 3.2Ячейка 3.3

Результат в браузере

Ячейка 1.1 Ячейка 1.2 Ячейка 1.3
Ячейка 2.1 Ячейка 2.2 Ячейка 2.3
Ячейка 3.1 Ячейка 3.2 Ячейка 3.3
Изменение ширины HTML-таблиц и ячеек

По умолчанию браузеры высчитывают ширину таблицы исходя из содержимого ее ячеек, а изменить ее можно, используя знакомый вам атрибут width , общий синтаксис такой:

...
- любое неотрицательное число указывающее ширину в пикселях.

...
- неотрицательное число задающее ширину в процентах (%) исходя из ширины родительского контейнера, элемента в котором находится таблица.

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

А вот атрибута width для изменения ширины ячеек нет, вернее он был, но устарел, поэтому снова применим стили (CSS).

...

...
Ячейка 1.1Ячейка 1.2
Ячейка 2.1Ячейка 2.2

Результат в браузере

Ячейка 1.1 Ячейка 1.2
Ячейка 2.1 Ячейка 2.2

Как вы уже знаете, по умолчанию браузеры не отрисовывают рамки у таблиц, поэтому, чтобы вы четко увидели картину изменения ширины, я установил атрибут border , о котором мы поговорим чуть позже.

Изменение высоты HTML-таблиц и ячеек

В стандартном HTML у тега

нет атрибута для изменения высоты таблицы, браузеры ее автоматически высчитывают исходя из содержимого. А вот у стилей (CSS) такая возможность есть, поэтому их и будем использовать.

...
- указывайте высоту таблицы только в пикселях (px), так как процентную запись браузеры игнорируют.

А вот для изменения высоты ячеек в HTML у тегов и все-таки был атрибут height (вот и пойми этих разработчиков), но он устарел, поэтому снова стили.

...

...

Как и для ширины, используйте пиксели (px) или проценты (%), но здесь есть один момент. Когда вы указываете процентную запись, то конечно высота высчитывается исходя из размеров таблицы, поэтому если высота блока

не указана - браузеры проигнорируют значения для ячеек.

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

В HTML-таблицах высота строки (как и ширина столбца) всегда равна высоте ее самой высокой ячейки. Поэтому, меняя высоту одной (любой) ячейки - вы меняете высоту всей строки.

Пример изменения высоты HTML-таблиц и ячеек

Ширина HTML-таблицы м ячеек

Ячейка 1.1Ячейка 1.2
Ячейка 2.1Ячейка 2.2

Результат в браузере

Ячейка 1.1 Ячейка 1.2
Ячейка 2.1 Ячейка 2.2
Выравнивание в HTML-таблицах

Если вы обратили внимание, то браузеры изначально определенным образом выравнивают содержимое ячеек таблиц. У обычных ячеек ( ) содержимое выравнивается горизонтально по левой стороне и вертикально по центру, а у заголовочных ( ) - в обоих случаях по центру.

Для изменения выравнивания содержимого HTML-таблиц имеются атрибуты align и valign , которые указываются в тегах для рядов (строк) или и для отдельных ячеек:

Горизонтальное выравнивание:

align= "left" - Выравнивание по левой стороне ячейки.

align= "center" - По центру.

align= "right" - По правой стороне.

Вертикальное выравнивание:

valign= "top" - Выравнивание по верхней стороне ячейки.

valign= "middle" - По центру.

valign= "bottom" - По нижней стороне.

Пример выравнивания в HTML-таблицах

Выравнивание в таблице HTML

Ячейка 1.1 Ячейка 1.2
Ячейка 2.1 Ячейка 2.2

Результат в браузере

Ячейка 1.1 Ячейка 1.2
Ячейка 2.1 Ячейка 2.2
Фон HTML-таблиц

В старых версиях HTML у тегов таблиц был специальный атрибут bgcolor , который изменял цвет фона всей таблицы или ее части. Но в уроке Меняем цвет текста и фона мы с вами изучили универсальный способ изменения фона абсолютно любых HTML-элементов, поэтому им и пользуйтесь.

А вот фонового изображения у таблиц язык HTML вообще не предусматривал, поэтому в свое время производители браузеров ввели для этого атрибут - background . Браузеры и до сих пор его понимают, но опять же, в уроке Изображения для фонов вы уже научились правильно устанавливать изображения-фоны для любых элементов.

Домашнее задание.

Все задание я вам расписывать не буду, обрисую только некоторые моменты, просто сделайте так, как показано в результате примера. Если вы в свое время не скачали картинки для обучения, то можете скачать сейчас.

  • Измените фон страницы и размер шрифта.
  • В начале страницы создайте четыре ссылки-изображения.
  • Ниже сделайте таблицу из одного ряда и двух столбцов. Растяните ее ширину на всю страницу, сделайте выравнивание по верхней стороне ряда и измените фон каждой ячейки.
  • Сделайте ширину левой колонки 150px и поместите в нее ссылки-изображения.
  • Под таблицей создайте текстовые ссылки.
  • Сделайте так, чтобы при наведении курсора мыши на любую ссылку появлялась «всплывающая» подсказка.
  • Не забывайте про
  • Каждый пользователь, работающий в Экселе, рано или поздно встречается с ситуацией, когда содержимое ячейки не вмещается в её границы. В таком случае существует несколько выходов из сложившегося положения: сократить размер содержимого; смириться с существующей ситуацией; расширить ширину ячеек; расширить их высоту. Как раз о последнем варианте, а именно об автоподборе высоты строки мы и поговорим дальше.

    Автоподбор – это встроенный инструмент Excel, который помогает произвести расширение ячеек по содержимому. Сразу нужно отметить, что несмотря на название эта функция не применяется автоматически. Для того, чтобы расширить конкретный элемент, нужно выделить диапазон и применить к нему указанный инструмент.

    Кроме того, нужно сказать, что автоподбор высоты применим в Эксель только для тех ячеек, у которых в форматировании включен перенос по словам. Для того чтобы включить это свойство выделяем на листе ячейку или диапазон. Кликаем по выделению правой кнопкой мыши. В запустившемся контекстном списке выбираем позицию «Формат ячеек…» .

    Происходит активация окна форматирования. Переходим во вкладку «Выравнивание» . В блоке настроек «Отображение» устанавливаем флажок напротив параметра «Переносить по словам» . Чтобы сохранить и применить изменения конфигурации настроек, жмем на кнопку «OK» , которая размещена внизу этого окна.

    Теперь на выделенном фрагменте листа включен перенос по словам и к нему можно применять автоподбор высоты строки. Рассмотрим, как это сделать различными способами на примере версии Excel 2010. Вместе с тем нужно заметить, что полностью аналогичный алгоритм действий можно использовать как для более поздних версий программы, так и для Excel 2007.

    Способ 1: панель координат

    Первый способ предполагает работу с вертикальной панелью координат, на которой располагаются номера строк таблицы.


    Способ 2: включение автоподбора для нескольких строк

    Вышеуказанный способ хорош, когда нужно включить автоподбор для одной или двух строк, но что делать, если подобных элементов много? Ведь, если действовать по тому алгоритму, который был описан в первом варианте, то на процедуру придется потратить большое количество времени. В этом случае существует выход.


    Способ 3: кнопка на ленте инструментов

    Кроме того, для включения автоподбора по высоте ячейки можно использовать специальный инструмент на ленте.


    Способ 4: подбор высоты для объединенных ячеек

    В то же время, нужно заметить, что функция автоподбора не работает для объединенных ячеек. Но и в этом случае тоже имеется решение данной проблемы. Выход заключается в применении алгоритма действий, при котором реального объединения ячейки не происходит, а только видимое. Поэтому мы сможем применить технологию автоподбора.


    Чтобы вручную не выставлять высоту каждой строки в отдельности, тратя на это уйму времени, особенно если таблица большая, лучше воспользоваться таким удобным инструментом Excel, как автоподбор. С его помощью можно автоматически скорректировать размер строчек любого диапазона по содержимому. Единственная проблема может возникнуть, если вы работаете с областью листа, в которой расположены объединенные ячейки, но и в этом случае тоже можно найти выход из сложившейся ситуации путем выравнивания содержимого по выделению.

    1. Что такое HTML таблицы и зачем они нужны?

    html таблицы - это один из самых основных составляющих каждой html странички и соответственно каждого сайта. Например, сайт сайт весь состоит из таблиц: картинки, тексты, ссылки, формы регистрации – все размещено относительно друг друга при помощи таблиц html (собственно, весь сайт также расположен в одной большой таблице).

    2. Какие теги у html таблиц?

    Теги , задающие таблицу html пишутся так:

    Но так как мы знаем, все таблицы состоят из строк и столбцов (ячеек), поэтому необходимо задать теги и для них:

    - строчка html таблицы
    - столбец (ячейка) html таблицы.

    А теперь давайте попробуем объединить все теги в одну таблицу. Для этого мы создадим html таблицу, которая состоит из двух строк и трех столбцов:

    Делается такая html таблица очень легко. Для начала поставим теги самой таблицы, внутрь которых помещаем необходимое количество строк (в нашем примере 2 строки):




    Затем каждую строку разбиваем на ячейки с помощью тегов столбцов:



    - ячейка 1.1
    - ячейка 1.2
    - ячейка 1.3


    - ячейка 2.1
    - ячейка 2.2
    - ячейка 2.3

    На самом деле, первая цифра в надписях - это номер ряда, а вторая номер ячейки (1х2 - первый ряд, вторая ячейка и т.д.).

    3. Как задать фоновый цвет html таблиц?

    А сейчас давайте разберемся, как же задается фон таблицы или каждой ячейки отдельно.

    Итак, для задания фона используется атрибут bgcolor="цвет_фона" .

    Например, если нам необходимо задать один цвет для всей таблички, то делается это так:



    - ячейка 1.1
    - ячейка 1.2
    - ячейка 1.3


    - ячейка 2.1
    - ячейка 2.2
    - ячейка 2.3

    Например, если необходимо сделать табличку желтого цвета, то мы пишем:

    Если нужно задать фоновый цвет ряду html таблицы, то тогда атрибут bgcolor="цвет_фона" применяем к тегу :












    1.1 1.2 1.3
    2.1 2.2 2.3
    1.1 1.2 1.3
    2.1 2.2 2.3

    В этом случае, атрибут номер ячейки задает белый цвет тексту, расположенному внутри тега.

    Точно так же задается и цвет каждой ячейки отдельно . Например, если нужно изменить цвет ячейки 1.2 на синий, то внутри открывающего тега атрибут bgcolor="цвет_фона" :

    4. Как установить размер ширины и высоты ячеек html таблицы?

    Итак, для того, что бы вручную установить ширину и высоту ячеек, используют атрибуты height и width. Их можно задать для всей таблицы, для одного ряда, для ячейки (столбца). Высота и ширина могут задаваться как в пикселях, так и процентах. В нашем случае мы зададим ширину и высоту в пикселях для столбцов (ячеек).

    height - атрибут, устанавливающий высоту ячейки

    width - атрибут, задающий ширину ячейки

    А теперь на примере:

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

    Если в ряду Вы задаете для какой-либо ячейки высоту большую, чем для других то, не смотря на это, все ячейки (столбцы) вашего ряда станут по высоте равны наибольшей. А ширину каждого ряда лучше всего задавать отдельно!

    Вы можете задать высоту и ширину для всей таблицы. В этом случае все ячейки (столбцы) и ряды поделят данное им пространство поровну, если не задавать им данные параметры персонально (в процентах от общей ширины (высоты) таблицы или пикселях).

    Так же, очень часто приходится задавать высоту height и ширину width в процентах :

    содержимое ячейки

    Если мы задаем для ячейки ширину в 40 процентов, как в нашем примере, то это значит, что на остальные ячейки у нас осталось еще 60 процентов, т.е. сумма их ширин не должна превышать 60 процентов. Все очень просто: в сумме мы имеем всего 100%. Считаем: 100 – 40 = 60.

    5. Как выровнять текст внутри html таблицы?

    А теперь давайте разберемся, как выровнять текст в нашей html таблице по левому краю, по правому краю и по центру.

    Делается это с помощью атрибута:

    align=”left” - выравнивает текст внутри html таблицы по левому краю

    align=”center” - выравнивает текст html таблицы по центру

    align=”right” - выравнивает текст внутри html таблицы по правому краю

    Соответственно, атрибут align может принимать еще значения right и left. Значение justify при употреблении с тэгом атрибут align принимать не может.

    Например, код html таблицы, текст которой выровнен по центру, выглядит так:












    1x1 1.2 1x3
    2.1 2x2 2.3

    Прописав атрибут align="center" в открытии

    , мы выровняли html таблицу по центру странички браузера.

    Вот такой результат Вы получите в браузере:

    1x1 1.2 1x3
    2.1 2x2 2.3

    А теперь рассмотрим на примере, как выровнять текст внутри html таблицы по верхнему или по нижнему краю, то есть, как можно сделать так, чтобы содержимое ячейки не только располагалось ровно посередине ее (как по умолчанию), а еще вверху или внизу.

    Вертикальное выравнивание задается атрибутом:

    valign="top" - содержание будет располагаться вверху ячейки

    valign="middle" - содержание будет располагаться по центру ячейки

    valign="bottom" - содержание будет располагаться внизу ячейки

    Давайте рассмотрим данные атрибуты на нашем примере:












    1x1 1.2 1x3
    2.1 2x2 2.3

    Вот что мы получим, если посмотрим в браузере результат работы атрибутов align и valign :

    1x1 1.2 1x3
    2.1 2x2 2.3
    6. Как объединить ячейки и столбцы html таблицы?

    В этой части нашей статьи мы поговорим об атрибутах colspan и rowspan .

    colspan - определяет количество столбцов, на которые распространяется данная ячейка

    rowspan - определяет количество рядов на которые распространяется данная ячейка

    Значения colspan и rowspan могут принимать значение от 2 и больше, т.е. ячейка может растягиваться на два и более столбца (ряда).

    Итак, сейчас на примере мы растянем ячейку 1х1 на два столбца (ячейки). Для этого мы будем использовать атрибут colspan="2", прописав его для ячейки 1х1. Код будет выглядеть так:

    Как видим, ячейка 1х1 распространяется на длину двух ячеек. Соответственно, ее длина равняется суммированной длине этих двух ячеек (160 пикселей). Мы не прописали атрибут width для ячейки 1x1, но если бы мы решили это сделать, то width мы задали бы равным 160 пикселям. И еще, обратите внимание, что в нашем примере нет ячейки 1х3, т.е. в первом ряду всего лишь две ячейки, почему – мы уже это обсудили – ячейка 1х1 равна двум ячейкам, благодаря атрибуту colspan.

    С атрибутами colspan и rowspan необходимо обращаться очень аккуратно. Ошибка может привести к тому, что ваш сайт «поедет».

    А теперь, когда мы разобрались с параметром colspan , давайте разберемся с параметром rowspan. Принцип действия тут тот же:










    1.1 1.2
    2.1 2.2
    1.1 1.2
    2.1 2.2

    Таким образом, мы научились объединять ячейки в строках и столбцах html таблиц.

    7. Как убрать, добавить или изменить отступы и как задать рамку html таблице?

    Итак, ранее мы создали html таблицу, между ячейками которой четко видны отступы. Чтобы их стало видно еще лучше, давайте добавим рамку для нашей таблицы. Делается это с помощью атрибутов:

    border="ширина рамки в пикселях" - устанавливает ширину рамки

    bordercolor="цвет рамки" - устанавливает цвет рамки

    Давайте, например, сделаем нашей html таблице рамку черного цвета шириной 1 пиксель.

    Для этого тегу

    добавляем атрибуты:

    Теперь мы четко видим отступы между ячейками html таблицы и отступы от внутренних краев ячеек до текста. Следовательно, без проблем можем управлять этими отступами. Для этого предназначены атрибуты:

    cellspacing="ширина отступа в пикселях" - отступ между ячейками

    cellpadding="ширина отступа в пикселях" - отступ внутри ячейки (от края ячейки до текста, изображения, ссылки...)

    Например, давайте сделаем отступ между ячейками 10 пикселей, а отступ от края ячейки до текста увеличим до 20 пикселей. Делается это так:










    1.1 1.2
    2.1 2.2

    Если посмотреть на результат в браузере, то мы четко видим, что расстояние между ячейками (cellspacing ) нашей html таблицы увеличилось до 10 пикселей, а расстояние между текстом и внутренним краем ячейки увеличилось на 20 пикселей.

    1.1 1.2
    2.1 2.2

    Если же необходимо вообще убрать отступы, то просто напросто поставьте cellpadding="0" и cellspacing="0" .

    8. Как одну html таблицу вставить внутрь другой?

    Мы подходим к завершающему этапу по изучению html таблиц. Сейчас мы научимся вставлять одну таблицу внутрь другой.

    На примере, внутрь ячейки 1.2 мы вставим новую таблицу, состоящую из одного ряда и двух столбцов. Внутренней html таблице мы установим красную рамку шириной 2 пикселя и расстояние между ячейками 0 пикселей. Также, внутреннюю таблицу мы разместим вверху ячейки.

    Делается это очень просто:










    1.1






    3.1 3.2

    2.1 2.2

    Вот что получилось в результате новых преобразований нашей таблицы (красные ячейки - внутренняя таблица, находящаяся внутри большой таблицы):

    1.1
    3.1 3.2
    2.1 2.2

    На этом этапе данную статью мы закончим. Думаю она получилась удачной и не сложной для понимания, и надеюсь, больше с таблицами у Вас проблем не будет.



    Загрузка...