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
I don't have leaflet, but I have experienced random disappearances of the bar over the years. I quit spending time on it, but not before adjusting the css spacing, which did reduce the number of...
Disappearing administration bar. Is this a Leaflet or a Backdrop bug?
OK, @izmeez, well I have just created a Virtual Machine running Ubuntu 24 and installed the same Backdrop Site as is on the Laptop and It is working fine, so there must be something odd about...
Write Permission Problems on files, ../private and /tmp on my Laptop
Nope, SELinux is not installed. I am running Ubuntu with the KDE Plasma Desktop. Aparmour is enabled by default on both machines I have enabled another site on the Laptop and am...
Write Permission Problems on files, ../private and /tmp on my Laptop