After using the 21 day fix portion control containers for only 2 weeks (I'm 1/3 into the full program), I've already lost 10 pounds by using both the container system and the exercise program. I've tried to lose weight in the past by counting calories and while it works, it is exhausting to have to record each and every calorie. I love the container system because all you need to do is fill up your allotted containers per day, and you're guaranteed to lose weight. Portion control makes it just that simple. This is your ultimate 21 day fix containers guide to help you figure out how many containers you need to eat, what the exact container sizes and measurements are, and how to start your own 21 day challenge.
Check whether the layout manager you are using allows you to specify component sizes. Make sure that you really need to set the component's exact size. Each Swing component has a different preferred size, depending on the font it uses and the look and feel. For this reason, it often does not make sense to specify a Swing component's exact size. If you would like the label ends to overlap, however, all you need to do is add 1/4th of an inch to the width. Our label size calculator for round bottles is a great way to determine bottle label size. Since most bottles are round, one way to stand out is with a square bottle for a modern, geometric look.
Note: If you don't own the program, you can order it from Amazon at the link below. Remember that if you have gone through the original program and are looking to lose even more weight and get a more challenging workout, you might consider the 21 Day Fix Extreme program as your next investment.
If you have the official program, you will have also received the portion control containers to go along with the program. If you don't have the containers or perhaps you broke them, you might be wondering what the exact sizes are so you can DIY or order your own set with the same sizes.
The 21 Day Fix Kit Includes 7 Containers in Different Sizes:
- Purple Container for Fruit = 1 Cup or 8 ounces
- Green Container for Vegetables = 1 Cup or 8 oz
- Container for Proteins = 3/4 Cup or 6 oz
- Yellow Container for Carbohydrates = 1/2 Cup or 4 ounces
- Blue Container for Fats = 1/3 Cup or 2.5 oz
- 2 Orange Containers for Seeds and Salad Dressings = 2 Tablespoons or 1 ounce
Note: While these are the measurements on average if you do not have the containers, they are not the exact sizes of the containers. Each of the containers vary slightly in the program which is why it is recommended to purchase the official containers so you will have the greatest results when following the program.
Now let's begin the guide!
Where to Get the Containers:
Because of the popularity of this program, there are a number of affordable options for getting the containers with the exact sizes in ounces of the official program. There are many options available on Amazon according to your price range. Here are a list of our favorites:
#1: The Official Containers from Beachbody
These are the containers I personally own as I got them included when I ordered the 21 day fix program.
The set comes with all 7 of the color containers (including 2 orange ones). I like that I know they are for sure the exact size down to the vary ounce so I am getting accurate results with the program. Of course, there are other options that are more affordable such as the ones below:
#2: Basic Form Portion Control Containers Set
I also own a set of these containers in addition to the official set. The reason behind this is that I often like to plan my meals and snacks in advance. In this package, you get FOUR sets.
So rather than have to wash each container after every use, you can have several of them in the fridge packed up and ready to go. This also works great if you plan on doing the program with another family member in your household.
Read reviews on Amazon for the Basic Form Extra Large Set.
#3: Smart Diet Control 7 Piece Container Set
This is another option for portion control containers that match the 21 day fix program. The container sizes are the exact same as the Official containers. This set also includes a free e-book and recipe guide that goes along with the program.
This is a great option if you are hoping to order several sets to help you along with meal planning as the week goes by.
Have a look at the reviews and see which option suits you best.
Check reviews on Amazon for the Smart Diet Control set
#4: Beachbody Portion Fix and Fixate Cookbook Set
]I like this set because it contains both the containers and the cookbook to get you started with the program – and is the authentic product from Beachbody. The cookbook an amazing tool to have in your kitchen! While using the 21 day fix containers, it can be kind of boring to pick and choose from the same food groups every day.
Especially if you are cooking for a family and want to make a more complete meal for everyone who isn't dieting! But the Fixate cookbook has tons of healthy recipes to use with this program and tells you exactly how many containers to use for each recipe and how many constitute one serving and so forth. If you're following the container system, this is worth the investment.
>> Learn More about this set at Amazon.com
Finding My Caloric Bracket: How Many Containers do I need per day?
When following this program, it's important that you follow the eating plan according to your body type and your weight loss goals. You need to calculate how many calories you should eat each day in order to lose 2 pounds of fat a week and then choose the eating plan that will help you meet those goals.
In the official guidebook for the 21 day fix, they recommend you find out your calorie level by doing the following formula:
A: Take your current weight in lbs x 11 = Calorie Baseline
B: Calorie Baseline + 400 (Calories Burned during the Fix Program) = How many calories you need
C: Caloric Needs – 750 (Caloric deficit to lose weight) = Calorie Target for the Day
Let's do an example for a woman who weighs 175 pounds.
A: 175 pounds x 11 = 1925 (Calorie Baseline)
B: 1925 + 400 = 2,325 Calories needed per day
C: 2,325 – 750 = 1,575 Calories per day
That means that if a woman who weighs 175 pounds should consume 1,575 calories per day when following this program in order to lose weight.
How Many Calories Does This Program Actually Burn?
I have a big problem with the above formula and personally am not following it. My problem is that the booklet assumes you are burning 400 calories per workout. In my experience, this is NOT accurate. I own a FitBit and am tracking calories burned per workout.
The highest amount of calories I have burned is around 330 calories during the 28-30 minute workout. And I push myself HARD. And on the days where you are doing Yoga Fix or Pilates Fix, you will be lucky to burn 150 calories. If you want a workout that will help you burn 400+ calories, you'll need to workout for at least 40 minutes. I recommend checking out Beachbody's latest Core de Force workout program which has longer and more intense workouts.
Therefore, unless you are doing other forms of exercise throughout the day like walking or running, I would recommend subtracting another 150-200 calories from the total.
If you want to read more about how many calories you burn during the 21 day fix workout program, I wrote an in-depth post on this and included screenshots from my calorie monitor to show how many calories I burned in each workout.
I am currently following the 1200-1500 calorie bracket plan. And definitely eat less on the active recovery day where you only do 'Yoga Fix'.
Program Worksheets to Keep You on Track
I have made different worksheets for the 21 day fix for you to print off and use according to which calorie bracket you need to follow based on the above formula. You can print these off or laminate one and use a dry erase marker to help you tick off the containers as you consume them throughout the day.
1200-1499 Calorie Bracket Printable
Look at my new shop on Etsy to get a printable pdf for just a few dollars of the 1200-1500 Calorie Bracket Printable both in Large Size like the printable above and also a special 3 day – mini version! Or you can get the 5 page bundle pack which includes the day planner, food list, results tracker and meal planner! Everything you need to get started with this program!
Higher Calorie Bracket Printable Packages
For those needing a slightly higher calorie bracket, the following printables are for tracking the consumption of 1500-1799 Calories per day, 1800-2099 Calories and 2100-2300 Calories. Click on the image below to get the package at shop and view samples of each worksheet included!
How to Use The Containers and Follow the Nutrition Program:
There are 7 different colored containers that make eating simple by using portion control to help you lose weight. The 21 day fix container sizes vary according to each type. I've tried other eating plans before that require calorie counting or 'points' counting and I dreaded eating every day. The portion control containers make things SIMPLE.
You get to eat a certain amount of 21 day fix containers each day to stay within your calorie bracket. Don't go over this amount and you'll lose weight. Simple as that. By following the plan precisely, you'll stay within your calorie budget for the day and will lose weight effortlessly. Now let's review the containers:
What to Put in Each Container:
Purple: Fruits – You can enjoy fruits such as strawberries, apples, raspberries, etc.
Green: Veggies – You can eat delicious vegetables like carrots, cucumbers, bell peppers, etc.
Orange: Seeds and Dressings – Enjoy light salad dressings or seeds like pumpkin, sesame, etc.
Yellow: Carbs – Yes, please! Brown rice, oatmeal, and other complex carbohydrates are welcomed on the 21 day diet
Blue: Healthy Fats – Enjoy avocado, almonds and other nuts!
Red: Proteins – Turkey, chicken, tuna or non-meat substitutes can be enjoyed.
Most women will fall into either the 1200-1499 or 1500-1799 calorie bracket if they are trying to lose 2+ pounds a week. Men will generally fall into the last two categories as men require more calories per day than women. Consuming only 1200 calories a day was definitely a change for me. Drinking a lot of water helped reduce my cravings and hunger levels.
What is the best way to Meal Prep in advance?
While I have the original 21 day fix containers for this program, often one set is not enough when you are using multiple containers each day. I like to use this 10 piece container set to organize all of my meals for the day. I use the original containers as a base to divide into these containers so I can finish all my weekly meal planning in just a few hours!
>>Click here to order your own Chefland 10 piece container set
I hope this guide on how to use the containers has helped you understand more about what your caloric needs are. It's important to know which calorie bracket you fit into for maximum results. I'm only 2 weeks into the program and can't wait to see how much weight I lose after I finish it and begin a second round!
I hope this program guide has helped you and that you are enjoying the container worksheets I have provided for you! What other resources or tools are you using alongside this exercise program? Please comment with your thoughts below.
For additional resources and support, check out our featured articles on the right. Learn about some awesome recipes and meal planning ideas, additional exercises you can do and more! Providing you have the 21 day fix containers and tally sheets, weight loss is at your fingertips!
Flexbox was designed as a single dimensional layout, meaning that it deals with laying out items as a row or as a column — but not both at once. There is however the ability to wrap flex items onto new lines, creating new rows if flex-direction
is row
and new columns if flex-direction
is column
. In this guide I will explain how this works, what it is designed for and what situations really require CSS Grid Layout rather than flexbox.
Making things wrap
The initial value of the flex-wrap
property is nowrap
. This means that if you have a set of flex items that are too wide for their container, they will overflow it. If you want to cause them to wrap once they become too wide you must add the flex-wrap
property with a value of wrap
, or use the shorthand flex-flow
with values of row wrap
or column wrap
.
Items will then wrap in the container. In the next example I have ten items all with a flex-basis
of 160px
and the ability to grow and shrink. Once the first row gets to a point where there is not enough space to place another 160 pixel item, a new flex line is created for the items and so on until all of the items are placed. As the items can grow, they will expand larger than 160 px in order to fill each row completely. If there is only one item on the final line it will stretch to fill the entire line.
We can see the same thing happening with columns. The container will need to have a height in order that the items will start wrapping and creating new columns, and items will stretch taller to fill each column completely.
Wrapping and flex-direction
Containers Shrink To Exact Size You Need A Day
Wrapping works as you might expect when combined with flex-direction
. If flex-direction
is set to row-reverse
then the items will start from the end edge of the container and lay themselves out in reverse ordered lines.
Note that the reversing is only happening in the inline, row direction. We start on the right then go onto the second line and again start from the right. We aren't reversing in both directions, starting from the bottom coming up the container!
Single-dimensional layout explained
As we have seen from the above examples if our items are allowed to grow and shrink, when there are fewer items in the last row or column then those items grow to fill the available space.
There is no method in flexbox to tell items in one row to line up with items in the row above — each flex line acts like a new flex container. It deals with space distribution across the main axis. If there is only one item, and that item is allowed to grow, it will fill the axis just as if you had a single item flex container.
If you want layout in two dimensions then you probably want Grid Layout. We can compare our wrapped row example above with the CSS Grid version of that layout to see the difference. The following live sample uses CSS Grid Layout to create a layout that has as many columns of at least 160 pixels as will fit, distributing the extra space between all columns. However, in this case the items stay in their grid and don't stretch out when there are fewer of them on the final row.
This is the difference between one and two-dimensional layout. In a one dimensional method like flexbox, we only control the row or column. In two dimensional layout like grid we control both at the same time. If you want the space distribution row by row, use flexbox. If you don't, use Grid.
How do flexbox-based grid systems work?
Typically flexbox-based grid systems work by taking flexbox back to the familiar world of float-based layouts. If you assign percentage widths to flex items — either as flex-basis
or by adding a width to the item itself leaving the value of flex-basis
as auto
— you can get the impression of a two dimensional layout. You can see this working in the example below.
Here I have set flex-grow
and flex-shrink
to 0
to make inflexible flex items and am then controlling flexibility using percentages, just like we used to do in float layouts.
If you need flex items to line up in the cross axis, controlling the width in this way will achieve that. In most cases however, adding widths to flex items in this way demonstrates that you would probably be better served by switching to grid layout for that component.
Creating gutters between items
When wrapping flex items, the need to space them out is likely to arise. At the current time we do not have any implementations of the gap properties from the Box Alignment module for Flexbox. In the future we will be able to use row-gap
and column-gap
for flexbox as we do for CSS Grid. At the current time you will need to use margins to achieve this.
You can see from the live example below that in order to create gaps that do not also create a gap at the edges of the container, we need to use negative margins on the flex container itself. Any border on the flex container is then moved to a second wrapper in order that the negative margin can pull the items up to that wrapper element.
It is this requirement that the gap properties, once implemented, will solve for us. Proper gaps only happen on the inside edges of items.
Collapsed items
The flexbox specification details what should happen if a flex item is collapsed by setting visibility: collapse
on an item. See the MDN documentation for the visibility
property. The specification describes the behavior as follows:
'Specifying visibility:collapse on a flex item causes it to become a collapsed flex item, producing an effect similar to visibility:collapse on a table-row or table-column: the collapsed flex item is removed from rendering entirely, but leaves behind a 'strut' that keeps the flex line's cross-size stable. Thus, if a flex container has only one flex line, dynamically collapsing or uncollapsing items may change the flex container's main size, but is guaranteed to have no effect on its cross size and won't cause the rest of the page's layout to 'wobble'. Flex line wrapping is re-done after collapsing, however, so the cross-size of a flex container with multiple lines might or might not change.' - Collapsed items
This behavior is useful if you want to target flex items using JavaScript to show and hide content for example. The example in the specification demonstrates one such pattern.
In the following live example I have a non-wrapped flex container. The third item has more content than the others yet is set to visibility: collapse
and therefore the flex container is retaining a strut of the height required to display this item. If you remove visibility: collapse
from the CSS or change the value to visible
, you will see the item disappear and the space redistribute between non-collapsed items; the height of the flex container should not change.
Note: Use Firefox for the below two examples as Chrome and Safari treat collapse as hidden.
We can see the same thing happening with columns. The container will need to have a height in order that the items will start wrapping and creating new columns, and items will stretch taller to fill each column completely.
Wrapping and flex-direction
Containers Shrink To Exact Size You Need A Day
Wrapping works as you might expect when combined with flex-direction
. If flex-direction
is set to row-reverse
then the items will start from the end edge of the container and lay themselves out in reverse ordered lines.
Note that the reversing is only happening in the inline, row direction. We start on the right then go onto the second line and again start from the right. We aren't reversing in both directions, starting from the bottom coming up the container!
Single-dimensional layout explained
As we have seen from the above examples if our items are allowed to grow and shrink, when there are fewer items in the last row or column then those items grow to fill the available space.
There is no method in flexbox to tell items in one row to line up with items in the row above — each flex line acts like a new flex container. It deals with space distribution across the main axis. If there is only one item, and that item is allowed to grow, it will fill the axis just as if you had a single item flex container.
If you want layout in two dimensions then you probably want Grid Layout. We can compare our wrapped row example above with the CSS Grid version of that layout to see the difference. The following live sample uses CSS Grid Layout to create a layout that has as many columns of at least 160 pixels as will fit, distributing the extra space between all columns. However, in this case the items stay in their grid and don't stretch out when there are fewer of them on the final row.
This is the difference between one and two-dimensional layout. In a one dimensional method like flexbox, we only control the row or column. In two dimensional layout like grid we control both at the same time. If you want the space distribution row by row, use flexbox. If you don't, use Grid.
How do flexbox-based grid systems work?
Typically flexbox-based grid systems work by taking flexbox back to the familiar world of float-based layouts. If you assign percentage widths to flex items — either as flex-basis
or by adding a width to the item itself leaving the value of flex-basis
as auto
— you can get the impression of a two dimensional layout. You can see this working in the example below.
Here I have set flex-grow
and flex-shrink
to 0
to make inflexible flex items and am then controlling flexibility using percentages, just like we used to do in float layouts.
If you need flex items to line up in the cross axis, controlling the width in this way will achieve that. In most cases however, adding widths to flex items in this way demonstrates that you would probably be better served by switching to grid layout for that component.
Creating gutters between items
When wrapping flex items, the need to space them out is likely to arise. At the current time we do not have any implementations of the gap properties from the Box Alignment module for Flexbox. In the future we will be able to use row-gap
and column-gap
for flexbox as we do for CSS Grid. At the current time you will need to use margins to achieve this.
You can see from the live example below that in order to create gaps that do not also create a gap at the edges of the container, we need to use negative margins on the flex container itself. Any border on the flex container is then moved to a second wrapper in order that the negative margin can pull the items up to that wrapper element.
It is this requirement that the gap properties, once implemented, will solve for us. Proper gaps only happen on the inside edges of items.
Collapsed items
The flexbox specification details what should happen if a flex item is collapsed by setting visibility: collapse
on an item. See the MDN documentation for the visibility
property. The specification describes the behavior as follows:
'Specifying visibility:collapse on a flex item causes it to become a collapsed flex item, producing an effect similar to visibility:collapse on a table-row or table-column: the collapsed flex item is removed from rendering entirely, but leaves behind a 'strut' that keeps the flex line's cross-size stable. Thus, if a flex container has only one flex line, dynamically collapsing or uncollapsing items may change the flex container's main size, but is guaranteed to have no effect on its cross size and won't cause the rest of the page's layout to 'wobble'. Flex line wrapping is re-done after collapsing, however, so the cross-size of a flex container with multiple lines might or might not change.' - Collapsed items
This behavior is useful if you want to target flex items using JavaScript to show and hide content for example. The example in the specification demonstrates one such pattern.
In the following live example I have a non-wrapped flex container. The third item has more content than the others yet is set to visibility: collapse
and therefore the flex container is retaining a strut of the height required to display this item. If you remove visibility: collapse
from the CSS or change the value to visible
, you will see the item disappear and the space redistribute between non-collapsed items; the height of the flex container should not change.
Note: Use Firefox for the below two examples as Chrome and Safari treat collapse as hidden.
When dealing with multiple-line flex containers however you need to understand that the wrapping is re-done after collapsing. So the browser needs to re-do the wrapping behavior to account for the new space that the collapsed item has left in the inline direction.
This means that items might end up on a different line to the one they started on. In the case of an item being shown and hidden it could well cause the items to end up in a different row.
I have created this behavior in the next live example. You can see how the stretching changes row based on the location of the collapsed item. If you add more content to the second item, it changes row once it gets long enough. That top row then only becomes as tall as a single line of text.
If this causes a problem for your layout it may require a rethinking of the structure, for example putting each row into a separate flex container in order that they can't shift rows.
The difference between visibility: hidden and display: none
Containers Shrink To Exact Size You Need For A
When you set an item to display: none
in order to hide it, the item is removed from the formatting structure of the page. What this means in practice is that counters ignore it, and things like transitions do not run. Using visibility: hidden
keeps the box in the formatting structure which is useful in that it still behaves as if it were part of the layout even though the user can't see it.