Logo Codebridge

Flexbox Dynamic Line Separator

August 1, 2022
|
5
min read
Share
text
Link copied icon
table of content
photo of Myroslav Budzanivskyi Co-Founder & CTO of Codebridge
Myroslav Budzanivskyi
Co-Founder & CTO

Get your project estimation!

While working on a UI, we needed to add a line separator between two sections. Here it is:

On smaller viewports, the line will become horizontal:

Let’s take a look at the HTML.

We have a section, with two main child items. Between them, we will have a line separator.

In CSS, we will use flexbox to handle the layout.

We added a 1rem gap between each one, and also each child item should fill 50% of its parent. Here is the result:

Next step, we want to center the two items vertically, so we will use align-items on the parent.

Now the two items are centered (we added the red line to make it easy to spot that). You might be asking, what does that have to do with the separator?

Adding The Separator

We wanted to add this as a pseudo-element, so we wrote this CSS. Can you expect the visual result of this without scrolling down?

Oh, what is that little square doing over here? Since the pseudo-element is only a 1px border from all sides, the result will be 2*2` square.

Let’s focus a bit here. This is the core of this little CSS trick.

The square comes from using the same color for each border. With different colors, it can look like this.

Why the Separator Looks Like a Square?

Since we added align-items: center to center the child items vertically, we removed the default behavior of flexbox stretching child items (stretching vertically, in this case).

Now it looks like the following visual:

Next, we need to reorder the flex items to make the divider appears between them.

And we’re done!

To make this work on all screen sizes, we need to have the flex-direction: column mobile and flex-direction: row for larger screens.

Here is a video of changing the flex-direction. Notice how the separator changes!

This works like magic because it’s a flexbox behavior.

When flex-direction: row is set, the cross-axis is vertical thus the pseudo-element stretches vertically.

And when the cross-axis is set to flex-direction: column, it will be horizontal and so the pseudo-element stretches horizontally.

Isn’t that neat? No need to use width, height, or anything else! It’s just a border being stretching via flexbox.

The Separator Thickness

Since the border value contributes to the four directions, we need to use 0.5x of the thickness we want. For example, if we want a 1px separator, then the border should be like the following:

Gradient Separators

This is another reason for us to pick the border solution above others. We can use gradients via border-image.

Dashed Separators

Given that we’re using borders, we can also have a dashed separator.

Another Way of Doing It

If we haven’t taken the time to think about implementing this, then we might have used width and height. We are not saying the following is a bad solution, but it’s good to step out of solutions we took for granted and think of other ways of solving UI problems.

Source: https://ishadeed.com/

Heading 1

Heading 2

Heading 3

Heading 4

Heading 5
Heading 6

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.

Block quote

Ordered list

  1. Item 1
  2. Item 2
  3. Item 3

Unordered list

  • Item A
  • Item B
  • Item C

Text link

Bold text

Emphasis

Superscript

Subscript

Rate this article!
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
78
ratings, average
4.9
out of 5
August 1, 2022
Share
text
Link copied icon

LATEST ARTICLES

Proof of Concept vs Prototype: Choosing the Right Approach for Your Business
August 15, 2025
|
8
min read

Proof of Concept vs Prototype: Choosing the Right Approach for Your Business

Learn the key differences between a proof of concept and a prototype. Understand which approach is best suited for your business based on project goals, resources, and timelines.

by Konstantin Karpushin
Read more
Read more
August 13, 2025
|
11
min read

How a Progressive Web Application Development Company Can Accelerate Growth

Discover how partnering with a progressive web application development company can accelerate your business growth. Learn about the benefits of PWAs and how they enhance user experience.

by Konstantin Karpushin
Read more
Read more
Cloud Migration Solutions That Enable Faster, Safer Scaling for Startups
August 13, 2025
|
9
min read

Cloud Migration Solutions That Enable Faster, Safer Scaling for Startups

Explore cloud migration solutions that help startups scale faster and more securely. Learn how migrating to the cloud can enhance performance, security, and cost-efficiency.

by Myroslav Budzanivskyi
DevOps
Read more
Read more
How to Make an App for Your Business Without Burning Your Dev Team
August 11, 2025
|
6
min read

How to Make an App for Your Business Without Burning Your Dev Team

Learn how to create an app for your business without overwhelming your development team. Explore practical steps, tools, and strategies to build your business app efficiently.

by Konstantin Karpushin
Read more
Read more
Graphic Design Outsourcing for Startups: Cost-Effective Solutions for SaaS
August 8, 2025
|
11
min read

Graphic Design Outsourcing for Startups: Cost-Effective Solutions for SaaS

Learn how outsourcing graphic design can offer cost-effective solutions for startups, especially in SaaS. Discover the benefits, challenges, and tips for finding the right outsourcing partner.

by Ananga Thapaliya
UI/UX
Read more
Read more
The Role of Software Engineering in Healthcare
August 6, 2025
|
10
min read

The Role of Software Engineering in Healthcare Innovation: What Startup Leaders Need to Know

Learn how software engineering drives innovation in healthcare. Understand its role in developing solutions that improve patient care, streamline operations, and enhance business success.

by Konstantin Karpushin
Read more
Read more
August 4, 2025
|
10
min read

Flutter Web Application: A Unified Codebase Strategy for Scalable Startup Products

Discover how Flutter Web applications can provide startups with a unified codebase strategy, enabling scalable, high-performance products across platforms. Learn the benefits for your startup.

by Konstantin Karpushin
Flutter
Read more
Read more
Why Hiring an AI Application Developer Could Be the Smartest Move for Your Startup
August 1, 2025
|
9
min read

Why Hiring an AI Developer is Smart for Your Startup

Discover how hiring an AI application developer can transform your startup by enhancing efficiency, driving innovation, and leveraging the power of artificial intelligence

by Konstantin Karpushin
AI
Read more
Read more
July 30, 2025
|
5
min read

Healthcare Software Engineering: Best Practices for Reliability

Explore the practices in healthcare software engineering to build secure, scalable, and efficient healthcare solutions. Learn how to meet industry standards.

by Konstantin Karpushin
HealthTech
Read more
Read more
Business Process Automation Tools That Improve Efficiency and Cut Costs
July 28, 2025
|
15
min read

Business Process Automation Tools to Cut Costs

Learn how business process automation tools streamline operations, enhance productivity, and cut costs. Discover the benefits of automating business processes.

by Dmytro Maloroshvylo
Automation Tools
Read more
Read more
Logo Codebridge

Let’s collaborate

Have a project in mind?
Tell us everything about your project or product, we’ll be glad to help.
call icon
+1 302 688 70 80
email icon
business@codebridge.tech
Attach file
By submitting this form, you consent to the processing of your personal data uploaded through the contact form above, in accordance with the terms of Codebridge Technology, Inc.'s  Privacy Policy.

Thank you!

Your submission has been received!

What’s next?

1
Our experts will analyse your requirements and contact you within 1-2 business days.
2
Out team will collect all requirements for your project, and if needed, we will sign an NDA to ensure the highest level of privacy.
3
We will develop a comprehensive proposal and an action plan for your project with estimates, timelines, CVs, etc.
Oops! Something went wrong while submitting the form.