Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Right floated element disappears when using columns in Firefox

I am using an ol element with column-count and column-gap properties to display the list in 2 columns. Each list item has a span element floated right, which does not get displayed for some items such as 3 and 4 in the image below.

Firefox column floated right issue image

.list {
  column-count: 2;
  column-gap:60px;
}

.close {
  float: right;
}
<ol class="list">
  <li>Test 1
    <span class="close">&times;</span>
  </li>
  <li>Test 2
    <span class="close">&times;</span>
  </li>
  <li>Test 3
    <span class="close">&times;</span>
  </li>
  <li>Test 4
    <span class="close">&times;</span>
  </li>
  <li>Test 5
    <span class="close">&times;</span>
  </li>
</ol>

I am using Firefox Quantum 58.0.2 (64bit), and have tried latest Chrome, Edge, and Opera which works fine.

like image 786
Jackson Avatar asked Dec 08 '25 17:12

Jackson


2 Answers

Downgraded Firefox back to version 55.0 and the problem was fixed. I reported the bug to mozilla here: https://bugzilla.mozilla.org/show_bug.cgi?id=1441048

like image 119
Jackson Avatar answered Dec 10 '25 05:12

Jackson


For me, it seems to be a bug. I can imagine at least two fixes:

Add a list item if you have an odd number of list items

This is a hacky workaround:

.list {
  column-count: 2;
  column-gap: 60px;
}

.list > li:last-child {
  visibility: hidden;
}

.close {
  float: right;
}
<ol class="list">
  <li>Test 1
    <span class="close">&times;</span>
  </li>
  <li>Test 2
    <span class="close">&times;</span>
  </li>
  <li>Test 3
    <span class="close">&times;</span>
  </li>
  <li>Test 4
    <span class="close">&times;</span>
  </li>
  <li>Test 5
    <span class="close">&times;</span>
  </li>
  <li></li>
</ol>

Use absolute positioning

I think, this is the better solution:

.list {
  column-count: 2;
  column-gap:60px;
}

.list > li {
  position:relative;
}

.close {
  position: absolute;
  right: 0;
}
<ol class="list">
  <li>Test 1
    <span class="close">&times;</span>
  </li>
  <li>Test 2
    <span class="close">&times;</span>
  </li>
  <li>Test 3
    <span class="close">&times;</span>
  </li>
  <li>Test 4
    <span class="close">&times;</span>
  </li>
  <li>Test 5
    <span class="close">&times;</span>
  </li>
</ol>
like image 43
Anonymous Avatar answered Dec 10 '25 06:12

Anonymous



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!