CSS-BS2-001
row-fluid span12
Bootstrap 2 markup (row-fluid / span*)
Joomla 3 templates (Protostar, Beez, club templates) used Bootstrap 2. Joomla 4/5/6 admin and Cassiopeia use Bootstrap 5. Old class names do nothing — the layout collapses into one column.
row-fluid span12 → Bootstrap 5: row + col-*
Symptoms people search
template layout broken after upgrade · everything in one column · module chrome looks like 2012 · row-fluid does nothing
Replace this code
Swap row-fluid span12 for Bootstrap 5: row + col-*.
Joomla 3
Remove or stop calling this
<div class="row-fluid">
<div class="span8">...</div>
<div class="span4">...</div>
</div>
<button class="btn btn-small pull-right">Joomla 4 / 6
Use this instead
<div class="row">
<div class="col-md-8">...</div>
<div class="col-md-4">...</div>
</div>
<button class="btn btn-sm float-end">How to fix it
- 1Replace row-fluid with row.
- 2Replace span1–span12 with col-md-* (or col-*).
- 3pull-left/right → float-start/end. hide → d-none. img-responsive → img-fluid. btn-small → btn-sm.
- 4hero-unit and well have no 1:1 class — use spacing utilities or a card.
Also known as
row-fluid · span1 · span2 · span3 · span4 · span5 · span6 · span7 · span8 · span9 · span10 · span11 · span12 · offset1 · offset2 · offset3 · offset4 · pull-left · pull-right · hero-unit · nav-collapse · btn-mini · btn-small · input-block-level · element-invisible · hide · show · Bootstrap 2 · float-start · float-end · visually-hidden · form-control
Related issues
- Joomla 3 → 4JavaScript
behavior.framework (MooTools)
JHtml::_('behavior.framework') → Do not load MooTools — use vanilla JS or WebAssetManager
- Joomla 3 → 4JavaScript
JHtmlBootstrap::modal()
JHtmlBootstrap::modal() → HTMLHelper::_('bootstrap.renderModal')
- Joomla 3 → 4Joomla API
JHtmlBatch
JHtmlBatch → Layouts joomla.html.batch.*
- Joomla 3 → 4CSS / Bootstrap
Bootstrap 3 leftovers
col-xs-12 img-responsive hidden-xs → Bootstrap 5: col-*, img-fluid, d-none d-sm-block
- Joomla 3 → 4Templates
Beez / Beez3 templates
Beez3 → Cassiopeia
- Joomla 5 → 6Joomla API
Site dies when you disable Behaviour – Backward Compatibility
plg_behaviour_compat → Rewrite J* classes so BC5 can stay off, then upgrade to Joomla 6