# Borders
- You can supply each HTML element with a border
- In order to specify a border, you can either specify border-style,border-widthandborder-colorseparately, or use the shorthand propertyborder(recommended)
- Also the properties border-radiusandbox-shadow, which are somewhat related to borders, are discussed in this section
| property | example | description | 
|---|---|---|
| border-style | border-style: solid; | specifies the style of a border | 
| border-width | border-width: 2px; | specifies the width of a border | 
| border-color | border-color: #f04c25; | specifies the color of a border | 
| border | border: 3px solid red; | shorthand to specify all properties of a border at once | 
| border-radius | border-radius: 15px; | specifies the roundness of the corners of an element | 
| box-shadow | box-shadow: 6px 6px 3px grey; | adds shadow to an element | 
# border-style
- Specifies the style of the border - Possible values: solid,dotted,dashed,double,inset,outset, ...
 
- Possible values: 
img {
    border-style: solid;
}
1
2
3
2
3
WARNING
This property has no default value. It has to be specified or no border will be shown!
| EMMET instruction | result | 
|---|---|
| bds+TAB | border-style: ; | 
| bds:s+TAB | border-style: solid; | 
# border-width
- Specifies the width of the border - Possible values: thin,medium(= default),thick,...px
 
- Possible values: 
img {
    border-style: solid;
    border-width: 5px;
}
1
2
3
4
2
3
4
| EMMET instruction | result | 
|---|---|
| bdw+TAB | border-width: ; | 
# border-color
- Specifies the color of the border
img {
    border-style: solid;
    border-color: red;
}
1
2
3
4
2
3
4
| EMMET instruction | result | 
|---|---|
| bdc+TAB | border-color: #000; | 
# Shorthand property border
- By using the shorthand property border, you can specify the width, style and color in one statement
img {
    border: 5px solid red;
}
1
2
3
2
3
| EMMET instruction | result | 
|---|---|
| bd++TAB | border: 1px solid #000; | 
REMARKS
- If you only want to specify a left, top, right or bottom border, you can use the similar properties border-left,border-top,border-rightandborder-bottom
- Also the separate style, width and color properties exist for left, top, right and bottom: border-left-style,border-top-width,border-bottom-color, ...
# border-radius
- The property border-radiusallows us to round the corners of an element's border- If you supply one value (border-radius: 50px;), it applies to all four corners
- If you supply two values (border-radius: 50px 20px;), the first value (50px) applies to the top-left and bottom-right corner, the second value (20px) applies to the top-right and bottom-left corner
- If you supply three values (border-radius: 50px 10px 75px;), the first value (50px) applies to the top-left corner, the second value (10px) applies to the top-right and bottom-left corner and the third value (75px) applies to the bottom-right corner (rarely used)
- If you supply four values (border-radius: 0px 20px 5px 40px;), the first value (0px) applies to the top-left corner, the second value (20px) applies to the top-right corner, the third value (5px) applies to the bottom-right corner and the fourth value (40px) applies to the bottom-left corner (clockwise)
 
- If you supply one value (
- In theory this property can be applied to any element but obviously, the result will only be noticeable if
- the element has a "visible/colored" border or background
- the element is an image
 
img {
    border-radius: 50px;
}
1
2
3
2
3
DESIGN TIP
- Use img { border-radius: 50%; }to make a circular image (out of a square image)
- In other scenarios, avoid using percentages and use absolute values. This will make sure the rounded corners look more modern.
| EMMET instruction | result | 
|---|---|
| bdrs+TAB | border-radius: ; | 
# box-shadow
- The property box-shadowallows us to add shadow effects around an element- Syntax: box-shadow: hoff voff blur spread color;
 
- Syntax: 
| value | required/optional | description | 
|---|---|---|
| hoff | required | position of the horizontal shadow; negative values are allowed | 
| voff | required | position of the vertical shadow; negative values are allowed | 
| blur | optional | blur radius; default value is 0px | 
| spread | optional | spread radius; make shadow bigger (positive value) or smaller (negative value); default value is 0(shadow is as large as element) | 
| color | optional | (partially transparent) color of the shadow | 
img {
    box-shadow: 10px 10px 5px rgba(155, 245, 255, 0.5);
}
1
2
3
2
3
DESIGN TIP
Avoid using a harsh box shadow for a modern look & feel. Instead, go for a more minimalistic use of the feature.
# All-in-one example
<h1>CSS3 - Borders: example</h1>
<p>Thomas More is the largest university of applied sciences in Flanders, offering more than 30 Dutch-taught and a range of English-taught bachelor degree programmes & postgraduates in the province of Antwerp. </p> <article> <a class="primary">Primary</a> <a class="secondary">Secondary</a> </article> <img id="exterior" src="https://picsum.photos/300/200" alt="old car exterior" />
    
h1 {
  /* border-left-style: solid;
     border-left-width: 5px;
     border-left-color: #FA6432; */
  border-left: 5px solid #FA6432;
}
img {
  border-radius: 15px 30px;
}
p, img, a {
  box-shadow: 0px 5px 15px rgba(0, 40, 60, .17);
}
.primary {
  color: white;
  background-color: #FA6432;
  border-left: 5px solid #C03D1E;
}
.secondary {
  color: #FA6432;
  background-color: white;
  border: 2px solid #FA6432;
}
a:hover,
a:active,
a:focus {
  color: white;
  background-color: #C03D1E;
  border-color: #C03D1E;
}
/* Box model */
h1 {
  margin-left: 5px;
  padding-left: 10px;
}
p {
  margin: 0px 20px;
  padding: 20px;
}
img {
  margin: 20px;
}
article a {
  margin: 20px 0 0 20px;
}
.primary {
  padding: 14px 28px;
}
.secondary {
  padding: 12px 26px;
}
/* Display */
article a {
  display: inline-block;
}
 WARNING
To get a more realistic looking example, we used padding and margin from the Box Model. You will learn more about what it means and how it's used in a later chapter.
