Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
CSS3 Box Model behaviour (codemancers.com)
41 points by dkannan on Nov 19, 2013 | hide | past | favorite | 13 comments


Paul Irish also discusses this in his blog post from Feb. 2012:

http://www.paulirish.com/2012/box-sizing-border-box-ftw/


Modded up, but I really hope most frontend folk on HN already know about border-box.

Short ver: float two 50% widths beside each other. Change padding as you like later and not have stuff break.

I have been doing this for a year now, it's godlike especially for in-browser design.


Another great use is combining percentages with pixel values. 100% wide with a 30px border? Simple. Used to be impossible with only one element.


Border box is also a godsend when dealing with nicely laid out form inputs because unlike elements like divs you can't get away with nesting child elements to get the desired effect, and you typically have borders on those fields. Need a textarea to fill a certain space? Set it to 100% and forget it.


From my understanding most browser use border-box on form elements by default anyway. That's why they often look different from other elements with the same styling.


I don't think so. There are endless blog articles online that have addressed this, e.g. http://davidwalsh.name/textarea-width


I was going by this, http://www.paulirish.com/wp-content/uploads/2011/gplus-boxsi..., which I believe doesn't include textarea as one of the elements involved.


What I've been trying to figure out for years is when/why content-box would be a desirable state of affairs.

Most of the time, you know the border-box width (and probably the padding and border) want the browser to figure out the content-width, which is why the standard box model always seemed like a pain, because it makes you do that instead (assuming you're using units where that's even possible).

I'm trying to think of a situation where that'd be useful -- where it'd be helpful from a layout perspective to start with content-width -- so I could figure out what the w3 folks were thinking, but I've always had trouble with that. Has anybody figured this out?


I'm guessing some of that could be due to taking the wrong path initially then leaving things the way they are. Platforms like WPF/Silverlight fixed these headaches years ago right from their conception.


probably they wanted to go against IE as a behavioural pattern :)


Legacy IE got few things right, this was one of them.


For those of you who don't know, Bootstrap 3 uses border-box for everything by default. Anyone who has worked with front end design a bit has probably cringed many times at the thought of having to assign the full dimensions of the box you want to an outer div, then create an inner div with padding in order to achieve the same result that border-box solves. Didn't IE also invent @font-face?


Pretty surprised that this basic, well known style rule is front page. I guess it's not as well known as I thought.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: