Підказки для клітин у таблиці HTML (без Javascript)


102

Чи можливо мати підказки для комірок таблиці без JavaScript. Неможливо використовувати його.

Відповіді:


169

ти намагався?

<td title="This is Title">

тут добре працює на Firefox v 18 (Aurora), Internet Explorer 8 та Google Chrome v 23x


1
Так, але це дуже повільно :(

18

Так. Ви можете використовувати titleатрибут на елементах комірок із поганою зручністю використання або скористатися підказками CSS (декілька існуючих питань, можливо, копії цього).


16

Відповідь Мудассара Башира з найвищим рейтингом, що використовує атрибут "title", здається найпростішим способом зробити це, але він дає менший контроль над тим, як відображати коментар / підказку.

Я виявив, що відповідь Крістофа на користувальницький клас підказок здається набагато більшим контролем над поведінкою коментаря / підказки. Оскільки представлена ​​демонстрація не включає таблицю, відповідно до питання, ось демонстрація, що включає таблицю .

Зауважте, що стиль "позиції" для батьківського елемента прольоту (a в цьому випадку) повинен бути встановлений на "відносний", щоб коментар не штовхав вміст таблиці під час його відображення. Мені знадобилося трохи часу, щоб зрозуміти це.

#MyTable{
  border-style:solid;
  border-color:black;
  border-width:2px
}

#MyTable td{
  border-style:solid;
  border-color:black;
  border-width:1px;
  padding:3px;
}

.CellWithComment{
  position:relative;
}

.CellComment{
  display:none;
  position:absolute; 
  z-index:100;
  border:1px;
  background-color:white;
  border-style:solid;
  border-width:1px;
  border-color:red;
  padding:3px;
  color:red; 
  top:20px; 
  left:20px;
}

.CellWithComment:hover span.CellComment{
  display:block;
}
<table id="MyTable">
  <caption>Cell 1,2 Has a Comment</caption>
  <thead>
    <tr>
      <td>Heading 1</td>
      <td>Heading 2</td>
      <td>Heading 3</td>
    </tr>
  </thead>
  <tbody>
    <tr></tr>
      <td>Cell 1,1</td>
      <td class="CellWithComment">Cell 1,2
        <span class="CellComment">Here is a comment</span>
      </td>
      <td>Cell 1,3</td>
    <tr>
      <td>Cell 2,1</td>
      <td>Cell 2,2</td>
      <td>Cell 2,3</td>
    </tr>
  </tbody>
</table>


5

Ви можете використовувати css та: pver-властивість навести курсор. Ось проста демонстрація . Він використовує наступний css:

a span.tooltip {display:none;}
a:hover span.tooltip {position:absolute;top:30px;left:20px;display:inline;border:2px solid green;}

Зауважте, що у старих браузерах обмежена підтримка: наведення курсора.


2

Еволюція того, що додав BioData41 ...

Розмістіть те, що випливає у стилі CSS

     <style>

        .CellWithComment{position:relative;}

        .CellComment
        {
            visibility: hidden;
            width: auto;
            position:absolute; 
            z-index:100;
            text-align: Left;
            opacity: 0.4;
            transition: opacity 2s;
            border-radius: 6px;
            background-color: #555;
            padding:3px;
            top:-30px; 
            left:0px;
        }   
        .CellWithComment:hover span.CellComment {visibility: visible;opacity: 1;}
</style>

Потім використовуйте його так:

        <table>
            <tr>
                <th class="CellWithComment">Category<span class="CellComment">"Ciaooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo"</span></th>
                <th class="CellWithComment">Code<span class="CellComment">"Ciaooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo"</span></th>
                <th>Opened</th>
                <th>Event</th>
                <th>Severity</th>           
                <th>Id</th>
                <th>Component Name</th>
            </tr>
            <tr>
                <td>Table cell</td>
                <td>Table cell</td>
                <td>Table cell</td>
                <td>Table cell</td>
                <td>Table cell</td>
                <td>Table cell</td>
                <td>Table cell</td>
            </tr>
            <tr>
                <td>Table cell</td>
                <td>Table cell</td>
                <td>Table cell</td>
                <td>Table cell</td>
                <td>Table cell</td>
                <td>Table cell</td>
                <td>Table cell</td>
            </tr>
        </table>

Яка різниця?
Даніель К. Собрал

0
if (data[j] =='B'){
    row.cells[j].title="Basic";
}

У сценарії Java умовно додають заголовок, порівнюючи значення Даних. Таблиця генерується сценарієм Java динамічно.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.