Ячейка таблицы как ссылка html
Перейти к содержимому

Ячейка таблицы как ссылка html

  • автор:

Как сделать ячейку таблицы ссылкой?

Ссылка в ячейке

Как видно, если высота ячеек различается, то ссылка занимает не всю ячейку целиком — ссылка отстаёт от границ на величину padding у td , а высота ссылки равна высоте текста. Чтобы обойти эти ограничения, ячейку надо сделать с относительным позиционированием, а ссылку внутри неё — с абсолютным позиционированием. Размеры ссылки при этом задаются с помощью свойств left , right , top и bottom с нулевым значением — тогда ссылка будет занимать всю область ячейки целиком.

К сожалению, есть и ограничения — ячейка с абсолютно позиционированной ссылкой «схлопывается». Есть два решения:

  • задать всей таблице свойство table-layout со значением fixed — ширина всех ячеек при этом станет одинаковой;
  • явно установить ширину ячейки со ссылкой через свойство width.

В примере 2 показано добавление table-layout .

Пример 2. Использование position

Ячейка как ссылка

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

Результат данного примера показан на рис. 2.

Ссылка в ячейке

Рис. 2. Ссылка в ячейке

Данное решение не работает в браузере Internet Explorer, в нём высота ссылки не равна высоте ячейки. Если нужна поддержка IE, то есть следующее решение, работающее и в других браузерах. Сперва вставляем ссылку в .

Затем в стилях дописываем следующие строки.

Использование JavaScript

Внутри onclick пишем document.location , а в качестве значения адрес желаемой веб-страницы (пример 3). Обратите внимание на комбинацию кавычек, адрес веб-страницы берётся в одинарные кавычки.

Пример 3. Использование события onclick

Ячейка как ссылка

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

Поскольку ячейка с onclick не является привычной ссылкой, её нельзя самостоятельно открыть в новой вкладке и вообще понять что это ссылка. Для наглядности через стили меняем вид указателя на «руку».

См. также

  • display
  • display в CSS
  • position
  • position в CSS
  • relative и absolute
  • table-layout
  • Абсолютное позиционирование
  • Абсолютное позиционирование и гриды
  • Блочные элементы
  • Использование в вёрстке
  • Липкое позиционирование
  • Нормальное позиционирование
  • Описание float
  • Открываем блочную модель
  • Относительное позиционирование
  • Поток
  • Свойства позиционирования
  • Событие onclick
  • Создание флексбоксов
  • Спойлер
  • Стилизация элементов MathML
  • Строчно-блочные элементы
  • Строчные элементы
  • Фиксированное позиционирование

Ссылки в таблице (html, css)

Здравствуйте, хотел вывести в браузере таблицу со ссылками на файли. Три ячейки. При наведении на них они должен меняться фон ячейки, но этого не происходит. Может я что-то не так делаю? Есть файл index.html:

  Пример  table < border: 1px solid black; background: stateblue2; >tr  
Главная
Мое хобби
Фотоальбом

есть файли index.html, hobby.html, photo.html. Также есть файл style.css:

Шпаргалка по работе с таблицами

Если на одной странице или на сайте присутствует несколько таблиц и для них требуется установить разное стилевое оформление, то для таких таблиц добавляется атрибут class или id с соответствующим значением, например:

 
Comedy Adventure Action
Scary Movie Indiana Jones The Punisher
Epic Movie Star Wars Bad Boys
Company Q1 Q2 Q3
Microsoft 20.3 30.5 23.5
Google 50.2 40.63 45.23

При этом class=»list» можно будет использовать для оформления других таблиц (элементов), а id=»company» — только для одной таблицы.

2. Как добавить ссылки в таблицу

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

 
Comedy Adventure Action
Scary Movie Indiana Jones The Punisher
Epic Movie Star Wars Bad Boys

Стилизовать такие ссылки можно при помощи определения table a <> , или же задав класс непосредственно для ссылки.

3. Как создать ссылки на ячейки таблицы

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

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

.

Чтобы обеспечить переход со ссылки на эту ячейку, задаём ей соответствующее значение пути

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

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

td:target td:target td:target
Пример

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

Лучшие фильмы 2015 года

Фантастика Комедия Приключения
Марсианин Самый лучший день Миссия невыполнима: Племя изгоев
Мстители: Эра Альтрона Пиксели Агенты А.Н.К.Л.
Голодные игры: Сойка-пересмешница Барашек Шон Последние рыцари

4. Одинаковая ширина колонок таблицы

По умолчанию ширина таблицы определяется содержимым ее ячеек. Управлять шириной столбцов (ячеек) можно следующими способами:

  • Если для таблицы задана ширина, то table сделает все ячейки одинаковой ширины, исходя из ширины самой длинной ячейки.
  • Если для таблицы задана ширина table , и ширина ячеек вычисляется в % , например, td , то ширина всех ячеек будет равной.
  • Задав фиксированную ширину с помощью единиц длины, например, th .

При этом не забывайте, что к ширине таблицы будет добавлена ширина границы ячеек и таблицы и внутренние отступы ячеек padding (если не установлено свойство ).

5. Оформление заголовка таблицы

Управлять положением заголовка можно свойством caption-side , например, caption поместит заголовок после таблицы.

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

caption

6. Создание вложенных таблиц

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

 
ячейка заголовка таблицы ячейка заголовка таблицы
ячейка таблицы
ячейка заголовка вложенной таблицы
ячейка вложенной таблицы
ячейка заголовка вложенной таблицы
ячейка вложенной таблицы

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

Ячейка таблицы как ссылка html

Aver, Demon_id, сорри, скорее всего я не совсем правильно поставил вопрос.
Мне необходимо сделать ячейку ссылкой без onClick, и без участия tr:hover.
Пример того, что мне необходимо — сайт Лебедева, у него навигация сделана именно так, как нужно мне. Но проблема в том, что не получается, сделать ссылкой всю ячейку.

Сообщ. #5 , 04.03.08, 13:42

Рейтинг (т): 182
ну так если у лебедева так сделано, то возбми и посмотри код.
Сообщ. #6 , 04.03.08, 13:42
Рейтинг (т): 53
Вот кусок лебедевского кода:

Но почему эта ссылка растягивается на всю ячейку мне не понятно

Добавлено 04.03.08, 13:44
У него используется только стиль branches, но в нем ничего подобного я не нашел.

Сообщ. #7 , 04.03.08, 13:45

Рейтинг (т): 182
New Document
display: block;
height: 100%;
Сообщение отредактировано: Demon_id — 04.03.08, 13:49
Сообщ. #8 , 04.03.08, 13:53
Рейтинг (т): 53
display: block;

Demon_id, да, с таким стилем по всей ширине ячейки будет ссылка, но если добавить height:100%, чтобы ссылка растянулась и по высоте, тогда она(ссылка) прижимается к верхнему краю. vertical-align — недействует

Сообщ. #9 , 04.03.08, 13:53

Рейтинг (т): 182
Цитата Программер @ 04.03.08, 13:53

Demon_id, да, с таким стилем по всей ширине ячейки будет ссылка, но если добавить height:100%, чтобы ссылка растянулась и по высоте, тогда она(ссылка) прижимается к верхнему краю. vertical-align — недействует

так не добавляй

Добавлено 04.03.08, 13:54
будет ссылка ровно по строке. если ячейка выше, то на всю высоту ссылки не будет. собсна у лебедева так и сделано.

Сообщ. #10 , 04.03.08, 15:00
Рейтинг (т): 53
Цитата Demon_id
так не добавляй

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

Добавлено 04.03.08, 15:28
Вот, что у меня:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *