Pen Settings

HTML

CSS

CSS Base

Vendor Prefixing

Add External Stylesheets/Pens

Any URLs added here will be added as <link>s in order, and before the CSS in the editor. You can use the CSS from another Pen by using its URL and the proper URL extension.

+ add another resource

JavaScript

Babel includes JSX processing.

Add External Scripts/Pens

Any URL's added here will be added as <script>s in order, and run before the JavaScript in the editor. You can use the URL of any other Pen and it will include the JavaScript from that Pen.

+ add another resource

Packages

Add Packages

Search for and use JavaScript packages from npm here. By selecting a package, an import statement will be added to the top of the JavaScript editor for this package.

Behavior

Auto Save

If active, Pens will autosave every 30 seconds after being saved once.

Auto-Updating Preview

If enabled, the preview panel updates automatically as you code. If disabled, use the "Run" button to update.

Format on Save

If enabled, your code will be formatted when you actively save your Pen. Note: your code becomes un-folded during formatting.

Editor Settings

Code Indentation

Want to change your Syntax Highlighting theme, Fonts and more?

Visit your global Editor Settings.

HTML

              
                .container
	.cassettee__base
		.cassette__screws
			- for (var i = 0; i < 4; i++)
				.screw
		.cassette__label
			.wheel__container
				.left_wheel
					- for (var i = 0; i < 6; i++)
						.tick
				.right_wheel
					- for (var i = 0; i < 6; i++)
						.tick
			.tape__container
				.left__tape
				.right__tape
		.cassette__bottom
			.circle_hole
			.circle_hole
			.rect_hole
			.rect_hole
              
            
!

CSS

              
                $black: #000000
$white: #ffffff
$pink: #ff1ead

*, *::before, *::after
	box-sizing: border-box 
	margin: 0 
	padding: 0
html
	background: #efefef

html, body
	width: 100%
	height: 100%
.container
	width: 400px
	height: 350px
	margin: 0 auto
	padding-top: 100px 

.cassettee__base
	margin: 0 auto
	position: relative
	width: 100%
	height: 100%
	border: 2px solid lighten($black, 40%)
	box-shadow: 5px 5px 10px lighten($black, 35%)
	border-radius: 15px
	background: $black
	.cassette__screws
			position: absolute
			width: 100%
			height: 100%
			.screw
					position: absolute
					width: 10px
					height: 10px
					border-radius: 50%
					border: 1px solid $black
					background: lighten($black, 20%)
			.screw:nth-of-type(1)
					top: .5rem
					left: .5rem
			.screw:nth-of-type(2)
					top: .5rem
					right: .5rem
			.screw:nth-of-type(3)
					bottom: .5rem
					left: .5rem
			.screw:nth-of-type(4)
					bottom: .5rem
					right: .5rem

.cassette__label
		position: absolute
		width: 350px
		height: 169px
		border-radius: 4px
		background-color: $white
		background-image: linear-gradient(180deg, transparent 70%, $pink 70%), linear-gradient(180deg, transparent 50%, lighten($pink, 15%) 50%, lighten($pink, 15%) 65%, transparent 65%), linear-gradient(180deg, transparent 35%, lighten($pink, 25%) 35%, lighten($pink, 25%) 45%, transparent 45%)
		top: 25px
		left: 25px
		&::before, &::after
				z-index: 10
				content: ""
				position: absolute
				display: block
				width: 20px
				height: 20px
				background: $black 
		&::before
				transform: rotate(45deg)
				left: -10px
				top: -10px
		&::after
				transform: rotate(45deg)
				right: -10px
				top: -10px
		.tape__container
				z-index: 10
				width: 200px
				height: 100px
				margin: 30px auto
				display: flex
				background: lighten($black, 90%)
				justify-content: space-between
				align-items: center
				clip-path: polygon(25% 28%, 75% 28%, 75% 70%, 25% 70%)
				.left__tape, .right__tape
						background: $black
						border-radius: 50%
						max-width: 50%
				.left__tape
						float: left
						width: 100px
						height: 100px
						animation: lefttape 20s linear 1
				.right__tape
						float: right
						width: 100px
						height: 100px
						transform: scale(0.6)
						animation: righttape 20s linear 1
		.wheel__container
				position: absolute
				top: 49px
				left: 75px
				width: 200px
				height: 60px
				display: flex
				align-items: center
				justify-content: space-between
				background: $white
				border: 1px solid $black
				border-radius: 30px
				.left_wheel, .right_wheel
						position: relative
						z-index: 50
						overflow: hidden
						width: 45px
						height: 45px
						background: white
						border: 1px solid $black
						border-radius: 50%
						.tick
								position: absolute
								width: 4px
								height: 7px
								background: $black
						.tick:nth-of-type(1)
								top: -1px
								left: 20px
						.tick:nth-of-type(2)
								left: 2px
								top: 10px
								transform: rotate(-60deg)
						.tick:nth-of-type(3)
								top: 28px
								left: 2px
								transform: rotate(60deg)
						.tick:nth-of-type(4)
								bottom: -1px
								left: 20px
						.tick:nth-of-type(5)
								bottom: 8px
								right: 2px
								transform: rotate(-60deg)
						.tick:nth-of-type(6)
								top: 8px
								right: 2px
								transform: rotate(60deg)
				.left_wheel
						margin-left: 20px
						animation: wheelL 2s 0s linear 5, wheelR 2s 10s linear 5
				.right_wheel
						margin-right: 20px
						animation: wheelL 2s 0s linear 5, wheelR 2s 10s linear 5
			
.cassette__bottom
		position: absolute
		width: 300px
		bottom: -1px
		left: 50px 
		border-bottom: 55px solid lighten($black, 15%)
		border-left: 15px solid transparent
		border-right: 15px solid transparent
		border-top: 0 solid transparent
		.circle_hole
				position: absolute
				bottom: -50px
				width: 15px
				height: 15px
				border-radius: 50%
				background: #efefef
				border: 3px solid lighten($black, 12%)
		.circle_hole:nth-of-type(1)
				left: 30px
		.circle_hole:nth-of-type(2)
				right: 30px
		.rect_hole
				position: absolute
				bottom: -35px
				width: 17px
				height: 13px
				border-radius: 40%
				background: #efefef
				border: 3px solid lighten($black, 12%)
		.rect_hole:nth-of-type(3)
				left: 60px
		.rect_hole:nth-of-type(4)
				right: 60px
@keyframes lefttape
	0%
			transform: scale(1)
	50%
			transform: scale(0.6)
	100%
			transform: scale(1)

@keyframes righttape
	0%
			transform: scale(0.6)
	50%
			transform: scale(1)
	100%
			transform: scale(0.6)

@keyframes wheelL
	0%
			transform: rotate(0deg)
	100%
			transform: rotate(360deg)

@keyframes wheelR
	0%
			transform: rotate(0deg)
	100%
			transform: rotate(-360deg)    
              
            
!

JS

              
                
              
            
!
999px

Console