I find it difficult to find a solution to the following problem.
Let me illustrate it first

Situation
I have 26 elements (in this example, in general, the number is unknown ..), but only 12 can be seen at a time. I also have some navigation items (green fields)
The width of the purple and green boxes is fixed, but the height of the purple color may vary depending on the contents.
Everything is fine and I can do it with css.
I am using an unordered list (of floating elements) for my elements, and I have assigned the first two <li> elements as navigational ones. First float left and left. All this works, and the flow of the remaining items goes between two green ones.
Problem
But now I need green elements that will be in the second line (or, if the last concept helps, since there will only be two lines)
I want to be able to hide the first X-elements and show the next X, and they fall into position independently.
To rephrase the question, can I put some elements (green) in such a way as to control their position, but still allow them to interfere with the flow from their new locations?
Hope this is clear. If you don’t ask, I will provide as much information as possible.
Things I tried that didn't work
- Move a green element with negative lower margins or positive upper margins. They will leave, but other elements will not fill their position.
- Using absolute position, but then the elements are completely removed from the stream, and they do not affect other elements, so they overlap with other elements.
[they are hidden, the elements are hidden, I just show them so you know that they exist ..]
Invalid code to run
<style type="text/css"> ul,li{padding:0;margin:0; list-style-type:none;} ul{ width:155px; position:relative; height:125px; border:1px solid red; } li{ float:left; background-color:purple; margin-left:5px; margin-top:5px; width:25px; text-align:center; line-height:25px; color:white; } .prev{ color:black; background-color:green; } .next{ color:black; float:right; margin-right:5px; background-color:green; } </style>
and
<body> <ul> <li class="prev"><</li> <li class="next">></li> <li>1</li> <li>2</li> <li>3</li> <li>4</li> <li>5</li> <li>6</li> <li>7</li> <li>8</li> <li>9</li> <li>10</li> <li>11</li> <li>12</li> <li>13</li> <li>14</li> <li>15</li> <li>16</li> <li>17</li> </ul> </body>