Menstrual cups and various tampon alternatives are all the rage lately: From Thinx period underwear to the LadyCup, there are more options than ever for those of us looking for something different. It’s refreshing to see people with vaginas making products for vaginas. We know what we need, after all.

Take a tampon, for instance. They can throw off the pH balance in your vagina and cause yeast infections for some — clearly not invented by someone with a vagina. The need for something better is what lead Flex founders, Lauren Schulte and Erika Jensen, to create a new kind of menstrual cup, a spherical disc with an inset plastic catch that promises mess-free periods and a happy vagina. You can pop in a Flex, leave it for up to 12 hours, and not need to worry about leaking. There’s even a helpful video that walks you through insertion and removal.

What makes it different than a regular menstrual cups, you ask? Its spherical shape makes insertion easier (menstrual cups are not small), it’s disposable, and the ring can be pushed up against the cervix, making period sex both possible and mess free. TBH, they had me at period sex. I had to try these for myself.



I was wearing cream cashmere underwear and a grandma nightgown so, I knew already that it was going to be a wild night. Try me, period. I’m wearing cashmere. I spent most of the day terrified of putting Flex in. When you take it out of the packaging, it’s intimidating. The disc is about 3 inches in diameter. I decided not to look at the directions. I wanted to see if this product was intuitive, and also, I’m lazy.

To insert, you squeeze it flat like a tampon. You then push it back towards the cervix. When I put Flex in, it flattened itself out against my cervix by itself. I would have taken a moment to appreciate this if I hadn’t been panicking unnecessarily. My boyfriend thought I’d fallen since I was screaming, “AHHHH!” during the entire insertion process. There was no reason for this other than the fact that I was being a wimp. I got a little period blood on my fingers, but that can happen with tampons, too.

Once Flex was in, it was in. I couldn’t feel it anymore — obviously the ideal outcome with any form of period-centric device. To my delight, within a few minutes my cramps began to subside. It no longer felt like a cat with rusty nails was scratching at my uterus. How does a menstrual disc alleviate cramps? I had to wonder. According to Jane van Dis, an OB/GYN with Flex, the real secret is in the materials.

Flex is made of a medical-grade polymer blend, which are used in all types of products that are approved for use inside the human body, including surgical tools. “It’s an inert material, has no inflammatory effect in a woman’s vagina and thus does not exacerbate the inflammatory effects of a woman’s menstrual period,” van Dis told me. The vagina is also at its widest up by the cervix. A tampon sits in the mid-portion of the vagina, but Flex sits all the way up. Some of the cramping women feel during their menstrual cycle is due to the tampon’s expansion with blood, Van dis says. She also notes that the lower third of the vagina contains more sensitive nerves — and Flex doesn’t rub them like a tampon. “Many women who can feel the pressure of a tampon expanding in their lower vagina cramping, cannot feel Flex in the upper vagina due to the differences in innervation and shape of the respective products,” she adds.

Meet the Menstrual Cup that Promises Mess-free Period Sex

Sex can be messy – and awkward, and weird and hilarious and wonderful. But that doesn’t make clean-up during what should be a time of post-coital bliss any more enjoyable. This is particularly true when it comes to period sex – it can help with cramps, relieve your hyper sex drive, but…it ruins your sheets. With Ziggy cup, not any more!

ZIGGY is a brand new flat-fit menstrual cup that guarantees ultimate comfort and unlimited possibilities. It gives you the menstrual protection you need all day plus the confidence to wear it during intimate encounters at night.

Here’s How Ziggy Does It:

New Flat-Fit Design

Quite unlike the menstrual cups you’re used to, Ziggy is a flat-fit, oval-shaped menstrual disc that is squished thin into a ‘figure-8’ shape when inserting. It also features a hexagonal structure for added strength while remaining petal-thin.


Ziggy may look very different from any other cup you’ve seen, but along with its leak-proof double rim, this high-capacity cup is more than ready to handle your flow – it can holds a huge 76 ml / 2.6 fl. oz!

Complete Comfort During Any Activity…

Ziggy Cup is designed to sit right under your cervix, tucked behind your pubic bone and well out of the way of your vaginal canal. Not only does this make it ultra-comfortable to wear, it also means that you can have penetrative sex while wearing it!

So What Does that Mean for Your Sex Life?

There are plenty of people who are happy to have period sex without a menstrual cup like Ziggy – after all, it’s just a bit of blood, and it actually acts as extra lubrication. However, unless you’re a huge fan of shower sex – and even then, sometimes you just don’t have time to dry your hair – then period sex always means decided that one of your towels is going to be dedicated to sexy times, and probably a mad dash to the washroom to clean up when you’d rather be cuddling.

Sure, all types of sex can be messy, but with Ziggy, at least sex won’t stain your sheets.

I Was Sick of Painful Period Cramps, So I Tried a Menstrual Disc. Here’s What You Should Know

Ever since I first got my period when I was 14, I’ve experienced cramps. Depending on my method of birth control (or lack thereof) over the years, the cramps have come and gone in different levels of severity. Recently, my cramps have been on the more painful end of the spectrum: A dose of ibuprofen helps me manage the pain but doesn’t completely eliminate the lower back aches and abdomen tightness I typically experience.

So, after hearing about Flex, a single-use menstrual disc ($15 for 8 discs; that claims to lessen or get rid of period-related cramps, I was game to try it. I’ve been a tampon user since I started my period and figured inserting a disc up there wouldn’t be much different from my usual menstrual routine.

Other benefits: The company says you can have mess-free period sex using Flex, since it sits in the vaginal canal and the disc catches period blood while it’s still inside of you. What’s more, the disc can stay inserted for up to 12 hours as opposed to the normal eight hours for a tampon.

RELATED: How to Use a Menstrual Cup

The insertion process

On the first day of my period, I woke up with cramps that were so horrible, I had to immediately get out of bed to take ibuprofen. I decided it was time to try Flex.

Flex is a small disc made of medical-grade polymer that’s flexible enough to bend in half. Once I bent it to insert, I noticed it was about the size and shape of a regular tampon. As someone who has only ever used tampons before, this appealed to me over a menstrual cup.

The package I received in the mail came with eight discs and easy-to-follow instructions with both written directions and diagrams. Basically, you use your finger to push the disc into your vaginal canal and then angle it upwards so it sits in place against your vaginal fornix (where your cervix and vaginal canal meet). This means the disc will catch any blood or fluids before they get into your vaginal canal.

Insertion was similar to that of a tampon: it’s best to sit on the toilet, relax, then push it into place. On my first attempt, it felt lopsided, so I used my finger to better position it. Once the disc was in place, though, I couldn’t even feel it. At first, not noticing the disc freaked me out: what if it got stuck up there? Flex’s founders say you don’t have to worry about it getting stuck, but just to be safe I used my finger to check it was where I left it—and it was.

Image zoom

Working out with the Flex

I headed to my weekly soccer league that evening with the same Flex disc I inserted in the morning. Usually, I change my tampons multiple times a day because they get oversaturated with blood. The disc, however, caught the blood high up so it felt more mess-free and stayed in place while I ran around. I could see why swimmers would benefit from using Flex over a tampon. It did slide out from my vangial fornix a few times throughout the 12-hour day, though, so I used my finger to push it back into place quickly.

Sex with the Flex

The creators of Flex say you can have sex with it in, so I decided to put it to the test. Spoiler: it is possible, but it’s not going to be the best sex of your life. Because your vaginal muscles contract around the disc to hold it in place, it feels pretty, well, tense down there the whole time. My partner said he didn’t feel the Flex at all during sex and it was indeed mess-free like the company claims. If you do enjoy or want to have period sex, the Flex could be worth a shot. If you could take or leave period sex, I would pass.

RELATED: The Surprising Health Benefits of Period Sex

Removing the Flex

Removal was easier than expected. When I grabbed the disc with my finger, it kind of slid out on its own. I was expecting a major mess, so I sat on the toilet for removal, but in reality, the disc was covered in a thin layer of blood, not a pool of it. You can’t flush the disc like you can with tampons, so I wrapped it in toilet paper and put it in the trash.

Does it really help with cramps?

The creators of Flex claim that the disc can reduce menstrual cramps for some, since unlike a tampon, which is stiff, the disc is flexible and “moves with the contractions of your body, helping to ease or eliminate the pain of cramping.” But when I reached out to Donnica Moore, MD, a gynecologist and host of the podcast In the Ladies’ Room with Dr. Donnica, she was skeptical about these claims, noting that tampons don’t cause menstrual cramps. ” happen in the uterus in order to expel its lining, not the vagina, where the Flex disc or tampons are placed,” Dr. Moore explains.

What’s more, she says, your body produces higher levels of prostaglandins, a hormone-like substance that causes pain and inflammation, when you’re on your period. This means menstrual products like tampons or Flex discs can’t create or affect the cramps you feel. If you want to reduce cramps, your best bet is an NSAID (non-steroidal anti-inflammatory medicine) like ibuprofen or an oral contraceptive, says Dr. Moore.

Throughout my week of using Flex, though, I did notice that my cramps were less severe. It didn’t cure my cramps entirely, but I didn’t feel the intense pain I usually do. My period also ended a couple of days earlier than when I used tampons, which I found interesting. Overall, I think the Flex is great for someone who wants to have period sex or get away from constantly have to change tampons.

However, if you’re searching for an eco-friendly period product, Flex isn’t the one. Unlike regular menstrual cups, you can only use each disc once and then have to throw it out. You also have to order a new package online each time you run out of discs, which might not be the most convenient option for some people.

RELATED: 6 Things You Should Know About Having Sex During Your Period

Basic concepts of flexbox

The Flexible Box Module, usually referred to as flexbox, was designed as a one-dimensional layout model, and as a method that could offer space distribution between items in an interface and powerful alignment capabilities. This article gives an outline of the main features of flexbox, which we will be exploring in more detail in the rest of these guides.

When we describe flexbox as being one dimensional we are describing the fact that flexbox deals with layout in one dimension at a time — either as a row or as a column. This can be contrasted with the two-dimensional model of CSS Grid Layout, which controls columns and rows together.

The two axes of flexbox

When working with flexbox you need to think in terms of two axes — the main axis and the cross axis. The main axis is defined by the flex-direction property, and the cross axis runs perpendicular to it. Everything we do with flexbox refers back to these axes, so it is worth understanding how they work from the outset.

The main axis

The main axis is defined by flex-direction, which has four possible values:

  • row
  • row-reverse
  • column
  • column-reverse

Should you choose row or row-reverse, your main axis will run along the row in the inline direction.

Choose column or column-reverse and your main axis will run from the top of the page to the bottom — in the block direction.

The cross axis

The cross axis runs perpendicular to the main axis, therefore if your flex-direction (main axis) is set to row or row-reverse the cross axis runs down the columns.

If your main axis is column or column-reverse then the cross axis runs along the rows.

Understanding which axis is which is important when we start to look at aligning and justifying flex items; flexbox features properties that align and justify content along one axis or the other.

Start and end lines

Another vital area of understanding is how flexbox makes no assumption about the writing mode of the document. In the past, CSS was heavily weighted towards horizontal and left-to-right writing modes. Modern layout methods encompass the range of writing modes and so we no longer assume that a line of text will start at the top left of a document and run towards the right hand side, with new lines appearing one under the other.

You can read more about the relationship between flexbox and the Writing Modes specification in a later article; however, the following description should help explain why we do not talk about left and right and top and bottom when we describe the direction that our flex items flow in.

If the flex-direction is row and I am working in English, then the start edge of the main axis will be on the left, the end edge on the right.

If I were to work in Arabic, then the start edge of my main axis would be on the right and the end edge on the left.

In both cases the start edge of the cross axis is at the top of the flex container and the end edge at the bottom, as both languages have a horizontal writing mode.

After a while, thinking about start and end rather than left and right becomes natural, and will be useful to you when dealing with other layout methods such as CSS Grid Layout which follow the same patterns.

The flex container

An area of a document laid out using flexbox is called a flex container. To create a flex container, we set the value of the area’s container’s display property to flex or inline-flex. As soon as we do this the direct children of that container become flex items. As with all properties in CSS, some initial values are defined, so when creating a flex container all of the contained flex items will behave in the following way.

  • Items display in a row (the flex-direction property’s default is row).
  • The items start from the start edge of the main axis.
  • The items do not stretch on the main dimension, but can shrink.
  • The items will stretch to fill the size of the cross axis.
  • The flex-basis property is set to auto.
  • The flex-wrap property is set to nowrap.

The result of this is that your items will all line up in a row, using the size of the content as their size in the main axis. If there are more items than can fit in the container, they will not wrap but will instead overflow. If some items are taller than others, all items will stretch along the cross axis to fill its full size.

You can see in the live example below how this looks. Try editing the items or adding additional items in order to test the initial behavior of flexbox.

Changing flex-direction

Adding the flex-direction property to the flex container allows us to change the direction in which our flex items display. Setting flex-direction: row-reverse will keep the items displaying along the row, however the start and end lines are switched.

If we change flex-direction to column the main axis switches and our items now display in a column. Set column-reverse and the start and end lines are again switched.

The live example below has flex-direction set to row-reverse. Try the other values — row, column and column-reverse — to see what happens to the content.

Multi-line flex containers with flex-wrap

While flexbox is a one dimensional model, it is possible to cause our flex items to wrap onto multiple lines. In doing so, you should consider each line as a new flex container. Any space distribution will happen across that line, without reference to the lines either side.

To cause wrapping behaviour add the property flex-wrap with a value of wrap. Now, should your items be too large to all display in one line, they will wrap onto another line. The live sample below contains items that have been given a width, the total width of the items being too wide for the flex container. As flex-wrap is set to wrap, the items wrap. Set it to nowrap, which is also the initial value, and they will instead shrink to fit the container because they are using initial flexbox values that allows items to shrink. Using nowrap would cause an overflow if the items were not able to shrink, or could not shrink small enough to fit.

Find out more about wrapping flex items in the guide Mastering Wrapping of Flex Items.

The flex-flow shorthand

You can combine the two properties flex-direction and flex-wrap into the flex-flow shorthand. The first value specified is flex-direction and the second value is flex-wrap.

In the live example below try changing the first value to one of the allowable values for flex-direction – row, row-reverse, column or column-reverse, and also change the second to wrap and nowrap.

Properties applied to flex items

To have more control over flex items we can target them directly. We do this by way of three properties:

  • flex-grow
  • flex-shrink
  • flex-basis

We will take a brief look at these properties in this overview, and you can gain a fuller understanding in the guide Controlling Ratios of Flex Items on the Main Axis.

Before we can make sense of these properties we need to consider the concept of available space. What we are doing when we change the value of these flex properties is to change the way that available space is distributed amongst our items. This concept of available space is also important when we come to look at aligning items.

If we have three 100 pixel-wide items in a container which is 500 pixels wide, then the space we need to lay out our items is 300 pixels. This leaves 200 pixels of available space. If we don’t change the initial values then flexbox will put that space after the last item.

If we instead would like the items to grow and fill the space, then we need to have a method of distributing the leftover space between the items. This is what the flex properties that we apply to the items themselves, will do.

The flex-basis property

The flex-basis is what defines the size of that item in terms of the space it leaves as available space. The initial value of this property is auto — in this case the browser looks to see if the items have a size. In the example above, all of the items have a width of 100 pixels and so this is used as the flex-basis.

If the items don’t have a size then the content’s size is used as the flex-basis. This is why when we just declare display: flex on the parent to create flex items, the items all move into a row and take only as much space as they need to display their contents.

The flex-grow property

With the flex-grow property set to a positive integer, flex items can grow along the main axis from their flex-basis. This will cause the item to stretch and take up any available space on that axis, or a proportion of the available space if other items are allowed to grow too.

If we gave all of our items in the example above a flex-grow value of 1 then the available space in the flex container would be equally shared between our items and they would stretch to fill the container on the main axis.

The flex-grow property can be used to distribute space in proportion. If we give our first item a flex-grow value of 2 and the other items a value of 1, 2 parts will be given to the first item (100px out of 200px in the case of the example above), 1 part each the other two (50px each out of the 200px total).

The flex-shrink property

Where the flex-grow property deals with adding space in the main axis, the flex-shrink property controls how it is taken away. If we do not have enough space in the container to lay out our items and flex-shrink is set to a positive integer the item can become smaller than the flex-basis. As with flex-grow different values can be assigned in order to cause one item to shrink faster than others — an item with a higher value set for flex-shrink will shrink faster than its siblings that have lower values.

The minimum size of the item will be taken into account while working out the actual amount of shrinkage that will happen, which means that flex-shrink has the potential to appear less consistent than flex-grow in behavior. We’ll therefore take a more detailed look at how this algorithm works in the article Controlling Ratios of items along the main axis.

Note that these values for flex-grow and flex-shrink are proportions. Typically if we had all of our items set to flex: 1 1 200px and then wanted one item to grow at twice the rate, we would set that item to flex: 2 1 200px. However you could use flex: 10 1 200px and flex: 20 1 200px if you wanted.

Shorthand values for the flex properties

You will very rarely see the flex-grow, flex-shrink, and flex-basis properties used individually; instead they are combined into the flex shorthand. The flex shorthand allows you to set the three values in this order — flex-grow, flex-shrink, flex-basis.

The live example below allows you to test out the different values of the flex shorthand; remember that the first value is flex-grow. Giving this a positive value means the item can grow. The second is flex-shrink — with a positive value the items can shrink, but only if their total values overflow the main axis. The final value is flex-basis; this is the value the items are using as their base value to grow and shrink from.

There are also some predefined shorthand values which cover most of the use cases. You will often see these used in tutorials, and in many cases these are all you will need to use. The predefined values are as follows:

  • flex: initial
  • flex: auto
  • flex: none
  • flex: <positive-number>

Setting flex: initial resets the item to the initial values of Flexbox. This is the same as flex: 0 1 auto. In this case the value of flex-grow is 0, so items will not grow larger than their flex-basis size. The value of flex-shrink is 1, so items can shrink if they need to rather than overflowing. The value of flex-basis is auto. Items will either use any size set on the item in the main dimension, or they will get their size from the content size.

Using flex: auto is the same as using flex: 1 1 auto; everything is as with flex:initial but in this case the items can grow and fill the container as well as shrink if required.

Using flex: none will create fully inflexible flex items. It is as if you wrote flex: 0 0 auto. The items cannot grow or shrink but will be laid out using flexbox with a flex-basis of auto.

The shorthand you often see in tutorials is flex: 1 or flex: 2 and so on. This is as if you used flex: 1 1 0. The items can grow and shrink from a flex-basis of 0.

Try these shorthand values in the live example below.

Alignment, justification and distribution of free space between items

A key feature of flexbox is the ability to align and justify items on the main- and cross-axes, and to distribute space between flex items.


The align-items property will align the items on the cross axis.

The initial value for this property is stretch and this is why flex items stretch to the height of the tallest one by default. They are in fact stretching to fill the flex container — the tallest item is defining the height of that.

You could instead set align-items to flex-start in order to make the items line up at the start of the flex container, flex-end to align them to the end, or center to align them in the centre. Try this in the live example — I have given the flex container a height in order that you can see how the items can be moved around inside the container. See what happens if you set the value of align-items to:

  • stretch
  • flex-start
  • flex-end
  • center


The justify-content property is used to align the items on the main axis, the direction in which flex-direction has set the flow. The initial value is flex-start which will line the items up at the start edge of the container, but you could also set the value to flex-end to line them up at the end, or center to line them up in the centre.

You can also use the value space-between to take all the spare space after the items have been laid out, and share it out evenly between the items so there will be an equal amount of space between each item. To cause an equal amount of space on the right and left of each item use the value space-around. With space-around, items have a half-size space on either end. Or, to cause items to have equal space around them use the value space-evenly. With space-evenly, items have a full-size space on either end.

Try the following values of justify-content in the live example:

  • flex-start
  • flex-end
  • center
  • space-around
  • space-between
  • space-evenly

In the article Aligning Items in a Flex Container we will explore these properties in more depth, in order to have a better understanding of how they work. These simple examples however will be useful in the majority of use cases.

Next steps

After reading this article you should have an understanding of the basic features of Flexbox. In the next article we will look at how this specification relates to other parts of CSS.


Flexbox is a one-dimensional layout method for laying out items in rows or columns. Items flex to fill additional space and shrink to fit into smaller spaces. This article explains all the fundamentals.


HTML basics (study Introduction to HTML), and an idea of how CSS works (study Introduction to CSS.)


To learn how to use the Flexbox layout system to create web layouts.

Why Flexbox?

For a long time, the only reliable cross browser-compatible tools available for creating CSS layouts were things like floats and positioning. These are fine and they work, but in some ways they are also rather limiting and frustrating.

The following simple layout requirements are either difficult or impossible to achieve with such tools, in any kind of convenient, flexible way:

  • Vertically centering a block of content inside its parent.
  • Making all the children of a container take up an equal amount of the available width/height, regardless of how much width/height is available.
  • Making all columns in a multiple column layout adopt the same height even if they contain a different amount of content.

As you’ll see in subsequent sections, flexbox makes a lot of layout tasks much easier. Let’s dig in!

Introducing a simple example

In this article we are going to get you to work through a series of exercises to help you understand how flexbox works. To get started, you should make a local copy of the first starter file — flexbox0.html from our github repo — load it in a modern browser (like Firefox or Chrome), and have a look at the code in your code editor. You can see it live here also.

You’ll see that we have a <header> element with a top level heading inside it, and a <section> element containing three <article>s. We are going to use these to create a fairly standard three column layout.

Specifying what elements to lay out as flexible boxes

To start with, we need to select which elements are to be laid out as flexible boxes. To do this, we set a special value of display on the parent element of the elements you want to affect. In this case we want to lay out the <article> elements, so we set this on the <section> (which becomes a flex container):

section { display: flex; }

The result of this should be something like so:

So, this single declaration gives us everything we need — incredible, right? We have our multiple column layout with equal sized columns, and the columns are all the same height. This is because the default values given to flex items (the children of the flex container) are set up to solve common problems such as this. More on those later.

Note: You can also set a display value of inline-flex if you wish to lay out inline items as flexible boxes.

An aside on the flex model

When elements are laid out as flexible boxes, they are laid out along two axes:

  • The main axis is the axis running in the direction the flex items are being laid out in (e.g. as rows across the page, or columns down the page.) The start and end of this axis are called the main start and main end.
  • The cross axis is the axis running perpendicular to the direction the flex items are being laid out in. The start and end of this axis are called the cross start and cross end.
  • The parent element that has display: flex set on it (the <section> in our example) is called the flex container.
  • The items being laid out as flexible boxes inside the flex container are called flex items (the <article> elements in our example).

Bear this terminology in mind as you go through subsequent sections. You can always refer back to it if you get confused about any of the terms being used.

Columns or rows?

Flexbox provides a property called flex-direction that specifies what direction the main axis runs in (what direction the flexbox children are laid out in) — by default this is set to row, which causes them to be laid out in a row in the direction your browser’s default language works in (left to right, in the case of an English browser).

Try adding the following declaration to your <section> rule:

flex-direction: column;

You’ll see that this puts the items back in a column layout, much like they were before we added any CSS. Before you move on, delete this declaration from your example.

Note: You can also lay out flex items in a reverse direction using the row-reverse and column-reverse values. Experiment with these values too!


One issue that arises when you have a fixed amount of width or height in your layout is that eventually your flexbox children will overflow their container, breaking the layout. Have a look at our flexbox-wrap0.html example, and try viewing it live (take a local copy of this file now if you want to follow along with this example):

Here we see that the children are indeed breaking out of their container. One way in which you can fix this is to add the following declaration to your <section> rule:

flex-wrap: wrap;

Also, add the following declaration to your <article> rule:

flex: 200px;

Try this now; you’ll see that the layout looks much better with this included:

We now have multiple rows — as many flexbox children are fitted onto each row as makes sense, and any overflow is moved down to the next line. The flex: 200px declaration set on the articles means that each will be at least 200px wide; we’ll discuss this property in more detail later on. You might also notice that the last few children on the last row are each made wider so that the entire row is still filled.

But there’s more we can do here. First of all, try changing your flex-direction property value to row-reverse — now you’ll see that you still have your multiple row layout, but it starts from the opposite corner of the browser window and flows in reverse.

flex-flow shorthand

At this point it is worth noting that a shorthand exists for flex-direction and flex-wrap — flex-flow. So for example, you can replace

flex-direction: row; flex-wrap: wrap;


flex-flow: row wrap;

Flexible sizing of flex items

Let’s now return to our first example, and look at how we can control what proportion of space flex items take up. Fire up your local copy of flexbox0.html, or take a copy of flexbox1.html as a new starting point (see it live).

First, add the following rule to the bottom of your CSS:

article { flex: 1; }

This is a unitless proportion value that dictates how much of the available space along the main axis each flex item will take up. In this case, we are giving each <article> element a value of 1, which means they will all take up an equal amount of the spare space left after things like padding and margin have been set. It is a proportion, meaning that giving each flex item a value of 400000 would have exactly the same effect.

Now add the following rule below the previous one:

article:nth-of-type(3) { flex: 2; }

Now when you refresh, you’ll see that the third <article> takes up twice as much of the available width as the other two — there are now four proportion units available in total. The first two flex items have one each so they take 1/4 of the available space each. The third one has two units, so it takes up 2/4 of the available space (or 1/2).

You can also specify a minimum size value inside the flex value. Try updating your existing article rules like so:

article { flex: 1 200px; } article:nth-of-type(3) { flex: 2 200px; }

This basically states “Each flex item will first be given 200px of the available space. After that, the rest of the available space will be shared out according to the proportion units.” Try refreshing and you’ll see a difference in how the space is shared out.

The real value of flexbox can be seen in its flexibility/responsiveness — if you resize the browser window, or add another <article> element, the layout continues to work just fine.

flex: shorthand versus longhand

flex is a shorthand property that can specify up to three different values:

  • The unitless proportion value we discussed above. This can be specified individually using the flex-grow longhand property.
  • A second unitless proportion value — flex-shrink — that comes into play when the flex items are overflowing their container. This specifies how much of the overflowing amount is taken away from each flex item’s size, to stop them overflowing their container. This is quite an advanced flexbox feature, and we won’t be covering it any further in this article.
  • The minimum size value we discussed above. This can be specified individually using the flex-basis longhand value.

We’d advise against using the longhand flex properties unless you really have to (for example, to override something previously set). They lead to a lot of extra code being written, and they can be somewhat confusing.

Horizontal and vertical alignment

You can also use flexbox features to align flex items along the main or cross axis. Let’s explore this by looking at a new example — flex-align0.html (see it live also) — which we are going to turn into a neat, flexible button/toolbar. At the moment you’ll see a horizontal menu bar, with some buttons jammed into the top left hand corner.

First, take a local copy of this example.

Now, add the following to the bottom of the example’s CSS:

div { display: flex; align-items: center; justify-content: space-around; }

Refresh the page and you’ll see that the buttons are now nicely centered, horizontally and vertically. We’ve done this via two new properties.

align-items controls where the flex items sit on the cross axis.

  • By default, the value is stretch, which stretches all flex items to fill the parent in the direction of the cross axis. If the parent hasn’t got a fixed width in the cross axis direction, then all flex items will become as long as the longest flex items. This is how our first example got equal height columns by default.
  • The center value that we used in our above code causes the items to maintain their intrinsic dimensions, but be centered along the cross axis. This is why our current example’s buttons are centered vertically.
  • You can also have values like flex-start and flex-end, which will align all items at the start and end of the cross axis respectively. See align-items for the full details.

You can override the align-items behavior for individual flex items by applying the align-self property to them. For example, try adding the following to your CSS:

button:first-child { align-self: flex-end; }

Have a look at what effect this has, and remove it again when you’ve finished.

justify-content controls where the flex items sit on the main axis.

  • The default value is flex-start, which makes all the items sit at the start of the main axis.
  • You can use flex-end to make them sit at the end.
  • center is also a value for justify-content, and will make the flex items sit in the center of the main axis.
  • The value we’ve used above, space-around, is useful — it distributes all the items evenly along the main axis, with a bit of space left at either end.
  • There is another value, space-between, which is very similar to space-around except that it doesn’t leave any space at either end.

We’d like to encourage you to play with these values to see how they work before you continue.

Ordering flex items

Flexbox also has a feature for changing the layout order of flex items, without affecting the source order. This is another thing that is impossible to do with traditional layout methods.

The code for this is simple: try adding the following CSS to your button bar example code:

button:first-child { order: 1; }

Refresh, and you’ll now see that the “Smile” button has moved to the end of the main axis. Let’s talk about how this works in a bit more detail:

  • By default, all flex items have an order value of 0.
  • Flex items with higher order values set on them will appear later in the display order than items with lower order values.
  • Flex items with the same order value will appear in their source order. So if you have four items with order values of 2, 1, 1, and 0 set on them respectively, their display order would be 4th, 2nd, 3rd, then 1st.
  • The 3rd item appears after the 2nd because it has the same order value and is after it in the source order.

You can set negative order values to make items appear earlier than items with 0 set. For example, you could make the “Blush” button appear at the start of the main axis using the following rule:

button:last-child { order: -1; }

Nested flex boxes

It is possible to create some pretty complex layouts with flexbox. It is perfectly ok to set a flex item to also be a flex container, so that its children are also laid out like flexible boxes. Have a look at complex-flexbox.html (see it live also).

section – article article article – div – button div button div button button button

Let’s look at the code we’ve used for the layout.

First of all, we set the children of the <section> to be laid out as flexible boxes.

section { display: flex; }

Next, we set some flex values on the <article>s themselves. Take special note of the 2nd rule here — we are setting the third <article> to have its children laid out like flex items too, but this time we are laying them out like a column.

article { flex: 1 200px; } article:nth-of-type(3) { flex: 3 200px; display: flex; flex-flow: column; }

Next, we select the first <div>. We first use flex:1 100px; to effectively give it a minimum height of 100px, then we set its children (the <button> elements) to also be laid out like flex items. Here we lay them out in a wrapping row, and align them in the center of the available space like we did in the individual button example we saw earlier.

article:nth-of-type(3) div:first-child { flex:1 100px; display: flex; flex-flow: row wrap; align-items: center; justify-content: space-around; }

Finally, we set some sizing on the button, but more interestingly we give it a flex value of 1 auto. This has a very interesting effect, which you’ll see if you try resizing your browser window width. The buttons will take up as much space as they can and sit as many on the same line as they can, but when they can no longer fit comfortably on the same line, they’ll drop down to create new lines.

button { flex: 1 auto; margin: 5px; font-size: 18px; line-height: 1.5; }

Cross browser compatibility

Flexbox support is available in most new browsers — Firefox, Chrome, Opera, Microsoft Edge and IE 11, newer versions of Android/iOS, etc. However you should be aware that there are still older browsers in use that don’t support Flexbox (or do, but support a really old, out-of-date version of it.)

While you are just learning and experimenting, this doesn’t matter too much; however if you are considering using flexbox in a real website you need to do testing and make sure that your user experience is still acceptable in as many browsers as possible.

Flexbox is a bit trickier than some CSS features. For example, if a browser is missing a CSS drop shadow, then the site will likely still be usable. Not supporting flexbox features however will probably break a layout completely, making it unusable.

We discuss strategies for overcoming cross browser support issues in our Cross browser testing module.

Test your skills!

We have covered a lot in this article, but can you remember the most important information? You can find some further tests to verify that you’ve retained this information before you move on — see Test your skills: Flexbox.


That concludes our tour of the basics of flexbox. We hope you had fun, and will have a good play around with it as you travel forward with your learning. Next we’ll have a look at another important aspect of CSS layouts — CSS Grids.

Is it worth the faff? (Picture: Dave Anderson for

For those of us who menstruate, period sex is as polarising as Marmite: you’re either completely turned off by the idea, or you’re too horny to care.

No matter where you stand, riding the crimson wave is a whole lot easier now that Flex has launched in the UK.

It’s totally OK to like pegging if you’re a straight man – 7 guys tells us why

Flex is a soft, disc-shaped, disposable menstrual barrier that can be worn up to 12 leak-free hours and it can be worn during intercourse and promises stress and mess free sex

It’s also hypoallergenic, BPA-free, isn’t known to cause toxic shock syndrome and produces 50% less waste than plastic tampon applicators.

Unlike tampons and menstrual cups, it doesn’t sit in your vaginal canal but rather in your vaginal fornix – a doughnut shaped hollow at the base of your cervix – meaning that it can be worn during sex, which is its biggest selling point.

Advertisement Advertisement

Basically, you can have your cake and eat it (or have it be eaten) too.

On paper, it checks all the boxes, so I was keen on trying it out for myself to see if this ‘revolutionary menstrual product’ was worth all the hype.

Perseverance is key

My first thought when I saw it was ‘how on God’s green earth is this going to fit inside me?’ The disc looks like a menstrual cup and condom hybrid. But at three inches in diameter, it took up the size of my whole palm.

(Picture: Flex)

I decided to give it a test run the day before my period to avoid any nasty surprises.

I skimmed the instructions to get a sense of how to insert it but I was curious to see if the product was intuitive (also, I’m lazy).

I had to squeeze it, insert it as far up as it would go, push back then down, and tuck it under my pubic bone. Not so easy when you can’t see what you’re doing.

Despite the fact that I had no clue whether or not I was doing it properly, it slid in pretty effortlessly, but I had to really and truly get up close and personal with my genitals.

If you’ve used a menstrual cup before, the thought of venturing that far up your vagina probably won’t seem so daunting, but to me it felt like Narnia: you make your way through all the fur and find yourself in an uncharted world of mystery.

Advertisement Advertisement

Once it was in, I hadn’t the faintest idea whether or not I’d placed it correctly so I did what any self-possessed woman would do: I panicked.

While I was squatting on the bathroom floor, knuckle-deep in my vagina trying to remove it, I had mild heart palpitations that I’d end up in stirrups in my local GUM clinic with a nurse using forceps to get it out.

Luckily, vaginas are like fleshy culs-de-sac and nothing can get lost up there, so after a mild meltdown, I eventually got it out.

The whole experience gave me traumatising flashbacks of learning how to use a tampon, but according to the manufacturer it takes 45% of Flex users three tries to place it correctly.

If at first you don’t succeed, try again, right?

I tested it for the whole 12 hours – I went about my day and even worked out with it – and I have to say, it does what it says on the tin.

Wearing it was comfortable and there were zero leaks, which is more than I can say for tampons, frenemies to most women and ruiners of many knickers.

Tampons, however, are considerably easier to remove, you literally only have to pull a string.

Knuckle-deep in my vagina once again, I had to deal with the blood this time.

When I remove the used disc – at which point it had basically become a blood drawer – my index finger, thumb, and most of my palm was covered in warm menses, dripping down my wrist and the loo seat.


It’s safe to say that if you’re squeamish, this product isn’t for you.

To view this video please enable JavaScript, and consider upgrading to a web browser that supports HTML5 video

Let’s skip to the good bit

As I said, the biggest selling point was the promise of mess-free period sex.

While period sex and the subsequent clean up shouldn’t be that big of a deal, the prospect of unstained white sheets was extremely appealing.

According to a Flex survey, 86% of participants said that ‘the mess and cleanup’ was the biggest period sex cock-block and 80% said they’d do it more if there was a way to make it mess-free.

Online reviews on its effectiveness during intercourse were too mixed to reach a consensus, so in the name of journalism I had sex with my boyfriend.

At that point my vagina was a veritable funhouse – between my IUD, the Flex disc and my boyfriend’s penis, who knows what else you might find in there.

Scepticism aside, I was pleasantly surprised that there was not a stain in sight and I wouldn’t have to do another overnight hydrogen peroxide soak.

(Picture: Liberty Antonia Sadler for

My boyfriend could feel the disc a little at the beginning, but overall, it was like I wasn’t wearing it.


It’s also worth mentioning that we only tried it in missionary, and I get the sense that positions like doggy or girl-on-top, which allows you to go deeper, would be a little less comfortable.

Small caveat aside, ‘boning while wearing a menstrual disc’ was a successful experiment.

There’s definitely a learning curve to Flex, and I found there were a few shortcomings.

First of all, you need to be extremely comfortable with your body and its various fluids, and secondly, it’s not exactly cost-effective.

It’s considerably more expensive than pads or tampons ($15 for a trial box of 24 discs), and it’s not reusable like a menstrual cup.

As someone who uses period underwear (as I said, I’m lazy), nothing beats the ease of just slipping on a pair of knickers, and I’m not sure about faffing with my foof when I’m already dealing with cramps and mood swings.

Did Flex do what it advertised? Absolutely.

Was the period sex fun and mess-free? Totally.

Is my reluctance to partake again simply due to my laziness and not a fault of the product itself? Most likely. But it’s also more clean up than tampons.

As far as everyday menstrual products go I think I’ll stick to period underwear.

Considering that one in 10 girls in the UK can’t afford sanitary products, I was grateful to be able to try it just for some mess-free nookie, and it’s one to keep around for when I’m in the mood for some lovin’ but can’t be bothered to deal with the clean-up.

MORE: 10 types of bad sex everyone will have sooner or later in life

MORE: PMS isn’t all bad – here are some of the positive aspects you should know about

MORE: 6 people share their most embarrassing sex toy incidents

Advertisement Advertisement

The Fix

The daily lifestyle email from

Find out more

I Tried FLEX Discs and (for Once) Didn’t Mind Getting My Period

I’ve always been a tampon gal. But in the past year, the negatives of tampon usage really hit me. The unknown ingredients, the risk of toxic shock syndrome (TSS), the environmental impact-not to mention the pure annoyance of having to change it every few hours. (Related: What’s the Deal with Herbal Tampons?)

Then, a month ago, I discovered FLEX. I was perusing my Insta on the subway (per usual) when I discovered the product on my feed. Not only was it aesthetically pleasing, but the brand’s whole mantra really resonated with me. “Have the most comfortable period of your life,” their bio read. “A new period product for 12 hours of protection.”

Um, 12 hours of protection at just $15 per box? It didn’t take me long to make a purchase.

What Using a FLEX Disc Is Really Like

So, what is FLEX exactly? Their website describes it as a “disposable menstrual disc that comfortably forms to the shape of your body.” And from personal experience, I found that it really does.

When the little package arrived in the mail, I ripped it open like it was Christmas morning. The small white box looked more like something I would decorate my desk with than like something holding period products. Inside, each disc was individually wrapped up in a chic (yes, chic) black wrapper similar to a panty liner. (ICYMI, people are obsessed with periods right now.)

The discs themselves are round, really flexible, and lightweight-but to be honest, a little bigger than I was expecting. It’s about the size of your palm or the rim of a wine glass. Considering I’ve never used a Nuva ring or anything similar in shape, I was a little intimidated. I thought: “How in the heck am I going to get that in there?” (Related: This New Contraceptive Vaginal Ring Can Be Used for an Entire Year)

After a little trial and error, I got the hang of it: You begin by pinching the disc in half, so it looks similar to the number 8. From there, you slide it into your vagina just like you would a tampon. Once you have it in as far as it will go, the trick is to “lock” it in place by tucking it above your pelvic bone. Sounds weird, I know, but this acts like a magical little shelf for the disc to sit on. Once it’s popped into place (you’ll know when), the black ring unfolds on its own, revealing a clear plastic film that creates a sort of hammock to catch your period. It’s impressive. And the best part? You can’t feel the disc at all. It’s like it isn’t even there.

On my first day of using FLEX, I completely forgot I had my period. I went about my workday without the stressor of having to change my tampon or ruining my cute new undies. Initially, I was terrified of leaking, but it turned out to be a non-issue. (Pro tip: To reduce the chance of leakage, tuck the disc back into place after you use the restroom, since it can shift a little from time to time.)

Since each disc lasts for 12 hours, I only had to change it in the morning and before bed. It became another easy part of my routine, like brushing my teeth or putting on deodorant. My one moment of confusion, however, came after using the first disc: How do I dispose of it? Do I reuse it? Do I flush it? Unlike period cups, FLEX is a single-use product. After removing the disc, simply empty the contents, wrap it up, and toss it in the garbage. The process can be messy at first, so I do recommend practicing at home once or twice.

It doesn’t matter if you have a really light or heavy flow, either. FLEX will send you a personalized number of discs depending on what they think you’ll need during each cycle. (I personally used 10 during mine-two per day for five days.) And since they aren’t made from cotton, your vagina’s natural lubrication makes them easy to slide out even if your flow is super light-which is great considering there’s nothing worse than pulling out a dry tampon.

Why I’m Never Going Back to Tampons

The perks of FLEX don’t stop there. These discs also have a hidden superpower: They alleviate cramps by up to 70 percent. “There is an element of cramping that has to do with the tampon filling with fluid in a 360-degree fashion, and then pressing against the vaginal wall,” says Jane Van Dis, M.D., medical advisor to FLEX. But since the discs fit at the base of the cervix up inside the vagina, they immediately deplete the sensation of cramps. (Check out these pads that claim to help soothe period cramps.)

Besides the pure joy of letting me dismiss my monthly cramps, FLEX discs have a plethora of other benefits. For starters, they produce 60 percent less waste than tampons. They’re also not linked to TSS and allow mess-free period sex. Yes, you read that right. You can have sex without having to remove the disc, and FLEX claims that “it is virtually undetectable by your partner.” Though I can’t speak to the latter, that’s a huge bonus for all parties involved. (P.S. THINX Just Launched a Period Sex Blanket)

If you have an intrauterine device (IUD), you may be cringing a little-but there’s nothing to worry about, says Dr. Van Dis. “FLEX is very safe for IUD users. Women are worried that as they remove FLEX, they could dislodge the strings of the IUD and pull it out. I have never heard of a client being able to do this while using FLEX.”

To top it all off, FLEX discs can also be a huge help if you deal with chronic yeast infections. With tampons, “you’re putting paper into the vagina. Even if it’s organic, it’s still paper and it has the ability to change the pH and the way that the vagina functions,” says Dr. Van Dis. (Yes, your vagina has a pH. Here’s what you need to know about your vaginal ecosystem.)

That’s why the company has been incredibly transparent about what they use to make their products. Their website explains that FLEX is made of a medical-grade polymer used in surgical tools. It is FDA-registered, hypoallergenic, and BPA- and phthalate-free. It’s also made without natural rubber latex or silicone.

While tampons still have the popular vote, as time goes on, women are beginning to ask questions like “what’s actually in this?” With more alternatives like FLEX (and period panties) being put onto the market every year, standards are rising when it comes to making periods healthier, more sustainable, and wayyy more comfortable.

“Women are owning their bodies in a way that they haven’t before,” says Dr. Van Dis. “And that also means demanding better products that we put in our bodies.”

  • By By Claudia Williams

Damn you, Facebook ads: We tried the FLEX disposable tampon alternative, and here’s how it worked for us. In full detail (sorry).

I’m coming up on my 25thish anniversary of my first visit from Aunt Flo. And over that those 2.5 decades, I’ve had the same exact routine every month: tampons and pads. I wasn’t necessarily looking to spice things up in that department, but when I saw the ads on Facebook for a free trial box of FLEX disposable tampon alternatives, I figured, why not give them a try?

And then share every sordid detail with the entire Internet.

So, here’s how my tampon-free week went, so you can see if making the switch is right for you.

FLEX: What is it? (No, really.)

Okay, so let’s get straight to it. The FLEX disc looks a like a very large condom with a thick but flexible band around the outside. (Oh, the jokes.) It sits just past the vaginal canal in the vaginal fornix — go ahead, Google that — where it catches, rather than absorbs, the blood from your menstrual flow.

(I’ve never used a menstrual cup, but the FLEX is a similar idea to that but a much smaller and — from what I hear — a more comfortable device that sits farther in, which helps to cut down on cramping.)

It’s designed to be leak-free for up to 12 hours and hold up to 6 teaspoons of liquid. Which, by the way, is good since the average woman menstruates about 3 tsp. in 24 hours.

It claims to be hypoallergenic, with no natural rubber latex, BPA, or phthalates, and is said to have zero chemicals or toxins like most tampons have. It’s doctor-approved and made to not alter your pH balance in your vagina. And, it was designed by women. Well, that sold me.

Related: Keep a close eye on your period — and your fertility — with the Clue period tracker app

At this point, I feel like it’s important to give you way TMI about my period, so that you have a context for understanding whether you think these would work for you too.

So here goes:

On days 1 and 2 of my period, it’s the real deal. I typically go through 3–5 super tampons, and I absolutely need to have a overnight liner on too. All day long.

Days 3 and 4 are lighter, but I still use 3–4 regular tampons with a liner. By day 5, I can get away with 1–2 tampons and/or a liner and be okay.

On my heavier days, I do tend to be a little clotty too.

Whew, glad we got that covered.

So, the question is, did it work?

FLEX: Putting it to the test

I was a little nervous putting the FLEX in for the first time, because it’s basically the exact opposite of what I am used to with a tampon. Instead of sliding it in and up, you’re sliding it in and down. Seriously, this is one of those instances where a picture speaks a thousand words, so see for yourself the step-by-step at their website. But, essentially, you want it positioned so that it blocks off the vaginal canal, catching all the blood.

Since there’s no string on the FLEX to pull it back out, I had mild heart palpitations that my dinner plans that night would be cancelled and I’d be in stirrups in the ER with some doctor using forceps to get it out.

But that didn’t happen.

Once the FLEX was in, I couldn’t feel it at all. I did go ahead and wear a liner, though, because I was a little dubious. The package said it works for up to 12 hours, so when I put it in around 7:00 that morning, I left home without any backup supplies.

This was a mistake.

By mid-morning, I felt uncomfortably wet. I thought maybe it was just the way the FLEX collected and held your blood, basically like a dam in your nethers. But when I went to check…let’s just say I was glad I’d put that liner on as backup.

When I removed the FLEX, I realized the fatal flaw in its design. You have to put your finger all the way up your vaginal canal to hook it over the edge of the device and pull it out. I was knuckle deep. When I came out of the stall, it looked like I’d been part of a murder scene. Not an ideal situation, when you’re in a public bathroom. At your kids’ school.

Related: What we think about THINX Period Underwear: An honest review, with ALL the details.

Just a friendly warning: don’t change your FLEX anywhere near those white sheets.

But I stayed the course, and kept using FLEX. By days 3–4 of my period, the device did work a little better on those lighter days, although I continued to use a liner too.

FLEX: The bottom line

From the pretty packaging to the chic press photos, you’ve got to love them for trying to make periods glamorous. I mean one of their selling points is that you can enjoy clean sex during your period with the FLEX disc in (I did not try).

But for me, this was a total Facebook Ad fail. My free trial pack required me to sign up for a subscription you can cancel at any time, and I promptly did just that.

The good news is, you get a pack to try for free! So, you may want to test it out for yourself to see if they work for you, since every woman’s body is different. And, I’d love to hear about your experiences.

But, if I may, let me recommend you go ahead and stash some tampons and pads in your bag too. You know, just in case.

You can get your free sample box of FLEX disposable tampon alternatives at their website. Or, on Facebook.

More reviews from our Damn You, Facebook series:
Why Bombas socks are the bomb
What we really think about THINX period underwear
Like a Glove Smart Leggings: Can they help you find the perfect pair of jeans?
Our honest review of the True & Co. Second Skin bra
Testing out the Thrive Causemetics Infinity Waterproof eyebrow liner
Stitchfix: A brutally honest she said/she said review

If you’ve got a product you’ve seen everywhere and you’re curious about, hit us up and we might try it! Email [email protected]

Flex Menstrual Disc Review

If you don’t want to deal with the maintenance involved in reusable menstrual products, a disposable menstrual disc is a strong alternative. The woman behind the FLEX menstrual disc was actually trying to create a reusable product at first, but saw that her users weren’t biting.

“We had to scrap that product idea because we would follow up with users three months later,” starts FLEX Founder Lauren Schulte. “They loved the idea…but they weren’t actually using it.”

The current product, FLEX, is a pliable disc that is about the size of a tampon when inserted, but unlike tampons or menstrual cups, it sits higher in the vagina, much closer to the cervix. FLEX has the same capacity as five regular tampons (three super tampons) and molds to your shape so you can laugh, exercise, and even have sex without leaks.

The first couple of times you insert it will be time-consuming, but once it’s in place, you can’t even feel it. And, yes, it holds up to its promises regarding, ahem, activities.

You might feel like you’re in “The Shining” when you take FLEX out since it holds so much fluid, but don’t fret. You can keep it in for 12 hours and time removal around your shower schedule. We think removal is easier than insertion, but both processes get easier, faster, and less messy once you know what you’re doing.

We recommend FLEX because it’s disposable, has a surprisingly fast learning curve, it’s more comfortable than other menstrual discs, and its design is great for minimizing cramps. We also prefer it over the Softcup because it can be used with IUDs.

FLEX offers a three month trial that includes 24 discs, so you can try it before you commit to a subscription. Subscriptions ship in packs of four, eight, or twelve discs monthly, depending on the needs of your cycle.

After your trial, a pack of eight (equivalent to 40 regular tampons) only costs $15/month with a subscription, but the same pack is $20 without a subscription. With the subscription you’re paying a little more than you would with traditional tampons, but about the same or less than organic tampons while producing 60 percent less waste. You can also get a 24-pack, with or without a subscription, for $35–45.

Got a new flex and I think I like it

Leave a Reply

Your email address will not be published. Required fields are marked *