简体   繁体   中英

CSS calc percentage width and division

I have menu which is a list with three list-items:

<ul class="menu_container">
  <li class="item">Item1</li>
  <li class="item">Item2</li>
  <li class="item">Item3</li>
</ul>

The width of the ul element changes as you resize the browser and I'm trying to use calc to workout the widths of the items so that they are equal. The first and third list-items have a 2px wide left and right border.

In the Chrome dev tools the width of menu_container is 636px. If I inspect the first list-item and do width: 100% it shows 640px. But if I do calc((100% - 12px) / 3) it shows 212px for the width. Why is this not (640 - 12) / 3 = 209.333?

Box-sizing:border-box

With box-sizing:border-box the dimension is calculated as, width = border + padding + width of the content, and height = border + padding + height of the content.

Example

width = 100px + 2px border on both side = 4px + padding 5px on both side = 10px

The total will be 100px + 4px + 10px = 114px

With box-sizing:borderbox property

The total will be 100px because the border and padding is given from inside

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM