2012-10-23 1 views
1

У меня есть таблица с двумя столбцами. Второй столбец должен ВСЕГДА показать, что это контент, и ширина должна автоматически рассчитываться на основе содержимого. Первый столбец должен быть как можно шире до определенной точки (максимальная ширина). К сожалению, я использую только WPF, а не HTML. В WPF я хотел бы написать следующее:Использовать CSS для автоматического определения содержимого ширины

<Grid.ColumnDefinitions> 
    <ColumnDefinition Width="*" MaxWidth="600" /> 
    <ColumnDefinition Width="Auto" /> 
</Grid.ColumnDefinitions> 

Мой HTML является:

<colgroup> 
    <col class="fullWidthCol" /> 
    <col class="autoWidthCol" /> 
</colgroup> 

Мой CSS является:

.fullWidthCol { 
    width: 100%; 
    max-width: 600px; 
} 

.autoWidthCol { 
    overflow: auto; 
} 

Я уверен, что я даже не близко. Он игнорирует мою максимальную ширину и оценивает первый столбец настолько, насколько это возможно, нажав второй столбец справа от экрана.

ответ

0

Похоже, td не принимает спецификацию max-width. Просто используйте width; на td, width будет иметь такой же эффект.

Пример:

table 
{ width: 100%; } 

.fullWidthCol 
{ width: 300px; } 

<table border="1"> 
    <tr> 
    <td class="fullWidthCol">The first column should be as wide as possible up to a certain point (max width). </td> 
    <td class="autoWidthCol">The second column should ALWAYS show it's content perfectly and the width should be automatically calculated based on the content. </td> 
    </tr> 
</table> 

Или увидеть http://jsfiddle.net/HdSA2/.

+0

Это не работает. Первый столбец - 300 пикселей, а другой - навсегда. Я не могу указать «300px», потому что контент изменяется и является динамическим. Он просто нуждается в размере, чтобы соответствовать всем, что в нем. Другая колонна не может расти вечно; он должен остановиться в определенный момент. Возможно, это невозможно? – Paul

+0

Полагаю, я в замешательстве. Вы хотите, чтобы первый столбец был X-пикселем или меньше? JSfiddle делает это. Как вы хотите, чтобы второй столбец был ограничен? Вам нужно ограничить всю ширину таблицы? – KatieK

+0

JSFiddle этого не делает. Вторая колонка в JSFiddle растет вечно. Я хочу, чтобы вторая колонка увеличивалась по мере роста таблицы, но мне нужна максимальная ширина. Первый столбец всегда равен 300px. Я хочу, чтобы он был настолько большим, насколько он должен был основываться на контенте. Возможно, это просто невозможно в CSS. – Paul