When using box-sizing: border-box
in CSS, I assume that the total width of an element will be defined in its "width" value. So if I say that the width of a division is 20px and the right border is 10px, I will end up with a box that takes up the space of 20px and half of it is the right border. Pushing it to the point where I set the width to 10px and the right border, too, like here:
#box {
overflow: hidden;
width: 10px;
box-sizing: border-box;
height: 50px;
background: black;
border-right: 10px solid red;
}
<div id="box"></div>
The box will only consist of the red border. What should happen, when I set the width to 0px? I thought it would make the whole thing disappear, but no, the result is exactly the same like the one above:
#box-1 {
overflow: hidden;
width: 10px;
box-sizing: border-box;
height: 50px;
margin-bottom: 10px;
background: black;
border-right: 10px solid red;
}
#box-2 {
overflow: hidden;
width: 0px;
box-sizing: border-box;
height: 50px;
background: black;
border-right: 10px solid red;
}
<div id="box-1"></div>
<div id="box-2"></div>
My question is if this is the expected behavior. Seems inconsistent to me. I would like to make a box disappear only manipulating the width/height.
-moz-box-sizing
and-webkit-box-sizing
. If you want to make something disappear consider usingdisplay:none;
orvisibility:hidden;
– Parotid