Also: class names are separated with spaces in the HTML, so your inner boxes have 2 classes each, "box" and "child". This is fine, you can have lots of classes, but the css you made for the box class will apply to both the outer box and the inner boxes, which I don't think was your intention.
For easy positioning of the box inside the viewport, as well as its content we will be using CSS 'flexbox layout'. Check out CSS-tricks A Complete Guide to Flexbox for a reference on FBL.
If you use width and height, and also want some padding and/or border, you also need to make sure that you have box-sizing: border-box;, otherwise you will get larger box that will cause scrolling.
I have 2 divs side-by-side in a flexbox. The right hand one should always be the same width, and I want the left hand one to just grab the remaining space. But it won't unless I specifically set its
You can specify a value for how much the shadow expands or contracts (makes my second example obsolete): fiddle The full property list is: box-shadow: [horizontal-offset] [vertical-offset] [blur-radius] [spread-distance] [color] inset? But even better, read through the spec.
I need to create a box-shadow on some block element, but only (for example) on its right side. The way I do it is to wrap the inner element with box-shadow into an outer one with padding-right and
Make the font size larger and add height (or line height to the input boxes) I would not recommend adding those size and height attributes in the HTML as that can be handled by CSS. I have made a class text-box that can be used for multiple input boxes