1.1 KiB
1.1 KiB
title, tags
| title | tags |
|---|---|
| Gradient border | visual,intermediate |
Creates a gradient border.
<div class="gradient-border">
<p>Gradient border!</P>
</div>
.gradient-border {
position: relative;
border: solid 1px transparent;
border-radius: 10px;
background-color: #f7f7fe;
background-clip: padding-box;
margin: 8px;
padding: 8px 16px;
}
.gradient-border:before {
content: '';
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: -1;
margin: -1px;
border-radius: inherit;
background: linear-gradient(to bottom, #d3e7ec, #fff);
}
Explanation
- Create a block with a transparent border, relative position and a background.
- Absolute position the
:beforepseudo-element with a gradient background andz-index: -1. - Use
top: 0,right: 0,bottom: 0,left: 0to make the pseudo-element equal size to its parent element,margin: -1pxto make it larger. - Use
background-clip: padding-boxto not draw the parent element's background below the border.