Description of the need
Using CKEditor or not, it's possible to add tables to a textarea (if the filter allows it). It's not hard to make a table not responsive this way, but hard to fix that. Looking online there are different approaches to make a table look better on mobile, but most are fairly bespoke. Looking for a fairly easy way for end users to add tables and have them be responsive.
Proposed solution
What I like about Bootstrap's approach is that it just adds one class so it's easy to make a table look not terrible on mobile. Their approach is to add a wrapping div around the table with the table-responsive
class.
The nice thing is that this approach can be used in addition to the more bespoke approaches (such as turning the table elements into display: block
and hiding the thead
row on small screens).
It would be easy to at least add this to Basis:
.table-responsive {
overflow-x: auto;
position: relative;
}
And perhaps a bit of JS to add the wrapping div around tables like this:
(function ($) {
"use strict";
/**
* Wrap tables in div to make them responsive.
*/
Backdrop.behaviors.tableResponsive = {
attach: function (context, settings) {
$('table', context).once('table-responsive', function () {
var $table = $(this);
$table.wrap('<div class="table-responsive"></div>')
});
}
};
})(jQuery);
The JS could be more selective if needed, though I'm not sure if it is. This would add the div around tables inserted in a textarea as well as tables created with Views.
Alternatives that have been considered
The CKEditor table button could have a "Make table responsive" checkbox which would add the div at the same time. Then the class would need to be in a core module, not Basis. There could also be a separate checkbox in a View when using the table style.
Other
I'm currently using the first approach in a custom theme so a client's site can be more responsive now, but it would be good to have an option in core.
Recent comments
@onyx, you mentioned block_settings[body][value]. If your block has a body field: did you maybe switch the editor to source mode before saving the block? I'm asking because I recently...
update block doesn't work ( bug ? )
Hi Harold. Welcome to Backdrop. If you would like to start attending the meetings, which start at 19:00 UTC nearly every Thursday, I recommend finding out more at https://backdropcms.org/news/...
October 2, 2025 Weekly Meeting
I'm seeing same issue. Multiple browsers, computers. Using the inspect element I have seen that the payload passed to /system/ajax is the old block_settings[body][value], not the new value...
update block doesn't work ( bug ? )