Files
qingdao-employment-service/common/common.css
2025-12-08 21:46:55 +08:00

637 lines
10 KiB
CSS
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/* 公共样式表 */
page {
min-height: calc(100vh - var(--window-top) - var(--status-bar-height) - var(--window-bottom));
font-size: 28rpx;
background-color: #FFFFFF;
color: #333333;
overflow: hidden;
}
/* 禁止页面回弹 */
/* html,
body,
page {
overscroll-behavior: none;
overflow: hidden;
} */
image {
width: 100%;
height: 100%;
}
.page-body {
height: calc(100vh - var(--window-top) - var(--status-bar-height) - var(--window-bottom));
/* width: 100%; */
/* height: 100%; */
}
body,
html {
height: 100%;
width: 100%;
overflow-x: hidden;
}
li {
list-style: none;
}
/* 布局调整 */
/* 点击动效 */
/* 缩小 */
.button-click {
/* transition: transform 0.1s ease; */
transition: transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
.button-click:active {
transform: scale(0.95);
}
/* 背景变色 */
.btn-light {
color: white;
border-radius: 16rpx;
transition: background-color 0.2s;
}
.btn-light:active {
background-color: rgba(189, 197, 254, 0.15);
}
.btn-incline {
transition: transform 0.2s ease;
transform-style: preserve-3d;
}
.btn-incline:active {
transform: perspective(600px) rotateY(6deg) rotateX(3deg);
}
.btn-feel {
transition: transform 0.5s ease;
/* transition: transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275); */
transform-style: preserve-3d;
}
.btn-feel:active {
transform: perspective(600px) rotateX(6deg) scale(0.98);
}
.press-button {
padding: 10px 20px;
background: #3A4750;
/* 深灰蓝 */
color: #ffffff;
font-size: 16px;
border: none;
border-radius: 6px;
cursor: pointer;
/* transition: transform 0.4s ease, box-shadow 0.1s ease; */
transition: transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
/* box-shadow: 0 4px 0 #2C3E50; */
}
.press-button:active {
transform: scale(0.95) translateY(2px);
/* box-shadow: 0 2px 0 #1C2833; */
}
/* 动画效果 */
.btn-shaky:active {
animation: shakeScale 0.6s;
}
@keyframes shakeScale {
0% {
transform: scale(1);
}
10% {
transform: scale(0.9) rotate(-3deg);
}
20% {
transform: scale(1.05) rotate(3deg);
}
30% {
transform: scale(0.95) rotate(-3deg);
}
40% {
transform: scale(1.02) rotate(3deg);
}
50% {
transform: scale(0.98) rotate(-2deg);
}
60% {
transform: scale(1.01) rotate(2deg);
}
70% {
transform: scale(0.99) rotate(-1deg);
}
80% {
transform: scale(1.005) rotate(1deg);
}
90% {
transform: scale(1) rotate(0deg);
}
100% {
transform: scale(1) rotate(0deg);
}
}
/* 控制hover */
.opctiy_8 {
opacity: 0.8 !important;
}
.opctiy_7 {
opacity: 0.7 !important;
}
.opctiy_6 {
opacity: 0.6 !important;
}
.opctiy_5 {
opacity: 0.5 !important;
}
.opctiy_4 {
opacity: 0.4 !important;
}
.opctiy_3 {
opacity: 0.3 !important;
}
.opctiy_2 {
opacity: 0.2 !important;
}
.opctiy_1 {
opacity: 0.1 !important;
}
/* 控制文字大小 */
.fs_10 {
font-size: 20rpx !important;
}
.fs_12 {
font-size: 24rpx !important;
}
.fs_14 {
font-size: 28rpx !important;
}
.fs_16 {
font-size: 32rpx !important;
}
.fs_18 {
font-size: 36rpx !important;
}
.fs_20 {
font-size: 40rpx !important;
}
.fs_22 {
font-size: 44rpx !important;
}
.fs_24 {
font-size: 48rpx !important;
}
.fs_26 {
font-size: 52rpx !important;
}
.fs_28 {
font-size: 56rpx !important;
}
.fs_30 {
font-size: 60rpx !important;
}
.fs_32 {
font-size: 64rpx !important;
}
/* 控制字体粗细 */
.fw_blod {
font-weight: bold;
}
/* 控制字体颜色 */
.color_D16B3F {
color: #D16B3F !important;
}
.color_C7331D {
color: #C7331D !important;
}
.color_666666 {
color: #666666 !important;
}
.color_F8A52F {
color: #F8A52F !important;
}
.color_999999 {
color: #999999 !important;
}
.color_C7331D {
color: #C7331D !important;
}
.color_333333 {
color: #333333 !important;
}
.color_FFFFFF {
color: #FFFFFF !important;
}
.color_E7612E {
color: #E7612E !important;
}
.color_EF4B37 {
color: #EF4B37 !important;
}
.color_5F5F5F {
color: #5F5F5F !important;
}
.color_FB7307 {
color: #FB7307 !important;
}
.color_256BFA {
color: #256BFA !important;
}
.color_4E8ADE {
color: #4E8ADE !important;
}
.color_D9D9D9 {
color: #D9D9D9 !important;
}
/* 控制左右距离 */
.mar_le30 {
margin-left: 60rpx !important;
}
.mar_le25 {
margin-left: 50rpx !important;
}
.mar_le20 {
margin-left: 40rpx !important;
}
.mar_le15 {
margin-left: 30rpx !important;
}
.mar_le10 {
margin-left: 20rpx !important;
}
.mar_le5 {
margin-left: 10rpx !important;
}
.mar_ri5 {
margin-right: 10rpx !important;
}
.mar_ri10 {
margin-right: 20rpx !important;
}
.mar_ri15 {
margin-right: 30rpx !important;
}
.mar_ri20 {
margin-right: 40rpx !important;
}
.mar_ri25 {
margin-right: 50rpx !important;
}
.mar_top0 {
margin-top: 0 !important;
}
.mar_top5 {
margin-top: 10rpx !important;
}
.mar_top10 {
margin-top: 20rpx !important;
}
.mar_top15 {
margin-top: 30rpx !important;
}
.mar_top20 {
margin-top: 40rpx !important;
}
.mar_top25 {
margin-top: 50rpx !important;
}
/* 控制字体粗细 */
.fw_blod {
font-weight: bold !important;
}
/* 控制背景色 */
.bg_e8 {
background-color: #e8e8e8 !important;
}
/* 控制背景色 */
.bg_cc {
background-color: #CCCCCC !important;
}
/* 控制背景色 */
.bg_ff {
background-color: #ffffff !important;
}
/* 弹性布局 */
.fl_box {
display: flex;
}
.fl_deri {
flex-direction: column;
}
.fl_row {
flex-direction: row;
}
.fl_justmiddle {
justify-content: center;
}
.fl_juststart {
justify-content: flex-start;
}
.fl_justbet {
justify-content: space-between;
}
.fl_justround {
justify-content: space-around;
}
.fl_justend {
justify-content: flex-end;
}
.fl_almiddle {
align-items: center;
}
.fl_alstart {
align-items: flex-start;
}
.fl_alend {
align-items: flex-end;
}
.fl_1 {
flex: 1;
}
.fl_warp {
flex-wrap: wrap
}
.fl_nowarp {
flex-wrap: nowrap
}
.line_2 {
display: -webkit-box;
/* 让文本内容成为弹性盒 */
-webkit-box-orient: vertical;
/* 设置盒子的方向为垂直 */
-webkit-line-clamp: 2;
/* 限制最多显示两行 */
overflow: hidden;
/* 隐藏超出的文本 */
text-overflow: ellipsis;
/* 使用省略号 */
}
.line_1 {
display: -webkit-box;
/* 让文本内容成为弹性盒 */
-webkit-box-orient: vertical;
/* 设置盒子的方向为垂直 */
-webkit-line-clamp: 1;
/* 限制最多显示两行 */
overflow: hidden;
/* 隐藏超出的文本 */
text-overflow: ellipsis;
/* 使用省略号 */
}
.grayscale {
filter: grayscale(100%) opacity(0.6);
}
.height-100 {
height: 100%;
}
.pointEveNone {
pointer-events: none;
}
/*
*
* TransitionGroup 动画
* stagger 错峰
* fade-up-stagger --i 淡入上滑(经典错峰)
* pop-in-stagger --i 旋转缩放弹入(活泼)
* slide-left-stagger 从左侧滑入(消息流风格)
* blur-fade-stagger --i 渐显 + 模糊(毛玻璃感)
* bounce-up-stagger 从底部弹跳入场(物理感)
*
*/
/* 淡入上滑(经典错峰) */
.fade-up-stagger-enter-active {
transition: all 0.4s cubic-bezier(0.18, 0.89, 0.32, 1.28);
transition-delay: calc(var(--i) * 0.1s);
}
.fade-up-stagger-enter-from {
opacity: 0;
transform: translateY(20px);
}
.fade-up-stagger-leave-active {
transition: opacity 0.25s ease;
}
.fade-up-stagger-leave-to {
opacity: 0;
}
/* */
.pop-in-stagger-enter-active {
transition: all 0.45s cubic-bezier(0.68, -0.55, 0.27, 1.55);
transition-delay: calc(var(--i) * 0.08s);
}
.pop-in-stagger-enter-from {
opacity: 0;
transform: scale(0.7) rotate(-10deg);
}
.pop-in-stagger-leave-active {
transition: all 0.2s ease;
}
.pop-in-stagger-leave-to {
opacity: 0;
transform: scale(0.9) rotate(5deg);
}
.slide-left-stagger-enter-active {
transition: all 0.35s ease-out;
transition-delay: calc(var(--i) * 0.07s);
}
.slide-left-stagger-enter-from {
opacity: 0;
transform: translateX(-100%);
}
.slide-left-stagger-leave-active {
transition: all 0.25s ease;
}
.slide-left-stagger-leave-to {
opacity: 0;
transform: translateX(50%);
}
/* 错峰动画 */
.stagger-enter-active {
transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
transition-delay: calc(var(--i) * 0.42s);
/* 关键120ms 间隔 */
}
.stagger-enter-from {
opacity: 0;
transform: translateY(30px) scale(0.95);
/* 更大位移 + 轻微缩放 */
}
.stagger-leave-active {
transition: all 0.25s ease;
}
.stagger-leave-to {
opacity: 0;
transform: translateX(20px);
}
.stagger-move {
transition: transform 0.4s ease;
}
.blur-fade-stagger-enter-active {
transition: all 0.5s ease;
transition-delay: calc(var(--i) * 0.09s);
}
.blur-fade-stagger-enter-from {
opacity: 0;
filter: blur(8px);
transform: scale(1.02);
}
.blur-fade-stagger-leave-active {
transition: all 0.2s ease;
}
.blur-fade-stagger-leave-to {
opacity: 0;
filter: blur(4px);
}
.bounce-up-stagger-enter-active {
animation: stagger-bounce 0.6s forwards;
animation-delay: calc(var(--i) * 0.12s);
}
.bounce-up-stagger-leave-active {
transition: all 0.25s ease;
}
.bounce-up-stagger-leave-to {
opacity: 0;
transform: translateY(30px);
}
@keyframes stagger-bounce {
0% {
opacity: 0;
transform: translateY(100px) scale(0.8);
}
60% {
transform: translateY(-10px) scale(1.05);
}
80% {
transform: translateY(5px) scale(0.98);
}
100% {
opacity: 1;
transform: translateY(0) scale(1);
}
}