Ячейка по размеру контента при фиксированной таблице
Всем доброго времени суток.
Столкнулся с такой проблемой: http://jsfiddle.net/os77p8w6/ Нужно, чтобы правая ячейка с кнопками была по размеру контента. Принудительно задать ширину не могу, так как кнопок может быть разное количество. Можно конечно сделать width: 0, но с table-layout: fixed такое не работает, а его я убрать не могу, так как в первой ячейке мне нужен overflow: hidden для скрытия большого текста с помощью text-overflow. Рукож*пить с кучей вложенных элементов не хочется. Есть идеи? |
|
Цитата:
А тут ты уже табличку намастырил их ДИВов... Что у тебя вообще есть? Одну строчку нужно сделать? Дабы понять, что вообще можно делать. |
Decode, спасибо, вариант хороший, думал о нём, но поддержка flex не очень радует.
Цитата:
То что кинул выше - это шапка для окна: слева название, а справа - кнопки управления (закрыть, свернуть, помощь и т.д.). Всё это делается очень легко, если бы не text-overflow, так как нужно, чтобы длинный текст переходил в точки. Поэтому и пришла сразу идея сделать двумя ячейками, но вот никак не могу из-за table-layout: fixed выставить width: 0 для правой ячейки (или width: 100% для левой) - начинает уезжать за пределы родителя. ![]() |
Цитата:
|
Ruslan_xDD, как вариант...
<!DOCTYPE html> <html> <head> <meta http-equiv='Content-Type' content='text/html; charset=windows-1251' /> <!-- <script src='http://code.jquery.com/jquery-latest.js'></script> <script src="https://code.angularjs.org/1.3.9/angular.min.js"></script> <script src="https://code.angularjs.org/1.3.9/angular-route.js"></script> --> <style type='text/css'> * { margin: 0; padding: 0; } .window { width: 200px; height: 100px; margin: 10px; border: 1px solid #AAA; } .title { overflow: hidden; background: #AAA; } .tit-command { float: right; background: #777; } .tit-command > div { background: green; display: inline-block; height: 25px; margin: 0 5px; vertical-align: top; width: 25px; } .tit-text { overflow: hidden; } .tit-text > p { white-space: nowrap; /* Отменяем перенос текста */ overflow: hidden; /* Обрезаем содержимое */ text-overflow: ellipsis; /* Многоточие */ } </style> <script type='text/javascript'> </script> </head> <body> <div class='window'> <div class='title'> <div class='tit-command'> <div></div> <div></div> <div></div> </div> <div class='tit-text'> <p> Бессознательное вызывает контраст, это обозначено Ли Россом как фундаментальная ошибка атрибуции, которая прослеживается во многих экспериментах. </p> </div> </div> </div> </body> </html> У меня в Опере, ФФ, Хроме и ИЕ9 работает... |
|
ksa, обтеканием значит... так и знал, что туда нужно копать. :) Только overflow:hidden в tit-text и title я полагаю не нужен, вроде и без него работает. Или всё-таки для чего-то значит? :) Но как бы там не было, спасибо тебе! :)
![]() |
Цитата:
В tit-text он как раз задает "блочный контекст". Это важно если у тебя фоны элементов будут разные... Или у элементов есть еще какое-то оформление... |
Вот смотри, для наглядности.
<!DOCTYPE html> <html> <head> <meta http-equiv='Content-Type' content='text/html; charset=windows-1251' /> <!-- <script src='http://code.jquery.com/jquery-latest.js'></script> <script src="https://code.angularjs.org/1.3.9/angular.min.js"></script> <script src="https://code.angularjs.org/1.3.9/angular-route.js"></script> --> <style type='text/css'> * { margin: 0; padding: 0; } .window { width: 200px; height: 100px; margin: 10px; border: 1px solid #AAA; } .title { overflow: hidden; background: #AAA; } .tit-command { float: right; border: 1px dashed; } .tit-command > div { background: green; display: inline-block; height: 40px; margin: 0 5px; vertical-align: top; width: 25px; } .tit-text { overflow: hidden; border: 1px dashed; } .tit-text > p { white-space: nowrap; /* Отменяем перенос текста */ overflow: hidden; /* Обрезаем содержимое */ text-overflow: ellipsis; /* Многоточие */ } </style> <script type='text/javascript'> </script> </head> <body> <div class='window'> <div class='title'> <div class='tit-command'> <div></div> <div></div> <div></div> </div> <div class='tit-text'> <p> Бессознательное вызывает контраст, это обозначено Ли Россом как фундаментальная ошибка атрибуции, которая прослеживается во многих экспериментах. </p> </div> </div> </div> </body> </html> Если начнешь убирать Цитата:
|
Часовой пояс GMT +3, время: 15:10. |