<div class="container">
<div class="box">
<button type="submit">Click Me!</button>
</div>
</div>
@import url("https://fonts.googleapis.com/css2?family=Exo:wght@600&display=swap");
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
width: 100vw;
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
gap: 10px;
font-family: "Exo", Arial, sans-serif;
background-color: #220;
color: #fff;
transition: all 150ms linear;
}
button {
display: inline-flex;
justify-content: center;
align-items: center;
padding: 12px 20px;
cursor: pointer;
user-select: none;
transition: all 150ms linear;
color: #fff;
border: 0 none;
border-radius: 10rem;
font-size: 1.5rem;
font-weight: 500;
appearance: none;
flex: 0 0 200px;
box-shadow: 0px 5px 2px #e4e4e4;
background-color: #416dea;
}
button:hover {
transition: all 150ms linear;
opacity: 0.85;
}
button:focus:not(:focus-visible) {
outline: 2px dotted #416dea;
outline-offset: 2px;
box-shadow: 0px 1px 1px #416dea;
}
button:focus-visible {
outline: 2px solid #416dea;
outline-offset: 2px;
box-shadow: 0px 1px 1px #416dea;
}
.container {
width: 50vw;
height: 50vh;
display: flex;
justify-content: center;
align-items: center;
border: 1px solid #f09;
border-radius: 5px;
padding: 40px;
}
.box {
width: 100%;
height: 100%;
border: 1px dashed #09f;
display: flex;
justify-content: center;
align-items: center;
padding: 30px;
border-radius: 5px;
}
div {
position: relative;
}
div::before {
content: attr(class);
position: absolute;
white-space: nowrap;
left: 2px;
bottom: calc(100% + 2px);
background-color: rgba(0, 0, 0, 0.7);
padding: 5px 10px;
}
.box:focus-within,
.container:focus-within {
box-shadow: 0 0 5px 3px rgba(255, 255, 255, 0.65);
}
body:focus-within {
background-color: #2a0f5bde;
}
html:focus-within {
border: 5px solid #09f;
}
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.