2016-11-21 4 views
2

У меня есть стол с span элемент в th. Я хочу ширина пролета, чтобы соответствовать й, но на самом деле он заполняет всю строку :(Площадь внутри ширины

Мой код:.

for (var i = 0; i < testInfoFieldsNames.length; i++) { 
     title = testInfoFieldsNames[i].toLowerCase(); 

     th = $('<th></th>'); 
     span = $('<span></span>').addClass('cell-container').text(title); 
     th.append(span); 
    } 

    tableHeader.append(th); 

CSS:

.cell-container { 
    position: absolute; 
    display: block; 
    top: 5px; 
    left: 0; 
    width: 100%; 
    text-overflow: ellipsis; 
    white-space: nowrap; 
    overflow: hidden; 
} 

Как я могу установить ширину диапазона для заполнения й только?

+8

Ваш диапазон выглядит подозрительно, как 'div' –

+1

То есть' div' внутри переменная 'span', вы уверены, что так? –

+0

@RoryMcCrossan вы красота! – ScanQR

ответ

0

я думаю, вы должны дать го стиля, как:

th{ 
    position:relative; 
} 
+0

Спасибо! это действительно решило проблему! Знаете ли вы, чтобы объяснить, почему? –

+0

Не оставляйте место для элемента. Вместо этого поместите его в указанное положение относительно его ближайшего расположенного предка, если таковое имеется, или иначе относительно исходного содержащего блока. Абсолютно расположенные поля могут иметь поля, и они не сжимаются с любыми другими полями. – JKong

+0

@rkfred [https://developer.mozilla.org/en-US/docs/Web/CSS/position] u можете найти ответ на этой веб-странице – JKong

0

Пожалуйста, попробуйте это я думаю, что это будет работать для вас.

пожалуйста, проверьте этот пример link

for (var i = 0; i < testInfoFieldsNames.length; i++) { 
     title = testInfoFieldsNames[i].toLowerCase(); 

     th = $('<th><span class="cell-container">'+title+'</span></th>'); 
    } 

    tableHeader.append(th); 

CSS

span.cell-container { 
    display: block; 
    top: 5px; 
    left: 0; 
    width: 100%; 
    text-overflow: ellipsis; 
    white-space: nowrap; 
    overflow: hidden; 
} 
+0

Благодарим вас за ответ. Он работает так же, как и предыдущий код. Он действительно добавляет «th's with» span. но span по-прежнему заполняет всю строку вместо ячейки. –

+0

@rkfred Проблема с тегом позиции CSS, пожалуйста, удалите его или замените его на «position: relative;» –

+1

@rkfred его работа, пожалуйста, отредактируйте CSS и попробуйте и для более подробной информации перейдите по ссылке –

-1

'пядь' Tag является встроенный элемент. Он не имеет ширины и высоты. Вы должны использовать «DIV» или установить следующее свойство

display:block; 
+0

Спасибо! Я действительно использую это свойство в моем css, но ширина диапазона все еще заполняет всю строку. –

Смежные вопросы