2016-08-11 2 views
0

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

PS: Я не люблю использовать JS, но если это необходимо, я могу жить с этим.

JsFiddle: https://jsfiddle.net/d4m5hj6f/

.content { 
 
    position: static; 
 
} 
 

 
.header { 
 
    text-align: center; 
 
    position: relative; 
 
    margin-top: 40px; 
 
} 
 

 
th, td { 
 
    border:1px solid black; 
 
    overflow: hidden; 
 
} 
 

 
th { 
 
    background-color: #eff0f0; 
 
} 
 

 
td { 
 
    background-color: #eed6b1; 
 
    height: 45px; 
 
} 
 

 
tr:nth-child(even) td { 
 
    background-color: #FFF1E1; 
 
} 
 

 
table { 
 
    table-layout: fixed; 
 
    min-width: 2000px; 
 
    border-collapse: collapse; 
 
    width: 100%; 
 
    margin-left: 5px; 
 
} 
 

 
.DZ { 
 
    text-align: center; 
 
} 
 

 

 
tr:hover td { 
 
    background-color: #ccc; 
 
} 
 

 
tr:nth-child(even) { 
 
    background-color: #e5e5e5; 
 
} 
 

 
tr td { 
 
    border-right: 1px solid #a5a5a5; 
 
} 
 

 
.Bezborder { 
 
    border-right: 1px solid black; 
 
} 
 

 
.ht:hover .tooltip { 
 
    display: block; 
 
} 
 

 
.tooltip { 
 
    position:absolute; 
 
    display: none; 
 
    background-color: #fafbb8; 
 
    border: 1px solid black; 
 
    border-radius: 4px; 
 
    margin-left: 28px; 
 
    padding: 10px; 
 
    position:absolute; 
 
    z-index: 1000; 
 
    width: 680px; 
 
    height: 50px; 
 
    font-weight: bold; 
 
}
<div class="content"> 
 
    <div class="header"> 
 
    </div> 
 

 
    <a name="172016"> 
 
    <!--1. riadok H--> 
 
    <table cellspacing="0" cellpadding="0" border="0"> 
 
     <tr> 
 
     <th width="50px">C. u.</th> 
 
     <th width="30px">Zobrazit</th> 
 
     <th width="30px">Typ</th> 
 
     <th width="220px">Look here ---></th> 
 
     <th width="650px">hover Under this</th> 
 
     <th width="130px">System</th> 
 
     <th width="100px">Dopad/Symptom</th> 
 
     <th width="100px">Dátum zadania</th> 
 
     <th width="100px">Dátum vzniku</th> 
 
     <th width="100px">Datum Verifikacie</th> 
 
     <th width="80px">Ukoncenie</th> 
 
     <th width="100px">Dátum</th> 
 
     </tr> 
 
     <!--2. riadok D--> 
 
     <tr> 
 
     <td style="text-align:center">100</td> 
 
     <td style="text-align:center">X</td> 
 
     <td style="text-align:center">C </td> 
 
     <td>DOBRIKOVA/DURACKA</td> 
 
     <td class="ht"> Gefco PC nasa siet CD vs finalne riesenie internet gefco pc CORAIL <span class="tooltip">Tooltip windows need to change with text, more text - larger window, less text = smaller windows.</span></td> \t 
 
     <td>CORAIL/CONSO</td> 
 
     <td></td> 
 
     <td class="DZ">06/07/2016</td> 
 
     <td class="DZ">06/07/2016</td> 
 
     <td class="DZ">06/07/2016</td> 
 
     <td style="text-align:center">OK</td> 
 
     <td class="Bezborder" style="text-align:center">07/07/2016</td> 
 
     </tr> 
 
     <!--3. riadok D--> 
 
     <tr> 
 
     <td style="text-align:center">101</td> 
 
     <td style="text-align:center">X</td> 
 
     <td style="text-align:center">C </td> 
 
     <td>DOBRIKOVA/DURACKOVA</td> 
 
     <td class="ht"> Gefco PC nasa siet CD vs finalne riesenie internet gefco pc CORAIL <span class="tooltip">You see there is a big tooltip window space under this.</span></td> 
 
     <td>CORAIL/CONSO</td> 
 
     <td></td> 
 
     <td class="DZ">06/07/2016</td> 
 
     <td class="DZ">06/07/2016</td> 
 
     <td class="DZ">06/07/2016</td> 
 
     <td style="text-align:center">OK</td> 
 
     <td class="Bezborder" style="text-align:center">07/07/2016</td> 
 
     </tr> 
 
    </table> 
 
    </a> 
 
</div>

ответ

1

Удаление свойство ширины из всплывающей CSS должен работать. Удалите высоту также, если вы хотите, чтобы она адаптировалась при изменении размера окна.

+0

Я чувствую себя глупо сейчас, это именно то, что мне нужно. Я добавил max-weight: 680px и его работу, как я хотел. Спасибо – Fred007

0

Вы пытаетесь чего-то достиг, как этот

.content { 
 
position: static; 
 
} 
 

 
.header { 
 
text-align: center; 
 
position: relative; 
 
margin-top: 40px; 
 
} 
 

 

 
th, td{ 
 
border:1px solid black; 
 
overflow: hidden; 
 
} 
 

 
th{ 
 
background-color: #eff0f0; 
 
} 
 

 
td{ 
 
background-color: #eed6b1; 
 
height: 45px; 
 
} 
 

 
tr:nth-child(even) td { 
 
background-color: #FFF1E1; 
 
} 
 

 
table{ 
 
table-layout: fixed; 
 
min-width: 2000px; 
 
border-collapse: collapse; 
 
width: 100%; 
 
margin-left: 5px; 
 
} 
 

 
.DZ { 
 
text-align: center; 
 
} 
 

 

 
tr:hover td{ 
 
background-color: #ccc; 
 
} 
 

 
tr:nth-child(even) { 
 
background-color: #e5e5e5; 
 
} 
 

 
tr td{ 
 
border-right: 1px solid #a5a5a5; 
 
} 
 

 
.Bezborder { 
 
border-right: 1px solid black; 
 
} 
 
.ht:hover .tooltip { 
 
display: block; 
 
} 
 

 
.tooltip { 
 
position:absolute; 
 
display: none; 
 
background-color: #fafbb8; 
 
border: 1px solid black; 
 
border-radius: 4px; 
 
margin-left: 28px; 
 
padding: 10px; 
 
position:absolute; 
 
z-index: 1000; 
 
width: 680px; 
 
/* height: 50px;*/ 
 
font-weight: bold; 
 
}
<div class="content"> 
 
    <div class="header"> 
 
    </div> 
 

 
<a name="172016"> 
 
    <!--1. riadok H--> 
 
<table cellspacing="0" cellpadding="0" border="0"> 
 
<tr> 
 
<th width="50px">C. u.</th> 
 
<th width="30px">Zobrazit</th> 
 
<th width="30px">Typ</th> 
 
<th width="220px">Cislo/Meno</th> 
 
<th width="650px">Popis</th> 
 
<th width="130px">System</th> 
 
<th width="100px">Dopad/Symptom</th> 
 
<th width="100px">Dátum zadania</th> 
 
<th width="100px">Dátum vzniku</th> 
 
<th width="100px">Datum Verifikacie</th> 
 
<th width="80px">Ukoncenie</th> 
 
<th width="100px">Dátum</th> 
 
</tr> 
 
<!--2. riadok D--> 
 
<tr> 
 
<td style="text-align:center">100</td> 
 
<td style="text-align:center">X</td> 
 
<td style="text-align:center">C </td> 
 
<td>DOBRIKOVA/DURACKA</td> 
 
<td class="ht"> Gefco PC nasa siet CD vs finalne riesenie internet gefco pc CORAIL <span class="tooltip">ked sa vytvara uplne novu hypotheza tak nefunguje vyber tlaciarni a globalny export tiez NOK (nepouzivame)</span></td>  
 
<td>CORAIL/CONSO</td> 
 
<td></td> 
 
<td class="DZ">06/07/2016</td> 
 
<td class="DZ">06/07/2016</td> 
 
<td class="DZ">06/07/2016</td> 
 
<td style="text-align:center">OK</td> 
 
<td class="Bezborder" style="text-align:center">07/07/2016</td> 
 
</tr> 
 
<!--3. riadok D--> 
 
<tr> 
 
<td style="text-align:center">101</td> 
 
<td style="text-align:center">X</td> 
 
<td style="text-align:center">C </td> 
 
<td>DOBRIKOVA/DURACKOVA</td> 
 
<td class="ht"> Gefco PC nasa siet CD vs finalne riesenie internet gefco pc CORAIL <span class="tooltip">ked sa vytvara uplne novu hypotheza tak nefunguje vyber tlaciarni a globalny export tiez NOK (nepouzivame)</span></td> 
 
<td>CORAIL/CONSO</td> 
 
<td></td> 
 
<td class="DZ">06/07/2016</td> 
 
<td class="DZ">06/07/2016</td> 
 
<td class="DZ">06/07/2016</td> 
 
<td style="text-align:center">OK</td> 
 
<td class="Bezborder" style="text-align:center">07/07/2016</td> 
 
</tr>

+0

Это почти это! Но есть проблема. Его изменение высоты, а не ширины. Мне нужно, чтобы она была максимальной шириной 680 пикселей после достижения этого предела, она перейдет к следующей строке. Но теперь, когда вы добавляете короткий текст типа «эй», он все равно будет 680 пикселей. – Fred007

+0

положить max-width: 680px; to.tooltip класс и удалить ширину: 680px; он будет работать –

+0

insted ширины: 680px; попробуйте max-width: 680px; он работает –

0

В вашем коде у вас есть фиксированное значение для ширины и высоты всплывающей подсказки.

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

Редактировать на основе вашего комментария.

Если вам нужно сохранить некоторое пространство между подсказкой и портом просмотра, вы можете использовать свойство margin, это позволит разместить некоторое пространство на каждой стороне вашего всплывающей подсказки.

Попробуйте закомментировать как в примере наблюдения:

https://jsfiddle.net/d4m5hj6f/6/

.tooltip { 
    position:absolute; 
    display: none; 
    background-color: #fafbb8; 
    border: 1px solid black; 
    border-radius: 4px; 
    margin: 28px; 
    padding: 10px; 
    position:absolute; 
    z-index: 1000; 
    /*width: 680px;*/ 
    /*height: 50px;*/ 
    font-weight: bold; 
} 
+0

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

Смежные вопросы