<html lang="en">
<head>
<title>Gradient borders with transparent background</title>
<meta charset="utf-8">
<style>
* {
box-sizing: border-box;
}
body {
background-color: black;
color: white;
}
.card {
background-color: gray;
color: black;
}
.gradient-border-mask {
display: flow-root;
position: relative;
padding: 1.3rem;
}
.gradient-border-mask::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
border-radius: 5px;
border: 5px solid transparent;
background: linear-gradient(45deg, purple, orange) border-box;
-webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
-webkit-mask-composite: destination-out;
mask-composite: exclude;
}
</style>
</head>
<body>
<div class="gradient-border-mask">
<p>Lorem ipsum dolor sit amet consectetur</p>
</div>
<div class="card">
<p>Lorem ipsum dolor sit amet consectetur</p>
<div class="gradient-border-mask">
<p>Lorem ipsum dolor sit amet consectetur</p>
</div>
</div>
</body>
</html>