//- Daily UI #006 User Profile
.profile
	.photo
		img(src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/764024/profile/profile-512.jpg")
	.content
		.text
			h3 Kelly Chen
			h6 Front-end Web Designer
		.btn
			span
	.box
		i.fa.fa-codepen
		i.fa.fa-facebook
		i.fa.fa-github
		i.fa.fa-tumblr
		i.fa.fa-twitter
		
		
View Compiled
@import 'https://fonts.googleapis.com/css?family=Raleway'
=size($w, $h)
	width: $w
	height: $h
=bdrs($bdrs)
	border-radius: $bdrs
*
	outline: none
	user-select: none
body, html
	margin: 0
	background: #ddd
	color: #7a7b7c
body
	font-family: 'Raleway', 'Microsoft JhengHei', Arial, sans-serif
.profile
	+size(330px, 100px)
	position: absolute
	top: 50%
	left: 50%
	transform: translate(-50%, -50%)
	+bdrs(5px)
	background-color: #fafafa
	box-shadow: 0 0 2rem #babbbc
	animation: show-profile .5s forwards ease-in-out
	@keyframes show-profile
		0%
			width: 0
	.photo, .content
		box-sizing: border-box
	.photo
		+size(100px, 100px)
		+bdrs(50%)
		overflow: hidden
		border: 5px solid #fafafa
		background-color: #fafafa
		margin-left: -50px
		box-shadow: 0 0 .5rem #babbbc
		animation: rotate-photo .5s forwards ease-in-out
		@keyframes rotate-photo
			100%
				transform: rotate(-360deg)
		img
			width: 100%
	.content
		padding: 10px
		overflow: hidden
		position: absolute
		+size(100%, 100%)
		top: 0
		left: 0
		&::before
			content: ''
			position: absolute
			+size(230px, 150px)
			background-color: #e9f3e6
			left: 0
			top: -20px
			z-index: -1
			transform: rotate(-8deg)
		.text
			margin-top: 20px
			margin-left: 50px
			h3, h6
				font-weight: normal
				margin: 3px 0
				letter-spacing: .5px
				white-space: nowrap
		.btn
			background-color: #abc
			+size(50px, 50px)
			position: absolute
			right: 25px
			top: 25px
			+bdrs(50%)
			z-index: 1
			cursor: pointer
			transition-duration: .3s
			animation: pop-btn .3s both ease-in-out .5s
			@keyframes pop-btn
				0%
					transform: scale(0)
				80%
					transform: scale(1.2)
				100%
					transform: scale(1)
			&:hover
				box-shadow: 0 0 0 5px rgba(#abc, .5)
			span
				+size(60%, 2px)
				position: absolute
				background-color: white
				top: 50%
				left: 20%
				transform: translateY(-50%)
				animation: to-hamburger .3s forwards ease-in-out
				&::before, &::after
					content: ''
					+size(100%, 2px)
					position: absolute
					background-color: white
					transition-duration: .3s
					transform: rotate(0deg)
					right: 0
				&::before
					margin-top: -7px
				&::after
					margin-top: 7px
			&.active
				span
					animation: to-arrow .3s forwards ease-in-out
					&::before, &::after
						width: 60%
						right: -1px
					&::before
						transform: rotate(45deg)
					&::after
						transform: rotate(-45deg)
		@keyframes to-hamburger
			from
				transform: translateY(-50%) rotate(-180deg)
		@keyframes to-arrow
			from
				transform: translateY(-50%) rotate(0deg)
			to
				transform: translateY(-50%) rotate(180deg)
	.box
		+size(150px, 150px)
		opacity: 0
		+bdrs(50%)
		background-color: rgba(white, .7)
		position: absolute
		top: 50%
		right: -40%
		transform: translate(-50%, -50%)
		transition-duration: .3s
		i
			+size(50px, 50px)
			+bdrs(50%)
			background-color: #ececec
			font-size: 26px
			text-align: center
			line-height: 50px
			position: absolute
			left: 18px
			top: calc(75px - 50px/2)
			box-shadow: 0 0 .5rem #babbbc
			transition-duration: .3s
			&:hover
				transition-delay: initial !important
				box-shadow: 0 0 0 5px #babbbc
		&.open
			opacity: 1
			i
				left: 60px
				$item: 5
				@for $i from 0 through ($item - 1)
					$deg: 180deg / ($item - 1) //因圍繞半圓,為頭尾垂直對齊使item-1
					&:nth-of-type(#{$i + 1})
						transform: rotate($deg * $i - 90 ) translateX(120px) rotate(-$deg * $i + 90 )
						transition-delay: .1s * $i
View Compiled
$('.btn').click ->
	$(this).toggleClass 'active'
	$('.box').toggleClass 'open'
View Compiled

External CSS

  1. https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.6.3/css/font-awesome.css

External JavaScript

  1. https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.0/jquery.min.js