Ответ 1
Благодаря ответу FelipeAls этот код сделал это:
table {
table-layout: fixed;
word-wrap: break-word;
}
Другая возможность - не использовать перенос слов, но иметь что-то вроде ...
Ниже приведен контент, который обычно генерируется динамически. В основной части страницы есть <div class="span6">
. Иногда таблица в этом div становится шире, чем сама div (я проверил css, ширина установлена на 100%). Если я помещу только короткий текст в таблицу, или если я сделаю div шире, все будет в порядке.
Вопросы:
div class=spanX
? Я всегда думал, что элемент блока принимает ширину своего родителя?td
таблицы может отличаться. Как предотвратить рост таблицы по сравнению с div? Конечно, я могу динамически проверять количество символов в ts
, но что мне делать с этой информацией?HTML:
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="utf-8">
<title>MySite</title>
<meta name="author" content="me"/>
<link href="static/css/bootstrap.css" rel="stylesheet">
<link href="static/css/bootstrap-responsive.css" rel="stylesheet">
<link href="static/profhase.css" rel="stylesheet">
<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script type="text/javascript" src="static/bootstrap/js/bootstrap.js"></script>
<body>
<div class="navbar navbar-inverse navbar-fixed-top">
<div class="navbar-inner">
<div class="container">
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</a>
<ul class="nav">
<li><a class="brand" href="profhase">MyBrand</a></li>
<li><a href="#">Home</a></li>
<li><a href="#about">About</a></li>
<li><a href="#contact">Blog</a></li>
</ul>
<div class="nav pull-right collapse nav-collapse" style="hight: 0px">
<ul class="nav collapse nav-collapse">
<li><p class="navbar-text">Apps: </p></li>
<li><a href="firstapp/">AppOne <i class="icon-lock"></i></a></li>
</ul>
</div>
</div>
</div>
</div>
<div class="container-fluid">
<div class="row">
<div class="span2">
<p>
My Wonderful sidebar
</p>
</div>
<div class="span6" style="background:red;">
<table class="table">
<tbody>
<tr>
<th>Header1</th>
<th>Header2</th>
<th>Header3</th>
<th>Header4</th>
<th>Header5</th>
<th>Header6</th>
</tr>
<tr>
<td>My first Test</td>
<td>My second Test</td>
<td>My third Test</td>
<td>My fifth Test</td>
<td>My lalalalalong long lelong long long Test</td>
<td>
<div class="btn-group">
<a class="btn dropdown-toggle" data-toggle="dropdown">
Dropdown Choices <span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li><a id=1>First wonderful choice</a></li>
</ul>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</body>
Благодаря ответу FelipeAls этот код сделал это:
table {
table-layout: fixed;
word-wrap: break-word;
}
Другая возможность - не использовать перенос слов, но иметь что-то вроде ...
Я заметил, что родительский элемент span6
отображается как table
, но span6
плавает. Удаление float и настройка span*
на display: table-cell
работают: fiddle
Примечание: в TB может быть более подходящий класс, чем span*
, класс, который уже имеет display: table-cell
.
Другое решение, но, вероятно, не то, чего вы хотите достичь: метод "элемента с overflow: hidden;
рядом с плавающим элементом": Рабочая скрипка
Объяснение этой магии называется блок форматирования контекста (блог TJ Koblentz) - вопрос о SO