Welcome to Code Forum!

Join a community that supports you and your coding journey from day one. We strive to be a friendly, supportive community that empowers everyone to be better developers. By registering with us, you'll be able to discuss, share and private message with other members of our community.

SignUp Now!
  • Guest, before posting your code please take these rules into consideration:
    • It is required to use our BBCode feature to display your code. While within the editor click < / > or >_ and place your code within the BB Code prompt. This helps others with finding a solution by making it easier to read and easier to copy.
    • You can also use markdown to share your code. When using markdown your code will be automatically converted to BBCode. For help with markdown check out the markdown guide.
    • Don't share a wall of code. All we want is the problem area, the code related to your issue.

    GIF shows where to locate </> in the thread and or post editor toolbar.
    To learn more about how to use our BBCode feature, review our "How to post your code into threads" here.

    Thank you, Code Forum.

HTML & CSS CSS Flexbox Layout

Need to understand about -webkit-flex, -ms-flex, and flex. In the following HTML DOC, the -webkit-flex for nav is 1 and for article is 3. Why is that and what does 1 and 3 mean?

HTML:
<!DOCTYPE html>

<html lang="en">

<head>

<title>CSS Template</title>

<meta charset="utf-8">

<meta name="viewport" content="width=device-width, initial-scale=1">

<style>

* {

  box-sizing: border-box;

}


body {

  font-family: Arial, Helvetica, sans-serif;

}


/* Style the header */

header {

  background-color: #666;

  padding: 30px;

  text-align: center;

  font-size: 35px;

  color: white;

}


/* Container for flexboxes */

section {

  display: -webkit-flex;

  display: flex;

}


/* Style the navigation menu */

nav {

  -webkit-flex: 1;

  -ms-flex: 1;

  flex: 1;

  background: #ccc;

  padding: 20px;

}


/* Style the list inside the menu */

nav ul {

  list-style-type: none;

  padding: 0;

}


/* Style the content */

article {

  -webkit-flex: 3;

  -ms-flex: 3;

  flex: 3;

  background-color: #f1f1f1;

  padding: 10px;

}


/* Style the footer */

footer {

  background-color: #777;

  padding: 10px;

  text-align: center;

  color: white;

}


/* Responsive layout - makes the menu and the content (inside the section) sit on top of each other instead of next to each other */

@media (max-width: 600px) {

  section {

    -webkit-flex-direction: column;

    flex-direction: column;

  }

}

</style>

</head>

<body>


<h2>CSS Layout Flexbox</h2>

<p>In this example, we have created a header, two columns/boxes and a footer. On smaller screens, the columns will stack on top of each other.</p>

<p>Resize the browser window to see the responsive effect.</p>

<p><strong>Note:</strong> Flexbox is not supported in Internet Explorer 10 and earlier versions.</p>


<header>

  <h2>Cities</h2>

</header>


<section>

  <nav>

    <ul>

      <li><a href="#">London</a></li>

      <li><a href="#">Paris</a></li>

      <li><a href="#">Tokyo</a></li>

    </ul>

  </nav>

 

  <article>

    <h1>London</h1>

    <p>London is the capital city of England. It is the most populous city in the  United Kingdom, with a metropolitan area of over 13 million inhabitants.</p>

    <p>Standing on the River Thames, London has been a major settlement for two millennia, its history going back to its founding by the Romans, who named it Londinium.</p>

  </article>

</section>


<footer>

  <p>Footer</p>

</footer>


</body>

</html>
 
Last edited by a moderator:
Take a look at: https://developer.mozilla.org/en-US/docs/Web/CSS/flex

Basically, the number has to do with how big the element is in relation to the container. So, I'm guessing the template you have is a navbar on one side and an article on the other? The navbar has a value of 1, so it would be 25% of the container, whereas the article has a value of 3, so it would be 75% of the container.

If the navbar and article both had values of 1, they would each take up 50% of the container.

So the number is just a way of determining how big an item is relative to the other items in the container. It's more flexible than percents because you could add another element with say a value of 5 and the rest of the elements would figure out how big they need to be, without you having to go back and update percents.
 
Take a look at: https://developer.mozilla.org/en-US/docs/Web/CSS/flex

Basically, the number has to do with how big the element is in relation to the container. So, I'm guessing the template you have is a navbar on one side and an article on the other? The navbar has a value of 1, so it would be 25% of the container, whereas the article has a value of 3, so it would be 75% of the container.

If the navbar and article both had values of 1, they would each take up 50% of the container.

So the number is just a way of determining how big an item is relative to the other items in the container. It's more flexible than percents because you could add another element with say a value of 5 and the rest of the elements would figure out how big they need to be, without you having to go back and update percents.
@Mutiny , thanks a ton. This helped a lot.
 

Buy us a coffee!

Buy me a coffee.
Back
Top Bottom