Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.08.2020, 16:57
Интересующийся
Отправить личное сообщение для Lun2 Посмотреть профиль Найти все сообщения от Lun2
 
Регистрация: 28.08.2017
Сообщений: 14

Как сделать, чтобы текст не усекался в пределах родительского элемента?
Добрый вечер!
На html-странице программно создан и размещен div-контейнер со свойством overflow=auto, чтобы при необходимости от скроллировался.
В контейнере также программно создана таблица.
Здесь все работает нормально.

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


for (let i = 0; i < hovers.length; i++) {
            // добавляем данные в таблицу
             var row = tab.insertRow(i);
             
             // выводим tagname
             var cell = row.insertCell(1);

            // здесь создается подсказка - tooltip  к ячейке cell
             cell.textContent = "tag=" + hovers[i].tagName;
             cell.classList.add("tooltipStyle");
             var info = "tooltip " + i;
             cell.setAttribute("data-info", info);                  
        }

Появление tooltip'a обеспечивается CSS:

.tooltipStyle:hover:after {
    overflow: visible;
    position: absolute;
    content: attr(data-info);
    font-size: 16px;
    background: rgba(5,13,156,.55);
    color: #fff;
    left: 80px;
}



Проблема в том, что текст tooltip'a усекается (переносится) на границе div-контейнера.
Мне же необходимо, чтобы (1) tooltip не усекался вообще и, одновременно (2) таблица бы не вылезала за div.
(2) - работает, (1) - не получается.

Подскажите, пожалуйста, каким образом можно сделать, чтобы tooltip не усекался.
Ответить с цитированием
  #2 (permalink)  
Старый 02.08.2020, 17:05
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

Lun2,
может минимальный макет тут, но целиком?

например:
[html run]
... минимальный код страницы с вашей проблемой
[/html]

О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
Ответить с цитированием
  #3 (permalink)  
Старый 02.08.2020, 17:41
Интересующийся
Отправить личное сообщение для Lun2 Посмотреть профиль Найти все сообщения от Lun2
 
Регистрация: 28.08.2017
Сообщений: 14

Сообщение от рони Посмотреть сообщение
Lun2,
может минимальный макет тут, но целиком?

например:
[html run]
... минимальный код страницы с вашей проблемой
[/html]

О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
Рони, макета нет, т.к. все элементы, о которых я пишу генерируются динамически на JS и добавляются на страницу.
Сам код JS - это Web extension для FF, он подгружается на любую доступную страницу.
Ответить с цитированием
  #4 (permalink)  
Старый 03.08.2020, 22:55
Интересующийся
Отправить личное сообщение для Lun2 Посмотреть профиль Найти все сообщения от Lun2
 
Регистрация: 28.08.2017
Сообщений: 14

рони,
я перенес в codepen участок программы и CSS, чтобы можно было посмотреть, если есть возможность, как это выглядит вживую.
https://codepen.io/FTOR2/pen/rNeBJaY?editors=1111

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

Также не совсем понятно, почему контейнер myDiv (с зеленой рамкой) меняет ширину. Мне бы хотелось, чтобы его ширина не менялась.
Ответить с цитированием
  #5 (permalink)  
Старый 03.08.2020, 23:27
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

Lun2,
.tooltipStyle{
   position:  relative;
}
Ответить с цитированием
  #6 (permalink)  
Старый 03.08.2020, 23:42
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,704

white-space: nowrap;
Ответить с цитированием
  #7 (permalink)  
Старый 03.08.2020, 23:46
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,704

рони,
Если так, то тултип будет не виден полностью, а только в пределах дива.
Но с absolute тоже проблема. Тултип появляется на том месте, который занимал элемент до скролла (!?)
Почему?
Ответить с цитированием
  #8 (permalink)  
Старый 03.08.2020, 23:49
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

Сообщение от voraa
Почему?
нужен специалист по css.
Ответить с цитированием
  #9 (permalink)  
Старый 04.08.2020, 21:37
Интересующийся
Отправить личное сообщение для Lun2 Посмотреть профиль Найти все сообщения от Lun2
 
Регистрация: 28.08.2017
Сообщений: 14

Сообщение от voraa Посмотреть сообщение
white-space: nowrap;
voraa, спасибо - это спасает от переносов.

Кстати, по этой работе у меня еще один вопрос.

В CSS объявлен стиль .resizeBlock - маленький желтый квадратик.
В программе - это переменная myDiv2, добавляется в качестве дочернего к myDiv.

Я хотел, чтобы он появлялся в правом нижнем углу и задал такие свойства:

.resizeBlock {
	position: absolute;
	[B]bottom: 0px;
	right: 0px;[/B]
	width: 10px;
	height: 10px;
	cursor: nwse-resize;
	background-color: yellow;
}


К правому краю он хорошо прижимается, а вот к нижнему - не хочет.

Не могли бы подсказать, почему и как прижать его к нижнему краю.
Ответить с цитированием
  #10 (permalink)  
Старый 05.08.2020, 04:20
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Lun2
bottom: 0px;
А 0px и 0% или иное ноль имеют разницу? Зачем единицы то указывать.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как сделать чтобы в popup окне показывалось картинка? sarik Общие вопросы Javascript 31 15.03.2013 13:12
как сделать так чтобы в popup окне принимался css стили,? sarik Общие вопросы Javascript 2 12.03.2013 10:24
как сделать чтобы когда убираю галочку с чекбокса то текст убралось:) ? sarik Общие вопросы Javascript 9 27.02.2013 15:03
lastChild работает в IE, как тут быть? Puaris83 Firefox/Mozilla 4 17.04.2010 23:56
Как сделать чтобы text() брал только текст родителя без текста вложенных контейнеров? Andrey32 jQuery 3 23.05.2009 01:33