Merge pull request #20 from yuki540net/feature/profile-page__sp

Feature/profile page  sp
This commit is contained in:
yuki540 2018-04-19 16:30:31 +09:00 committed by GitHub
commit e39e309883
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 248 additions and 2 deletions

View File

@ -413,7 +413,7 @@
<span>Job</span><span></span><span>ニート(通う理由がなく、専門学校退学した)</span>
</div>
<div class="info-li">
<span>Love</span><span></span><span>アニメ, 由比ヶ浜結衣, ミライアカリ, ココロヤミ</span>
<span>Love</span><span></span><span>由比ヶ浜結衣, ミライアカリ, ココロヤミ</span>
</div>
</div>
</section>

View File

@ -0,0 +1,165 @@
@include sp-layout {
.page-box {
position: absolute;
top: 0; left: 0;
width: 100%; height: 100%;
background-color: $theme-pink;
transform-origin: right top;
transform: rotate(90deg);
overflow: hidden;
z-index: 1002;
}
/*** bg ***/
.page-box__bg {
position: absolute;
top: 0; left: 0;
width: 100%; height: 100%;
div {
position: absolute;
top: 0; left: 0;
width: 100%; height: 100%;
transform-origin: right top;
transform: rotate(90deg);
}
div:nth-child(1) {
background-color: $theme-light-pink;
}
div:nth-child(2) {
background-color: $theme-bg;
&::after {
content: ""; display: block;
width: 100%; height: 100%;
background-size: 15px;
background-image: url(../images/bg.png);
opacity: 0.4;
}
}
}
/*** content ***/
.page-box__content {
position: absolute;
top: 8px; left: 8px;
width: calc(100% - 16px); height: calc(100% - 16px);
border: solid 5px $theme-pink;
box-sizing: border-box;
background-color: $theme-bg;
border-radius: 15px;
box-shadow: 0 0 15px rgba(0,0,0,0.6) inset;
overflow: auto;
opacity: 0;
transition: all 0.35s ease 0s;
.page-title {
position: relative;
margin: 50px auto;
width: 280px; height: 40px;
div {
position: absolute;
right: 0; top: 0;
height: 100%;
}
div:nth-child(1) { width: 100%; background-color: $theme-gray; }
div:nth-child(2) { width: calc(100% - 10px); background-color: $theme-light-purple; }
div:nth-child(3) { width: calc(100% - 20px); background-color: $theme-light-pink; }
div:nth-child(4) { width: calc(100% - 30px); background-color: $theme-pink; }
h2 {
position: absolute;
top: 0; left: 0;
width: 100%; height: 40px;
font-size: 20px;
color: #fff;
text-align: center;
line-height: 40px;
}
}
}
/*** close-btn ***/
.page-box__close-btn {
position: absolute;
top: 5px; right: 5px;
width: 50px; height: 50px;
display: block;
transform: translate(calc(100% + 20px), calc(-100% + -20px));
z-index: 5;
section {
position: absolute;
top: 0; left: 0;
width: 100%; height: 100%;
box-shadow: 0 0 5px rgba(0,0,0,0.4);
border-radius: 3px;
transition: all 0.35s ease 0s;
}
section:nth-child(1) {
background-color: $theme-pink;
transform: rotate(0deg);
}
section:nth-child(2) {
background-color: $theme-bg;
&::before,
&::after {
content: ""; display: block;
position: absolute;
top: 24px; left: 10px;
width: 30px; height: 1px;
border-top: dashed 2px $theme-purple;
box-sizing: border-box;
opacity: 0.7;
}
&::before { transform: rotate(45deg); }
&::after { transform: rotate(-45deg); }
}
}
.page-box__close-btn:hover {
section:nth-child(1) { background-color: $theme-purple; }
section:nth-child(2) { background-color: #eee; }
}
.page-box__close-btn:hover ~ .page-box__content { border-color: $theme-purple; }
.page-box[data-state="true"] {
animation: page-box__show 0.35s ease 0s forwards;
/*** bg ***/
.page-box__bg {
div:nth-child(1) { animation: page-box__show 0.35s ease 0.1s forwards; }
div:nth-child(2) { animation: page-box__show 0.35s ease 0.2s forwards; }
}
/*** content ***/
.page-box__content {
animation: page-box__show-content 0.6s ease 0.55s forwards;
}
/*** close-btn ***/
.page-box__close-btn {
animation: page-box__show-close-btn 0.6s ease 0.9s forwards;
section:nth-child(1) { animation: page-box__rotate-close-btn 0.6s ease 0.9s forwards; }
}
}
.page-box[data-state="false"] {
transform: rotate(0deg);
animation: page-box__hidden 0.35s ease-in-out 0.2s forwards;
/*** bg ***/
.page-box__bg {
div { transform: rotate(0deg); }
div:nth-child(1) { animation: page-box__hidden 0.35s ease-in-out 0.1s forwards; }
div:nth-child(2) { animation: page-box__hidden 0.35s ease-in-out 0s forwards; }
}
/*** content ***/
.page-box__content,
.page-box__close-btn {
animation: fadeout 0.2s ease 0s forwards;
}
}
}

View File

@ -0,0 +1,81 @@
@include sp-layout {
.profile-page {}
/*** body ***/
.profile-page__body {
.icon {
position: relative;
width: 150px; height: 150px;
margin: 0 auto;
border: solid 5px $theme-purple;
background-color: $theme-purple;
border-radius: 50%;
box-sizing: border-box;
&:after {
position: absolute;
top: 0; left: 0;
content: ""; display: block;
width: 100%; height: 100%;
border-radius: 50%;
background-image: url(../images/profile/yuki540.png);
background-size: cover;
background-position: center;
}
div {
position: absolute;
background-color: $theme-purple;
}
div:nth-child(1) { width: 25px; height: 100px; left: 0; bottom: -5px; border-radius: 20px; }
div:nth-child(2) { width: 10px; height: 80px; left: 40px; bottom: -10px; border-radius: 4px; }
div:nth-child(3) { width: 18px; height: 80px; left: calc(50% - 6px); bottom: -50px; border-radius: 10px; }
div:nth-child(4) { width: 12px; height: 80px; right: 0px; bottom: -3px; border-radius: 8px; }
}
.name {
margin: 0 auto;
margin-top: 60px;
width: 150px; height: 40px;
border-left: solid 15px $theme-purple;
background-color: #fff;
padding: 0 5px;
box-shadow: 0 0 5px rgba(0,0,0,0.4);
font-size: 25px;
color: #555;
font-weight: bold;
text-align: center;
line-height: 40px;
transform: rotate(-5deg);
}
.info {
margin: 0 auto;
margin-top: 40px;
.info-li {
position: relative;
width: 80%;
padding: 0 10px;
margin: 0 auto;
margin-bottom: 15px;
border-bottom: solid 1px $theme-light-pink;
span {
font-size: 10px;
color: $theme-light-purple;
margin-right: 5px;
}
&::after {
position: absolute;
left: -15px; bottom: -5px;
content: ""; display: block;
width: 10px; height: 10px;
background-color: $theme-light-pink;
border-radius: 50%;
}
}
}
}
}

View File

@ -5,7 +5,7 @@
width: 100%; height: 100%;
background-color: $theme-bg;
overflow: hidden;
z-index: 996;
z-index: 1001;
&::after {
content: ""; display: block;