Я хочу знать, как создать таблицу, в которой можно настроить ширину столбцов. Я так и не понял, как это сделать. Если вы знаете секрет этой техники, дайте мне знать.
Хотя я мог «заглянуть под кимоно», я попросил у квеста объяснить ответ.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Я считаю, что это так же просто, как захват события щелчка мыши в области на краю заголовка ячейки, а затем динамическое изменение ширины столбца при перетаскивании мыши.
Понятие простое, реализация сложная.
Виджет Yahoo UI (YUI) Таблица данных позволяет изменять размер столбцов. Он общедоступен, но все еще находится в стадии бета-тестирования, а библиотека YUI довольно громоздка. Любая реализация должна быть на JavaScript / DHTML, потому что таблицы HTML по умолчанию не имеют таких возможностей.
Вы ищете эффект внешнего вида или есть <->, чтобы показать вам, как изменить размер таблицы?
Звучит достаточно просто.
Нет простого ответа, такого как «используйте какое-нибудь свойство foobar html».
Это делается с помощью манипуляций с javascript и DOM.
Если вам интересно увидеть реализацию этой функции с помощью Prototype, вы можете взглянуть на TableKit.
Я уверен, что там есть реализации jQuery ... Мне нравится мой старый добрый прототип;)
Flexigrid для jQuery кажется довольно приятным.
Обновлять: Согласно комментарию @Vincent использование действительно простое ... см. Сайт для получения полной информации, однако для самого простого примера - включите скрипт, а затем подключите функциональность к своей таблице:
$('#myTableID').flexigrid();
или с опциями:
$('.classOfTables').flexigrid({height:'auto',striped:false});
Я не знаю, почему это не было выбрано в качестве выбранного ответа или почему за него не проголосовали больше, но это действительно полезно. Спасибо!
Хотя эта сетка имеет регулируемую ширину столбцов, она не отвечает на вопрос о том, как реализовать такую функциональность в настраиваемой таблице.
На данный момент Flexgrid практически не обслуживается. Сайт не работает, github не обновлялся с 2014 года и т. д.
Добавьте этот CSS, чтобы сделать ширину столбцов таблицы регулируемой ...
th {resize:horizontal; overflow:auto;}
Чистое золото прямо здесь ...
Применение resize:horizontal к <th> не помогло с моим FF58. Вместо этого я создал <div> в каждом из них и сделал его изменяемым:
.mytable th div{
resize:horizontal;
overflow: auto;
}
Вы знаете, что можете просто посмотреть исходный код страницы в своем браузере, и он расскажет вам, как они это делают, не так ли?