A demonstration of using border-radius, linear-gradient, and box-shadow to create a convincing 3D sphere from a 2D box.
Forked from Rob Glazebrook's Pen Blue Marble.
A demonstration of using border-radius, linear-gradient, and box-shadow to create a convincing 3D sphere from a 2D box.
Forked from Rob Glazebrook's Pen Blue Marble.
| <div class="ball"> | |
| <b></b> | |
| <span>42</span> | |
| </div> |
| body { | |
| background-color: #191919; | |
| padding-top: 15%; | |
| & > * { | |
| margin: 30px auto 0; | |
| } | |
| } | |
| .ball { | |
| $size: 300px; | |
| position: relative; | |
| display: block; | |
| width: $size; | |
| height: $size; | |
| b { | |
| display: block; | |
| background-color: #3b4ba3; | |
| width: $size; | |
| height: $size; | |
| border-radius: 50%; | |
| box-shadow: inset -25px -25px 40px rgba(0, 0, 0, .5); | |
| background-image: linear-gradient(to bottom right, rgba(255, 255, 220, .2) 0%, transparent 100%); | |
| position: absolute; | |
| &:before { | |
| content: " "; | |
| display: block; | |
| backgound-color: #000; | |
| position: absolute; | |
| top: 30%; | |
| left: 30%; | |
| margin-top: -12.5%; | |
| margin-left: -12.5%; | |
| height: 0; | |
| width: 0; | |
| border: ($size / 3.05) solid #fff; | |
| border-radius: 50%; | |
| } | |
| &:after { | |
| content: " "; | |
| display: block; | |
| backgound-color: #000; | |
| position: absolute; | |
| top: 25%; | |
| left: 25%; | |
| margin-top: -12.5%; | |
| margin-left: -12.5%; | |
| height: ($size / 1.43); | |
| width: ($size / 1.43); | |
| border: ($size / 40) solid #fff; | |
| border-radius: 50%; | |
| } | |
| & + span { | |
| position: absolute; | |
| font-family: Lato; | |
| color: #000; | |
| text-align: center; | |
| line-height: ($size / 1.1); | |
| text-decoration: underline; | |
| font-size: ($size / 2.5); | |
| font-variant: normal; | |
| font-weight: 100; | |
| display: block; | |
| width: $size; | |
| height: $size; | |
| } | |
| } | |
| } |
| <link href="//fonts.googleapis.com/css?family=Lato" rel="stylesheet" /> |