Ячейка по размеру контента при фиксированной таблице
Всем доброго времени суток.
Столкнулся с такой проблемой: 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, время: 00:20. |