Jump to content
  • 0

IE, ячейки, бордеры.


psywalker
 Share

Question

Добрый день!

Описание задачи:

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

Вопрос:

Как с помощью CSS обмануть IE, что можно такое прописать, что бы при Пустых ячейках бордер отображался в любимом браузере?

Какие вообще варианты ещё есть? Нужно, чтобы содержимое при проверке показывало false;

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Таблица, ячейки, IE</title>
<style type="text/css">
*{ margin: 0; padding: 0;}

table td {
width: 100px;
height: 100px;
border: 10px solid #000;
}
</style>
</head>

<body>
<table>
<tr>
<td></td>
</tr>
<tr>
<td></td>
</tr>
</table>
</body>
</html>

Link to comment
Share on other sites

17 answers to this question

Recommended Posts

  • 0
пробелы оО

Неа, не катит. Всё равно границы не отображаются в IE. А если ставить невидимые пробелы из таблицы символов либо  , то это уже true, а значит к задаче не подходит.

Link to comment
Share on other sites

  • 0

psywalker,

А border-collapse обязательно separate должен быть?

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

Edited by sigma77
Link to comment
Share on other sites

  • 0
psywalker,

А border-collapse обязательно separate должен быть?

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

1) Ни border-collapse не separate не пашут.

2) Вариант проверки тоже не подходит. Там дело в том, что изначально фабрично создаётся таблица на лету, и соответственно ячейки для последующей цели. А для этой цели нужно, чтобы ячейки были пустые, НО с бордером.

3) empty-cells: show; не пашет.

В задаче не была указана версия.

Версии IE 6-8

Link to comment
Share on other sites

  • 0

Проверял в IE7. Надо добавить такую строку.

table td { //z-index: expression(runtimeStyle.zIndex = 1, this.innerHTML = " "); }

Интересно, что если z-index убрать, то браузер в ступор входил, конкретно подвисал на innerHTML.

Link to comment
Share on other sites

  • 0
Проверял в IE7. Надо добавить такую строку.

table td { //z-index: expression(runtimeStyle.zIndex = 1, this.innerHTML = " "); }

Интересно, что если z-index убрать, то браузер в ступор входил, конкретно подвисал на innerHTML.

Добавил. Тогда при проверке снова true; Поэтому не катит к сожалению. Кстати вариант возьму на заметку на будущее.

  - вот такую штуку можно ставить и при создании ячеек, тут проблем нет. Но это всё true тогда.

Link to comment
Share on other sites

  • 0
1) Ни border-collapse не separate не пашут.

Хм... точно? У меня, если поставить border-collapse: collapse; границы отображаются...

6e455b0b7732t.jpg

	*{ margin: 0; padding: 0; zoom: 1;}
table {
border-collapse: collapse;
}
table td {
width: 100px;
height: 100px;
border: 10px solid #000;
}

Link to comment
Share on other sites

  • 0
innerHTML отслеживает скрипты и генерируемый через стили контент?

Да нет, он тупо проверяет ячейку, а в ней пусто или нет. Если Нет, тогда выходит, а если Пусто, тогда вставляет то, что нужно. И получается, если у нас там будет  , то проверка подумает, что там уже что-то есть и выйдет.

Хм... точно? У меня, если поставить border-collapse: collapse; границы отображаются...

6e455b0b7732t.jpg

	*{ margin: 0; padding: 0; zoom: 1;}
table {
border-collapse: collapse;
}
table td {
width: 100px;
height: 100px;
border: 10px solid #000;
}

Воо, подруга, спасибо тебе, походу я промахнулся почему-то) Вроде ставил и не помогало. У меня Ие-тестер затупил. Открыл в нормальном браузере, всё заработало. :)

Ща ещё протестю, отпишусь точно.

Отлично, спасибо ещё раз. Работает в IE 6-8.

Задача решена. IE-тестер не помощник)

Link to comment
Share on other sites

  • 0

Вот кстати ещё нашёл один вариант. Поделюсь, вдруг кому пригодится. :)

RULES

none Все линии отсутствуют

cols Линии между столбцами

rows Линии между строками

groups Линии между группами столбцов и строк

all Все линии присутствуют (по умолчанию)

Ставятся так:

<table rules="rows">

<tr>

<td>111</td>

<td>111</td>

<td>111</td>

</tr>

<tr>

<td>111</td>

<td>111</td>

<td>111</td>

</tr>

</table>

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy