Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to exclude the first item in a flexbox wrap?

Tags:

css

flexbox

Is there a way to exclude the first item in a flex wrap other than reorder the markup?

<div class="container">       <div id="tobeexcluded">abc</div>   <div class="flexitem">content</div>   <div class="flexitem">content</div>   <div class="flexitem">content</div> </div> 

EDIT: I've tried now

:not(:first-child) 

and also

:not(#tobeexcluded) 

but it's not working. This is the actual class construction, it's a drupal view:

.view-id-reference_list .view-content:not(:first-child) { display: flex flex-flow: wrap } 

Fiddle: https://jsfiddle.net/m62090za/4/

Here's what i want: https://jsfiddle.net/Lxhpwqzn/1/ but without changing the markup.

like image 658
Volker Avatar asked Apr 07 '16 07:04

Volker


People also ask

How do I exclude items from Flex?

You can give the element position: absolute and it will be taken out of the flow, just as you would do with a non-flex element. You can find the updated jsfiddle here. The url to the link is pointing to codepen (not jsfiddle) which is giving a 404 error.

Can we change the order of Flex items?

Flex items are displayed in the same order as they appear in the source document by default. The order property can be used to change this ordering.

How do you get 3 items per row on flexbox?

For 3 items per row, add on the flex items: flex-basis: 33.333333% You can also use the flex 's shorthand like the following: flex: 0 0 33.333333% => which also means flex-basis: 33.333333% .


1 Answers

Is there a way to exclude the first item in a flex wrap other than reorder the markup?

After some initial confusion we now understand that what is actually required is for the content to wrap after the first div.

Obviously, the simplest method to achieve this is for the first div to be 100% wide of the parent.

.view-container .view-content {    display: flex;    flex-wrap: wrap;    justify-content: space-between;  }  .filterbox {    flex: 0 0 100%;  }
<div class="view-container">    <div class="view-content">      <div class="filterbox">FILTER</div>      <div class="flex-item">        Flex-ITEM      </div>      <div class="flex-item">        Flex-ITEM      </div>      <div class="flex-item">        Flex-ITEM      </div>    </div>  </div>
like image 122
Paulie_D Avatar answered Oct 08 '22 04:10

Paulie_D