This commit is contained in:
结发受长生
2019-05-09 23:10:12 +08:00
parent 1a915a94cb
commit f7b8721ec6
23 changed files with 1337 additions and 1395 deletions
+198 -228
View File
@@ -6,385 +6,355 @@
//-----------------------------------------------------
%animation-basic {
animation-duration: 0.3s;
animation-fill-mode: both;
animation-duration: 0.3s;
animation-fill-mode: both;
}
// fade in/out
//-----------------------------------------------------
@mixin animation-fade-in($className: fade, $from: 0) {
$name: str-insert(In, $className, 0);
$name: str-insert(In, $className, 0);
.#{$className}-in {
animation-name: $name;
@extend %animation-basic;
}
@include animation-fade($name: $name, $from: $from);
.#{$className}-in {
animation-name: $name;
@extend %animation-basic;
}
@include animation-fade($name: $name, $from: $from);
}
@mixin animation-fade-out($className: fade, $to: 0) {
$name: str-insert(Out, $className, 0);
$name: str-insert(Out, $className, 0);
.#{$className}-out {
animation-name: $name;
@extend %animation-basic;
}
.#{$className}-out {
animation-name: $name;
@extend %animation-basic;
}
@include animation-fade($name: $name, $from: 1, $to: $to);
@include animation-fade($name: $name, $from: 1, $to: $to);
}
// shrink in/out
//-----------------------------------------------------
@mixin animation-shrink-in($className: shrink, $from: 0.815) {
$name: str-insert(In, $className, 0);
.#{$className}-in {
animation-name: $name;
@extend %animation-basic;
$name: str-insert(In, $className, 0);
.#{$className}-in {
animation-name: $name;
@extend %animation-basic;
}
@keyframes #{$name} {
0% {
opacity: 0;
transform: scale($from);
}
@keyframes #{$name} {
0% {
opacity: 0;
transform: scale($from);
}
100% {
opacity: 1;
transform: scale(1);
}
100% {
opacity: 1;
transform: scale(1);
}
}
}
@mixin animation-shrink-out($className: shrink, $to: 1.185) {
$name: str-insert(Out, $className, 0);
$name: str-insert(Out, $className, 0);
.#{$className}-out {
animation-name: $name;
@extend %animation-basic;
}
.#{$className}-out {
animation-name: $name;
@extend %animation-basic;
}
@keyframes #{$name} {
0% {
opacity: 1;
transform: scale(1);
}
100% {
opacity: 0;
transform: scale($to);
}
@keyframes #{$name} {
0% {
opacity: 1;
transform: scale(1);
}
100% {
opacity: 0;
transform: scale($to);
}
}
}
// down in/out
//-----------------------------------------------------
@mixin animation-down-in($className: down, $value: 100%) {
$name: str-insert(In, $className, 0);
.#{$className}-in {
animation-name: $name;
@extend %animation-basic;
}
$name: str-insert(In, $className, 0);
.#{$className}-in {
animation-name: $name;
@extend %animation-basic;
}
@keyframes #{$name} {
0% {
opacity: 0;
transform: translate(0, $value);
}
100% {
opacity: 1;
transform: translate(0, 0);
}
@keyframes #{$name} {
0% {
opacity: 0;
transform: translate(0, $value);
}
100% {
opacity: 1;
transform: translate(0, 0);
}
}
}
@mixin animation-down-out($className: down, $value: 100%) {
$name: str-insert(Out, $className, 0);
$name: str-insert(Out, $className, 0);
.#{$className}-out {
animation-name: $name;
@extend %animation-basic;
}
.#{$className}-out {
animation-name: $name;
@extend %animation-basic;
}
@keyframes #{$name} {
0% {
opacity: 1;
transform: translate(0, 0);
}
100% {
opacity: 0;
transform: translate(0, $value);
}
@keyframes #{$name} {
0% {
opacity: 1;
transform: translate(0, 0);
}
100% {
opacity: 0;
transform: translate(0, $value);
}
}
}
// up in/out
//-----------------------------------------------------
@mixin animation-up-in($className: up, $value: -100%) {
$name: str-insert(In, $className, 0);
.#{$className}-in {
animation-name: $name;
@extend %animation-basic;
}
$name: str-insert(In, $className, 0);
.#{$className}-in {
animation-name: $name;
@extend %animation-basic;
}
@keyframes #{$name} {
0% {
opacity: 0;
transform: translate(0, $value);
}
100% {
opacity: 1;
transform: translate(0, 0);
}
@keyframes #{$name} {
0% {
opacity: 0;
transform: translate(0, $value);
}
100% {
opacity: 1;
transform: translate(0, 0);
}
}
}
@mixin animation-up-out($className: up, $value: -100%) {
$name: str-insert(Out, $className, 0);
$name: str-insert(Out, $className, 0);
.#{$className}-out {
animation-name: $name;
@extend %animation-basic;
}
.#{$className}-out {
animation-name: $name;
@extend %animation-basic;
}
@keyframes #{$name} {
0% {
opacity: 1;
transform: translate(0, 0);
}
100% {
opacity: 0;
transform: translate(0, $value);
}
@keyframes #{$name} {
0% {
opacity: 1;
transform: translate(0, 0);
}
100% {
opacity: 0;
transform: translate(0, $value);
}
}
}
// left in/out
//-----------------------------------------------------
@mixin animation-left-in($className: left, $value: -100%) {
$name: str-insert(In, $className, 0);
.#{$className}-in {
animation-name: $name;
@extend %animation-basic;
}
$name: str-insert(In, $className, 0);
.#{$className}-in {
animation-name: $name;
@extend %animation-basic;
}
@keyframes #{$name} {
0% {
opacity: 0;
transform: translate($value, 0);
}
100% {
opacity: 1;
transform: translate(0, 0);
}
@keyframes #{$name} {
0% {
opacity: 0;
transform: translate($value, 0);
}
100% {
opacity: 1;
transform: translate(0, 0);
}
}
}
@mixin animation-left-out($className: left, $value: -100%) {
$name: str-insert(Out, $className, 0);
$name: str-insert(Out, $className, 0);
.#{$className}-out {
animation-name: $name;
@extend %animation-basic;
}
.#{$className}-out {
animation-name: $name;
@extend %animation-basic;
}
@keyframes #{$name} {
0% {
opacity: 1;
transform: translate(0, 0);
}
100% {
opacity: 0;
transform: translate($value, 0);
}
@keyframes #{$name} {
0% {
opacity: 1;
transform: translate(0, 0);
}
100% {
opacity: 0;
transform: translate($value, 0);
}
}
}
// right in/out
//-----------------------------------------------------
@mixin animation-right-in($className: right, $value: 100%) {
$name: str-insert(In, $className, 0);
.#{$className}-in {
animation-name: $name;
@extend %animation-basic;
}
$name: str-insert(In, $className, 0);
.#{$className}-in {
animation-name: $name;
@extend %animation-basic;
}
@keyframes #{$name} {
0% {
opacity: 0;
transform: translate($value, 0);
}
100% {
opacity: 1;
transform: translate(0, 0);
}
@keyframes #{$name} {
0% {
opacity: 0;
transform: translate($value, 0);
}
100% {
opacity: 1;
transform: translate(0, 0);
}
}
}
@mixin animation-right-out($className: right, $value: 100%) {
$name: str-insert(Out, $className, 0);
$name: str-insert(Out, $className, 0);
.#{$className}-out {
animation-name: $name;
@extend %animation-basic;
}
.#{$className}-out {
animation-name: $name;
@extend %animation-basic;
}
@keyframes #{$name} {
0% {
opacity: 1;
transform: translate(0, 0);
}
100% {
opacity: 0;
transform: translate($value, 0);
}
@keyframes #{$name} {
0% {
opacity: 1;
transform: translate(0, 0);
}
100% {
opacity: 0;
transform: translate($value, 0);
}
}
}
/*弹性动画*/
@keyframes leftIn {
from, 60%, 75%, 90%, to {
animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
}
0% {
transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
}
60% {
transform: translate3d(358px, 0, 0);
transform: translate3d(358px, 0, 0);
}
75% {
transform: translate3d(323px, 0, 0);
transform: translate3d(323px, 0, 0);
}
90% {
transform: translate3d(338px, 0, 0);
transform: translate3d(338px, 0, 0);
}
to {
transform: translate3d(333px, 0, 0);
transform: translate3d(333px, 0, 0);
}
}
%anmLeftIn {
animation-duration: .8s;
animation-fill-mode: both;
animation-name: leftIn;
animation-duration: .8s;
animation-fill-mode: both;
animation-name: leftIn;
}
@keyframes leftOut {
from, 60%, 75%, 90%, to {
animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
}
0% {
transform: translate3d(333px, 0, 0);
transform: translate3d(333px, 0, 0);
}
60% {
transform: translate3d(-25px, 0, 0);
transform: translate3d(-25px, 0, 0);
}
75% {
transform: translate3d(10px, 0, 0);
transform: translate3d(10px, 0, 0);
}
90% {
transform: translate3d(-5px, 0, 0);
transform: translate3d(-5px, 0, 0);
}
to {
transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
}
}
%anmLeftOut {
animation-duration: .8s;
animation-name: leftOut;
animation-duration: .8s;
animation-name: leftOut;
}
@keyframes smallLeftIn {
from, 60%, 75%, 90%, to {
animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
}
0% {
transform: translate3d(0, 0, 0);
}
60% {
transform: translate3d(325px, 0, 0);
}
75% {
transform: translate3d(290px, 0, 0);
}
90% {
transform: translate3d(305px, 0, 0);
}
to {
transform: translate3d(300px, 0, 0);
}
0% {transform: translate3d(0, 0, 0);}
60% {transform: translate3d(325px, 0, 0);}
75% {transform: translate3d(290px, 0, 0);}
90% {transform: translate3d(305px, 0, 0);}
to {transform: translate3d(300px, 0, 0);}
}
%anmSmallLeftIn {
animation-duration: .8s;
animation-fill-mode: both;
animation-name: smallLeftIn;
animation-duration: .8s;
animation-fill-mode: both;
animation-name: smallLeftIn;
}
@keyframes smallleftOut {
from, 60%, 75%, 90%, to {
animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
}
0% {
transform: translate3d(333px, 0, 0);
}
60% {
transform: translate3d(-25px, 0, 0);
}
75% {
transform: translate3d(10px, 0, 0);
}
90% {
transform: translate3d(-5px, 0, 0);
}
to {
transform: translate3d(0, 0, 0);
}
0% {transform: translate3d(333px, 0, 0);}
60% {transform: translate3d(-25px, 0, 0);}
75% {transform: translate3d(10px, 0, 0);}
90% {transform: translate3d(-5px, 0, 0);}
to {transform: translate3d(0, 0, 0);}
}
%anmSmallLeftOut {
animation-duration: .8s;
animation-fill-mode: both;
animation-name: smallleftOut;
animation-duration: .8s;
animation-fill-mode: both;
animation-name: smallleftOut;
}
// 头像旋转动画
@keyframes profilepic {
0% {
transform: rotate(360deg);
}
100% {
transform: rotate(0deg);
}
0% {
transform: rotate(360deg);
}
100% {
transform: rotate(0deg);
}
}
%picRotate {
animation: profilepic 5s linear infinite;
animation: profilepic 5s linear infinite;
}
File diff suppressed because it is too large Load Diff
+105 -111
View File
@@ -12,21 +12,21 @@
// 1. Prevent mobile text size adjust after orientation change, without disabling user zoom.
// 2. Remove the gray background color from tap, default value is inherit
html {
-ms-text-size-adjust: 100%; // 1
-webkit-text-size-adjust: 100%; // 1
-webkit-tap-highlight-color: transparent; // 2
height: 100%;
-ms-text-size-adjust: 100%; // 1
-webkit-text-size-adjust: 100%; // 1
-webkit-tap-highlight-color: transparent; // 2
height: 100%;
}
// 1. Remove default margin
body {
margin: 0; // 1
font-size: $fontSize;
font-family: $fontFamily;
line-height: $fontLineHeight;
color: $colorText;
background-color: $colorBg;
min-height: 100%;
margin: 0; // 1
font-size: $fontSize;
font-family: $fontFamily;
line-height: $fontLineHeight;
color: $colorText;
background-color: $colorBg;
min-height: 100%;
}
// HTML5 display definitions
@@ -48,7 +48,7 @@ menu,
nav,
section,
summary {
display: block;
display: block;
}
// 1. Correct `inline-block` display not defined in IE 9-.
@@ -56,14 +56,14 @@ audio,
canvas,
progress,
video {
display: inline-block; // 1
display: inline-block; // 1
}
// Prevent modern browsers from displaying `audio` without controls.
// Remove excess height in iOS 5 devices.
audio:not([controls]) {
display: none;
height: 0;
display: none;
height: 0;
}
// Add the correct vertical alignment in Chrome, Firefox, and Opera.
@@ -73,9 +73,8 @@ progress {
// Address `[hidden]` styling not present in IE 8/9/10.
// Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
[hidden],
template {
display: none;
[hidden],template {
display: none;
}
// Links
@@ -85,13 +84,13 @@ template {
// 2. Improve readability when focused and also mouse hovered in all browsers.
a {
background: transparent; // 1
text-decoration: none;
color: nth($colorLink, 1);
&:active {
outline: 0; // 2
}
background: transparent; // 1
text-decoration: none;
color: nth($colorLink, 1);
&:active {
outline: 0; // 2
}
}
// Text-level semantics
@@ -99,46 +98,44 @@ a {
// Address styling not present in IE 8/9/10/11, Safari, and Chrome.
abbr[title] {
border-bottom: 1px dotted;
border-bottom: 1px dotted;
}
// Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
b,
strong {
font-weight: bold;
b,strong {
font-weight: bold;
}
// Address styling not present in Safari and Chrome.
dfn {
font-style: italic;
font-style: italic;
}
// Address styling not present in IE 8/9.
mark {
background: #ff0;
color: #000;
background: #ff0;
color: #000;
}
// Address inconsistent and variable font size in all browsers.
small {
font-size: 80%;
font-size: 80%;
}
// Prevent `sub` and `sup` affecting `line-height` in all browsers.
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
sub,sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sup {
top: -0.5em;
top: -0.5em;
}
sub {
bottom: -0.25em;
bottom: -0.25em;
}
// Embedded content
@@ -146,14 +143,14 @@ sub {
// 1. Remove border when inside `a` element in IE 8/9/10.
img {
border: 0; // 1
vertical-align: middle;
max-width: 100%;
border: 0; // 1
vertical-align: middle;
max-width: 100%;
}
// Correct overflow not hidden in IE 9/10/11.
svg:not(:root) {
overflow: hidden;
overflow: hidden;
}
// Grouping content
@@ -162,10 +159,10 @@ svg:not(:root) {
// 1. Contain overflow in all browsers.
// 2. Improve readability of pre-formatted text in all browsers.
pre {
overflow: auto; // 1
white-space: pre; // 2
white-space: pre-wrap; // 2
word-wrap: break-word; // 2
overflow: auto; // 1
white-space: pre; // 2
white-space: pre-wrap; // 2
word-wrap: break-word; // 2
}
// 1. Address odd `em`-unit font size rendering in all browsers.
@@ -173,8 +170,8 @@ code,
kbd,
pre,
samp {
font-family: monospace, monospace; // 1
font-size: 1em; // 2
font-family: monospace, monospace; // 1
font-size: 1em; // 2
}
// Forms
@@ -184,7 +181,7 @@ samp {
// styling of `select`, unless a `border` property is set.
// 1. Correct color not being inherited.
// Known issue: affects color of disabled elements.
// Known issue: affects color of disabled elements.
// 2. Correct font properties not being inherited.
// 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
button,
@@ -192,10 +189,10 @@ input,
optgroup,
select,
textarea {
color: inherit; // 1
font: inherit; // 2
margin: 0; // 3
vertical-align: middle;
color: inherit; // 1
font: inherit; // 2
margin: 0; // 3
vertical-align: middle;
}
// Show the overflow in IE.
@@ -204,47 +201,46 @@ textarea {
button,
input, // 1
select { // 2
overflow: visible;
overflow: visible;
}
// Address inconsistent `text-transform` inheritance for `button` and `select`.
// All other form control elements do not inherit `text-transform` values.
// Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
// Correct `select` style inheritance in Firefox.
button,
select {
text-transform: none;
button,select {
text-transform: none;
}
// 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
// and `video` controls.
// and `video` controls.
// 2. Correct inability to style clickable `input` types in iOS.
// 3. Improve usability and consistency of cursor style between image-type
// `input` and others.
// `input` and others.
button,
html input[type="button"], // 1
input[type="reset"],
input[type="submit"] {
-webkit-appearance: button; // 2
cursor: pointer; // 3
-webkit-appearance: button; // 2
cursor: pointer; // 3
}
// Re-set default cursor for disabled elements.
[disabled] {
cursor: default;
cursor: default;
}
// Remove inner padding and border in Firefox 4+.
button::-moz-focus-inner,
input::-moz-focus-inner {
border: 0;
padding: 0;
border: 0;
padding: 0;
}
// 1. Address Firefox 4+ setting `line-height` on `input` using `!important` in
// the UA stylesheet.
// the UA stylesheet.
input {
line-height: normal; // 1
line-height: normal; // 1
}
// It's recommended that you don't attempt to style these elements.
@@ -254,8 +250,8 @@ input {
// 2. Remove excess padding in IE 8/9/10.
input[type="checkbox"],
input[type="radio"] {
box-sizing: border-box; // 1
padding: 0; // 2
box-sizing: border-box; // 1
padding: 0; // 2
}
// Fix the cursor style for Chrome's increment/decrement buttons. For certain
@@ -263,15 +259,15 @@ input[type="radio"] {
// decrement button to change from `default` to `text`.
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
height: auto;
height: auto;
}
// 1. Address `appearance` set to `searchfield` in Safari and Chrome.
// 2. Address `box-sizing` set to `border-box` in Safari and Chrome
// (include `-moz` to future-proof).
// (include `-moz` to future-proof).
input[type="search"] {
-webkit-appearance: textfield; // 1
box-sizing: border-box;
-webkit-appearance: textfield; // 1
box-sizing: border-box;
}
// Remove inner padding and search cancel button in Safari and Chrome on OS X.
@@ -279,34 +275,34 @@ input[type="search"] {
// padding (and `textfield` appearance).
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
-webkit-appearance: none;
}
// Define consistent border, margin, and padding.
fieldset {
border: 1px solid #c0c0c0;
margin: 0 2px;
padding: 0.35em 0.625em 0.75em;
border: 1px solid #c0c0c0;
margin: 0 2px;
padding: 0.35em 0.625em 0.75em;
}
// 1. Correct `color` not being inherited in IE 8/9/10/11.
// 2. Remove padding so people aren't caught out if they zero out fieldsets.
legend {
border: 0; // 1
padding: 0; // 2
border: 0; // 1
padding: 0; // 2
}
// 1. Remove default vertical scrollbar in IE 8/9/10/11.
textarea {
overflow: auto; // 1
resize: vertical;
vertical-align: top;
overflow: auto; // 1
resize: vertical;
vertical-align: top;
}
// Don't inherit the `font-weight` (applied by a rule above).
// NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
optgroup {
font-weight: bold;
font-weight: bold;
}
// webkit focus outline
@@ -314,19 +310,18 @@ input,
select,
textarea,
button {
outline: 0;
outline: 0;
}
// Android 下 input focus 消除高亮外框
textarea,
input {
-webkit-user-modify: read-write-plaintext-only;
textarea,input {
-webkit-user-modify: read-write-plaintext-only;
}
// ie10 clear & password
input::-ms-clear,
input::-ms-reveal {
display: none;
display: none;
}
// 表单placeholder样式
@@ -334,85 +329,84 @@ input::-ms-reveal {
// Firefox 19+
input::-moz-placeholder,
textarea::-moz-placeholder {
color: $colorPlaceholder;
color: $colorPlaceholder;
}
// Internet Explorer 10+
input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
color: $colorPlaceholder;
color: $colorPlaceholder;
}
// Safari and Chrome
input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
color: $colorPlaceholder;
color: $colorPlaceholder;
}
// 如不支持placeholder添加class 或者 设置提示的placeholder
.placeholder{
color: $colorPlaceholder;
color: $colorPlaceholder;
}
// Tables
//-----------------------------------------------------
// Remove most spacing between table cells.
table {
border-collapse: collapse;
border-spacing: 0;
border-collapse: collapse;
border-spacing: 0;
}
td,
th {
padding: 0;
td,th {
padding: 0;
}
// 根据使用习惯,对normalize上进行补充
//-----------------------------------------------------
h1, h2, h3, h4, h5, h6, p, figure, form, blockquote {
margin: 0;
margin: 0;
}
// ul ol dl
ul, ol, li, dl, dd {
margin: 0;
padding: 0;
margin: 0;
padding: 0;
}
ul, ol {
list-style: none outside none;
list-style: none outside none;
}
// hn
h1, h2, h3 {
line-height: 2;
font-weight: normal;
line-height: 2;
font-weight: normal;
}
h1 {
font-size: 18px;
font-size: 18px;
}
h2 {
font-size: 16px;
font-size: 16px;
}
h3 {
font-size: 14px;
font-size: 14px;
}
// icon
i {
font-style: normal;
font-style: normal;
}
// 所有元素为border-box
* {
box-sizing: border-box;
box-sizing: border-box;
}
// 清除子元素浮动
.clearfix {
@extend %clearfix;
@extend %clearfix;
}