In the following code, if there is both border and border-width, than border-width controls the width. Border controls the width when there is no border-width. Is this normal, maybe it is set so if the border-width doesn’t work in a browser there is a backup style? Oh, if there is no border, than it doesn’t display at all.
The “border” property is just a shorthand to declare border-color, style and width in one line. If you set the width twice, as you have in your example, then the second one overrides the first one.
There are many similar shorthands to simplify what would otherwise be more verbose than css already is
border-width: 5px; It will assign border-width shorthand CSS property and sets the widths of all four sides of an element’s border . But it will not work without border-style , as per w3schools