Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision |
ideas:mistakes [2017/10/17 16:17] – fantasai | ideas:mistakes [2018/10/08 13:53] – fantasai |
---|
* Table layout should be sane. | * Table layout should be sane. |
* Box-sizing should be ''border-box'' by default. | * Box-sizing should be ''border-box'' by default. |
* ''background-size'' with one value should duplicate its value, not default the second one to ''auto''. | * ''background-size'' with one value should duplicate its value, not default the second one to ''auto''. Ditto ''translate()''. |
* ''background-position'' and ''border-spacing'' (all 2-axis properties) should take *vertical* first, to match with the 4-direction properties like ''margin''. | * ''background-position'' and ''border-spacing'' (all 2-axis properties) should take *vertical* first, to match with the 4-direction properties like ''margin''. |
* The 4-value shorthands like ''margin'' should go counter-clockwise (so that the inline-start value is before the block-start value). | * The 4-value shorthands like ''margin'' should go counter-clockwise (so that the inline-start value is before the block-start value). |
* ''font-family'' should have required the font name to be quoted (like all other values that come from "outside" CSS). The rules for handling unquoted font names make parsing ''font'' stupid, as it requires a ''font-size'' value for disambiguation. | * ''font-family'' should have required the font name to be quoted (like all other values that come from "outside" CSS). The rules for handling unquoted font names make parsing ''font'' stupid, as it requires a ''font-size'' value for disambiguation. |
* Flexbox should have been less crazy about flex-basis vs width/height. Perhaps: if width/height is ''auto'', use flex-basis; otherwise, stick with width/height as an inflexible size. (This also makes min/max width/height behavior fall out of the generic definition.) | * Flexbox should have been less crazy about flex-basis vs width/height. Perhaps: if width/height is ''auto'', use flex-basis; otherwise, stick with width/height as an inflexible size. (This also makes min/max width/height behavior fall out of the generic definition.) |
* :empty should have been :void, and :empty should select items that contain only white space | * <del>:empty should have been :void, and :empty should select items that contain only white space</del> FIXED in the spec, waiting for implementations to check for Web-compat... |
* ''table-layout: fixed; width: auto'' should result in a fill-available table with fixed-layout columns. | * ''table-layout: fixed; width: auto'' should result in a fill-available table with fixed-layout columns. |
* 'text-orientation' should have had ''upright'' as the initial value (given the latest changes to 'writing-mode'). | * 'text-orientation' should have had ''upright'' as the initial value (given the latest changes to 'writing-mode'). |
* We probably should have avoided mixing keywords (span) with idents in the [[https://github.com/w3c/csswg-drafts/issues/1137|grid properties]], possibly by using functional notation (like ''span(2)''). | * We probably should have avoided mixing keywords (span) with idents in the [[https://github.com/w3c/csswg-drafts/issues/1137|grid properties]], possibly by using functional notation (like ''span(2)''). |
* comments shouldn't have been allowed basically everywhere in CSS (compare to HTML, which basically only allows them where content goes), because it makes them basically unrepresentable in the object model, which in turn makes building editing directly on top of the object model impossible | * comments shouldn't have been allowed basically everywhere in CSS (compare to HTML, which basically only allows them where content goes), because it makes them basically unrepresentable in the object model, which in turn makes building editing directly on top of the object model impossible |
| * The alignment properties in Flexbox should have been writing-mode relative, not flex-flow relative, and thus could have reasonably understandable names like align-inline-* and align-block-*. |