commit 546c52aab6fa2f6260e446882f3d9a56b9834d75 Author: A1300399510 Date: Fri Nov 24 18:51:45 2023 +0800 的 diff --git a/css/1.css b/css/1.css new file mode 100644 index 0000000..992a4f1 --- /dev/null +++ b/css/1.css @@ -0,0 +1,755 @@ +* { + margin: 0; + padding: 0; + box-sizing: border-box; +} +[v-cloak] { + display: none; +} +.noselect { + -webkit-touch-callout: none; + /* iOS Safari */ + -webkit-user-select: none; + /* Chrome/Safari/Opera */ + -khtml-user-select: none; + /* Konqueror */ + -moz-user-select: none; + /* Firefox */ + -ms-user-select: none; + /* Internet Explorer/Edge */ + user-select: none; + /* Non-prefixed version, currently + +not supported by any browser */ +} +#loading { + text-align: center; + padding: 100px 0; +} +.loading { + width: 80px; + height: 40px; + margin: 0 auto; + display: inline-block; +} +.loading span { + display: inline-block; + width: 8px; + height: 100%; + border-radius: 4px; + background: lightgreen; + -webkit-animation: load 1s ease infinite; +} +@-webkit-keyframes load { + 0%, + 100% { + height: 40px; + background: lightgreen; + } + 50% { + height: 70px; + margin: -15px 0; + background: lightblue; + } +} +.loading span:nth-child(2) { + -webkit-animation-delay: 0.2s; +} +.loading span:nth-child(3) { + -webkit-animation-delay: 0.4s; +} +.loading span:nth-child(4) { + -webkit-animation-delay: 0.6s; +} +.loading span:nth-child(5) { + -webkit-animation-delay: 0.8s; +} +body { + background: #f1f1f1; + font-family: "microsoft yahei", "San Francisco", '微软雅黑', 'tahoma', 'arial', 'simsun', '宋体'; +} +ul { + list-style: none; +} +a { + text-decoration: none; +} +.inner { + width: 1200px; + margin: 0 auto; + max-width: 98vw; + min-width: 1100px; +} +.page-header { + background: #0170fe; + padding-bottom: 2px; +} +.page-header .nav-tab { + width: 1200px; + margin: 0 auto; + max-width: 98vw; + min-width: 1100px; + display: flex; + align-items: center; + justify-content: flex-end; + position: relative; +} +.page-header .nav-tab .line { + position: absolute; + right: 0; + bottom: 16px; + width: 30px; + height: 2px; + background: #fff; + transition: all 0.2s; +} +.page-header .nav-tab .url-list { + display: flex; + align-items: center; + justify-content: flex-end; + color: rgba(255, 255, 255, 0.702); + font-size: 13px; + list-style: none; + padding: 16px 0 ; +} +.page-header .nav-tab .url-list .item { + margin-left: 30px; + display: inline-flex; + border-bottom: 2px solid transparent; + position: relative; +} +.page-header .nav-tab .url-list .item a { + display: inline-flex; + padding: 9px 0; + cursor: pointer; + color: inherit; +} +.page-header .nav-tab .url-list .item:hover, +.page-header .nav-tab .url-list .active { + color: #ffffff; +} +.page-header .nav-tab .url-list .user { + margin-left: 40px; + display: inline-flex; + width: 30px; + height: 30px; + align-items: center; + justify-content: center; + border-radius: 50%; + color: #ccc; + cursor: pointer; + position: relative; +} +.page-header .nav-tab .url-list .user img { + width: 28px; + height: 28px; + border-radius: 50%; + overflow: hidden; +} +.page-header .nav-tab .url-list .user i { + display: block; + background: url(../img/helloofficer-user.png) no-repeat; + width: 30px; + height: 30px; + background-size: 100%; +} +.page-header .nav-tab .url-list .user:hover .quit { + display: block; +} +.page-header .nav-tab .quit { + display: none; + position: absolute; + bottom: -40px; + left: calc(50% - 22px); + z-index: 10; + text-align: center; + width: 45px; + height: 30px; + line-height: 30px; + border-radius: 5px; + background: #02d7b5; + color: #233160; + font-size: 13px; + -webkit-touch-callout: none; + /* iOS Safari */ + -webkit-user-select: none; + /* Chrome/Safari/Opera */ + -khtml-user-select: none; + /* Konqueror */ + -moz-user-select: none; + /* Firefox */ + -ms-user-select: none; + /* Internet Explorer/Edge */ + user-select: none; + /* Non-prefixed version, currently + +not supported by any browser */ +} +.page-header .nav-tab .quit:after { + position: absolute; + left: calc(50% - 4px); + top: -8px; + content: ""; + border: 4px solid transparent; + border-bottom-color: #02d7b5; +} +.page-header .nav-tab .quit:before { + position: absolute; + content: ""; + display: block; + background: transparent; + left: -20px; + top: -30px; + width: 80px; + height: 80px; +} +.page-header .nav-tab .quit:active { + background: #09b6a4; +} +.page-header .nav-tab .quit:active:after { + border-bottom-color: #09b6a4; +} +.page-header .nav-tab .language { + display: inline-flex; + margin-left: 30px; +} +.page-header .logo { + display: block; + background: url(../img/helloofficer-logo.png) no-repeat; + width: 178px; + height: 46px; + background-size: 178px 46px; + width: 1200px; + margin: 0 auto; + max-width: 98vw; + min-width: 1100px; + position: relative; + top: -17px; + cursor: pointer; +} +.el-custom-select { + position: relative; +} +.el-custom-select .show-text { + border-radius: 5px; + background-color: rgba(255, 255, 255, 0.102); + width: 80px; + height: 28px; + line-height: 28px; + text-align: center; + font-size: 13px; + color: #fff; + cursor: pointer; +} +.el-custom-select .show-text .arrow { + margin-left: 4px; + display: inline-block; + width: 0; + height: 0; + border: 4px solid transparent; + border-top-color: #a4ccff; + position: relative; + top: 2px; + border-radius: 2px; +} +.el-custom-select .option-list { + position: absolute; + display: none; + left: 0; + top: 0px; + border: 1px rgba(255, 255, 255, 0.102) solid; + border-radius: 5px; + width: 80px; + background-color: rgba(255, 255, 255, 0.102); + font-size: 13px; + color: rgba(255, 255, 255, 0.302); + list-style: none; + transition: all 0.3s; + z-index: 100; +} +.el-custom-select .option-list .option-item { + line-height: 29px; + text-align: center; + cursor: pointer; +} +.el-custom-select .option-list .active { + color: #fff; +} +.el-custom-select .option-list.show { + top: 31px; + display: block; +} +.intro-container { + background: url(../img/helloofficer-bg.png) no-repeat center; + background-size: 100% 100%; + border-bottom: 5px solid #0170fe; + height: 565px; + width: 100%; + padding-top: 14px; +} +.intro-container .container { + width: 1200px; + margin: 0 auto; + max-width: 98vw; + min-width: 1100px; +} +.intro-container .swiper-container { + margin: 0 auto 0px; + padding: 20px 0; +} +.intro-container .swiper-container .swiper-pagination { + bottom: 15px; +} +.intro-container .intro-text { + margin: 0 auto 64px; + width: 700px; + height: 50px; + display: flex; + color: #fff; + font-size: 14px; + align-items: flex-start; + justify-content: space-between; +} +.intro-container .intro-text .yellow { + color: #e6b300; + font-size: 18px; + display: inline; +} +.intro-container .intro-text .text { + display: inline; + line-height: 24px; +} +.intro-container .intro-text .l { + display: inline-flex; + width: 32px; + height: 27px; + background: url(../img/helloofficer-ql.png) no-repeat; + background-size: 100%; +} +.intro-container .intro-text .r { + display: inline-flex; + width: 32px; + height: 27px; + background: url(../img/helloofficer-qr.png) no-repeat; + background-size: 100%; +} +.intro-container .swiper-container { + width: 100%; + height: 100%; +} +.intro-container .swiper-slide { + text-align: center; + font-size: 18px; + /* Center slide text vertically */ + display: -webkit-box; + display: -ms-flexbox; + display: -webkit-flex; + display: flex; + -webkit-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; + -webkit-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + transition: 300ms; + transform: scale(0.6); + position: relative; +} +.intro-container .swiper-slide a:after { + content: ""; + display: block; + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + background: rgba(0, 0, 0, 0.4); +} +.intro-container .swiper-slide-active, +.intro-container .swiper-slide-duplicate-active { + transform: scale(1); + z-index: 100; +} +.intro-container .swiper-slide-active img, +.intro-container .swiper-slide-duplicate-active img { + width: 740px; + height: 270px; +} +.intro-container .swiper-slide-active a:after, +.intro-container .swiper-slide-duplicate-active a:after { + content: none; +} +.intro-container .swiper-button-next:after, +.intro-container .swiper-button-prev:after { + content: none; +} +.intro-container .swiper-button-next { + right: 0; + border: 2px rgba(255, 255, 255, 0.2) solid; + border-radius: 50%; + width: 46px; + height: 46px; + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAQCAYAAADESFVDAAAAoklEQVQokZ2ROwrCUBBFT4LLsdQ2rfa2biCCnRIbGwsLa9cjGFBSuBEXEEuPTQKP5wM/AwMzcJh7ZwZ1r9bqRCWVmdoAA+AJrICaKHLgGNQHoIihfmSp3rq8quNQLtReBuBFHaUg1CoAz+qwNx6qZ8AGmHV9C5Qx1C+wA6Zdf8/fNklEDGVAFUxpgfVXxn86weLTMecB0KjF3w8+AQ9gmwIAXuBOCgjMsl3AAAAAAElFTkSuQmCC) no-repeat center; + background-size: 9px 16px; +} +.intro-container .swiper-button-prev { + left: 0; + border: 2px rgba(255, 255, 255, 0.2) solid; + border-radius: 50%; + width: 46px; + height: 46px; + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAQCAYAAADESFVDAAAAn0lEQVQokY3SOwoCMRCA4T+Ld/AOYqmtrV5FwXJZRPAAYmHhVQRbQa28jp3422RhfAQ2MMWQDzKPJJXCmQJr4JIKaALsgAp4VgWwzQDggBpjrN7Ue465SgQj9RrAsr1rwVA9B9DEF1AHX2ClpoiSegT6ucgTsAFesZN/3f2cCqiBR85nQAOkD9W18M4jKA1z0XZXWksv5/tOCy4hCF/lDZ6V8agJLeFBAAAAAElFTkSuQmCC) no-repeat center; + background-size: 9px 16px; +} +.intro-container .swiper-button-next:hover, +.intro-container .swiper-button-prev:hover { + background-color: rgba(0, 0, 0, 0.2); + border: none; +} +.intro-container .swiper-pagination-bullet-active { + background: #ccc; +} +.intro-container img { + display: block; + max-width: 100%; + max-height: 100%; +} +.intro-container a { + display: block; +} +.intro-container .tab-container { + display: block; + align-items: center; + font-size: 0px; + color: #ffffff; +} +.intro-container .tab-container .tab-item { + display: inline-block; + font-size: 20px; + background: rgba(255, 255, 255, 0.2); + width: 220px; + height: 64px; + line-height: 64px; + text-align: center; + border-radius: 10px 10px 0 0; + margin-right: 1px; + cursor: pointer; +} +.intro-container .tab-container .tab-item:hover { + background: rgba(255, 255, 255, 0.1); +} +.intro-container .tab-container .active { + background: #0170fe !important; +} +.page-footer { + font-size: 14px; + color: #ffffff; + line-height: 2; + text-align: center; + height: 135px; + background: #2d3038; + display: flex; + align-items: center; + justify-content: center; +} +.page-footer span { + margin: 0 26px; +} +.main-container { + width: 1200px; + margin: 0 auto; + max-width: 98vw; + min-width: 1100px; + padding: 44px 0 80px; + font-size: 0; + vertical-align: top; + display: flex; +} +.main-container .start { + vertical-align: top; + display: inline-flex; + flex: 1; + flex-direction: column; + width: calc(100% - 414px); +} +.main-container .start .title { + display: block; + margin: 0 auto 40px; + width: 162px; + height: 48px; + background: url(../img/helloofficer-start.png) no-repeat; + background-size: 100%; +} +.main-container .start .list .item { + margin-bottom: 20px; + padding: 20px 40px; + border-radius: 10px; + background-color: #ffffff; + box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.08); +} +.main-container .start .list .school { + margin-bottom: 20px; + display: flex; + align-items: center; + justify-content: flex-start; +} +.main-container .start .list .school .avatar { + margin: 0 auto; + display: block; + max-width: 44px; + max-height: 44px; +} +.main-container .start .list .school .logo { + margin-right: 14px; + display: inline-flex; + border: 1px #ededed solid; + border-radius: 50%; + width: 54px; + height: 54px; + flex: 0 0 54px; + overflow: hidden; + align-items: center; + justify-content: center; +} +.main-container .start .list .school .name { + font-size: 23px; + color: #333; + font-weight: 600; +} +.main-container .start .list .intro { + display: block; +} +.main-container .start .list .intro .text { + display: inline-block; + width: calc(100% - 264px); + font-size: 14px; + color: #666666; + line-height: 25px; + word-break: break-all; + padding-bottom: 22px; + position: relative; + overflow: hidden; +} +.main-container .start .list .intro .text .t { + text-overflow: -o-ellipsis-lastline; + overflow: hidden; + text-overflow: ellipsis; + display: -webkit-box; + -webkit-line-clamp: 4; + line-clamp: 4; + -webkit-box-orient: vertical; +} +.main-container .start .list .intro .text .open-more { + position: absolute; + right: 0px; + bottom: 18px; + cursor: pointer; + display: block; + padding: 0 4px 0 10px; + background: #ffffff; + height: 24px; + line-height: 24px; +} +.main-container .start .list .intro .textl { + width: 100%; +} +.main-container .start .list .intro .image { + margin-left: 84px; + display: inline-block; + border-radius: 10px; + width: 180px; + vertical-align: top; +} +.main-container .start .list .time { + margin-top: -5px; + font-size: 16px; + font-family: "DIN"; + color: #000000; + line-height: 20px; +} +.main-container .start .list .time .yellow { + font-size: 14px; + color: #e6b200; + line-height: 20px; + display: inline; + margin-right: 6px; +} +.main-container .start .list .lesson { + margin-top: 26px; +} +.main-container .start .list .lesson .lesson-item { + margin-bottom: 10px; + display: flex; + justify-content: space-between; + align-items: center; + padding: 4px 30px 4px 25px; + border-radius: 6px; + background-color: rgba(1, 112, 254, 0.059); + min-height: 46px; + font-size: 16px; + color: #333; + cursor: pointer; + transition: all 0.3s; +} +.main-container .start .list .lesson .lesson-item .icon { + transition: all 0.8s; + display: inline-flex; + border-radius: 50%; + background: #0170fe url(../img/arrow-white.png) no-repeat center; + background-size: 15px 10px; + width: 36px; + flex: 0 0 36px; + height: 36px; +} +.main-container .start .list .lesson .lesson-item:hover { + background-color: #0170fe; + font-size: 16px; + color: #ffffff; + font-weight: bold; +} +.main-container .start .list .lesson .lesson-item:hover .icon { + background: #fff url(../img/arrow-blue.png) no-repeat center; + background-size: 15px 10px; +} +.main-container .review { + display: inline-flex; + flex-direction: column; + width: 384px; + margin-left: 30px; +} +.main-container .review .title { + display: block; + margin: 0 auto 40px; + width: 164px; + height: 48px; + background: url(../img/helloofficer-review.png) no-repeat; + background-size: 100%; +} +.main-container .review .time-tab { + margin-bottom: 20px; + background-color: #e5e5e5; + width: 385px; + height: 50px; + padding: 0 6px; + border-radius: 25px; + display: flex; + align-items: center; + position: relative; +} +.main-container .review .time-tab .tab-item { + display: inline-flex; + flex: 1; + align-items: center; + justify-content: center; + font-size: 18px; + color: #999999; + cursor: pointer; + transition: all 0.3s; + height: 42px; + border-radius: 21px; + position: relative; + z-index: 10; +} +.main-container .review .time-tab .tab-item:hover { + color: #333; + font-weight: bold; +} +.main-container .review .time-tab .active { + color: #f1f1f1 !important; + font-weight: bold; + width: 82px; + border-radius: 21px; + background-color: #2d3038; +} +.main-container .review .time-tab .backblack { + background: #2d3038; + z-index: 5; + position: absolute; + left: 6px; + top: 4px; + height: 42px; + transition: all 0.2s; + border-radius: 21px; +} +.main-container .review .item { + margin-bottom: 20px; + border-radius: 10px; + background-color: #ffffff; + box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.08); +} +.main-container .review .item .school { + display: flex; + align-items: center; + padding: 10px 30px; + border-bottom: 1px solid #ededed; + justify-content: flex-start; +} +.main-container .review .item .school .avatar { + margin: 0 auto; + display: block; + max-width: 28px; + max-height: 28px; +} +.main-container .review .item .school .logo { + margin-right: 8px; + display: inline-flex; + border: 1px #ededed solid; + border-radius: 50%; + width: 34px; + height: 34px; + flex: 0 0 34px; + overflow: hidden; + align-items: center; + justify-content: center; +} +.main-container .review .item .school .name { + font-size: 18px; + color: #333; + font-weight: 600; +} +.main-container .review .item .contents { + padding: 26px 30px 20px; +} +.main-container .review .item .type { + color: #999999; + font-size: 14px; +} +.main-container .review .item .type .yellow { + display: inline-block; + margin-right: 6px; + color: #e6b200; +} +.main-container .review .item .link-list { + padding-bottom: 6px; +} +.main-container .review .item .link-list .i { + display: block; + margin-bottom: 20px; + cursor: pointer; + padding-left: 30px; + background: url(../img/arrow-black.png) no-repeat left center; + background-size: 15px 10px; + font-size: 15px; + color: #333333; + line-height: 1.4; + transition: all 0.3s; +} +.main-container .review .item .link-list .i:hover { + color: rgba(51, 51, 51, 0.8); + background: url(../img/arrow-yellow.png) no-repeat left center; + background-size: 15px 10px; +} +.to-top-btn { + position: fixed; + right: 37px; + bottom: 156px; + width: 40px; + height: 40px; + border-radius: 50%; + border: none; + background: url(../img/zsj-top.png) no-repeat; + background-size: 100%; + cursor: pointer; +} diff --git a/css/1.less b/css/1.less new file mode 100644 index 0000000..f6b7644 --- /dev/null +++ b/css/1.less @@ -0,0 +1,777 @@ +*{ + margin: 0; + padding: 0; + box-sizing: border-box; +} +[v-cloak]{ + display: none; +} +.noselect { + +-webkit-touch-callout: none; /* iOS Safari */ + +-webkit-user-select: none; /* Chrome/Safari/Opera */ + +-khtml-user-select: none; /* Konqueror */ + +-moz-user-select: none; /* Firefox */ + +-ms-user-select: none; /* Internet Explorer/Edge */ + +user-select: none; /* Non-prefixed version, currently + +not supported by any browser */ + +} +#loading{ + text-align: center; + padding: 100px 0; + } + .loading{ + width: 80px; + height: 40px; + margin: 0 auto; + display: inline-block; + } + .loading span{ + display: inline-block; + width: 8px; + height: 100%; + border-radius: 4px; + background: lightgreen; + -webkit-animation: load 1s ease infinite; + } + @-webkit-keyframes load{ + 0%,100%{ + height: 40px; + background: lightgreen; + } + 50%{ + height: 70px; + margin: -15px 0; + background: lightblue; + } + } + .loading span:nth-child(2){ + -webkit-animation-delay:0.2s; + } + .loading span:nth-child(3){ + -webkit-animation-delay:0.4s; + } + .loading span:nth-child(4){ + -webkit-animation-delay:0.6s; + } + .loading span:nth-child(5){ + -webkit-animation-delay:0.8s; + } +body{ + background: #f1f1f1; + font-family: "microsoft yahei", "San Francisco", '微软雅黑', 'tahoma', 'arial', 'simsun', '宋体'; +} +ul{ + list-style: none; +} +a{ + text-decoration: none; +} +.inner{ + width: 1200px; + margin: 0 auto; + max-width: 98vw; + min-width: 1100px; +} +.page-header{ + background: #0170fe; + padding-bottom: 2px; + .nav-tab{ + .inner; + display: flex; + align-items:center; + justify-content:flex-end; + position: relative; + .line{ + position: absolute; + right: 0; + bottom: 16px; + width: 30px; + height: 2px; + background: #fff; + transition:all 0.2s; + } + .url-list{ + display: flex; + align-items:center; + justify-content:flex-end; + color:rgba(255, 255, 255, 0.702); + font-size: 13px; + list-style: none; + padding: 16px 0 ; + + .item{ + margin-left: 30px; + display: inline-flex; + border-bottom: 2px solid transparent; + position: relative; + a{ + display: inline-flex; + padding: 9px 0; + cursor: pointer; + color: inherit; + } + } + .item:hover,.active{ + color: rgb(255, 255, 255); + } + // .item:after{ + // content: ''; + // position: absolute; + // bottom: 0; + // left: 100%; + // width: 0; + // height: 2px; + // background-color: #fff; + // transition: all 0.3s ease-out; + + // } + // .item:hover +.item:after { + // width: 100%; + // left: 0; + + + // } + + .user{ + margin-left: 40px; + display: inline-flex; + width: 30px; + height: 30px; + align-items:center; + justify-content:center; + // border:1px solid #ccc; + border-radius: 50%; + color: #ccc; + cursor: pointer; + position: relative; + img{ + width: 28px; + height: 28px; + border-radius: 50%; + overflow:hidden; + } + i{ + display: block; + background: url(../img/helloofficer-user.png) no-repeat; + width: 30px; + height: 30px; + background-size: 100%; + } + + } + .user:hover .quit{ + display: block; + } + } + + .quit{ + display: none; + position: absolute; + bottom: -40px; + left: calc(~'50% - 22px'); + z-index: 10; + text-align: center; + width: 45px; + height: 30px; + line-height: 30px; + border-radius: 5px; + background: #02d7b5; + color: #233160; + font-size: 13px; + .noselect; + } + .quit:after{ + position: absolute; + left: calc(~'50% - 4px'); + top: -8px; + content: ""; + border:4px solid transparent; + border-bottom-color: #02d7b5; + } + .quit:before{ + position: absolute; + content: ""; + display: block; + background: transparent; + left: -20px; + top: -30px; + width: 80px; + height: 80px; + } + .quit:active{ + background: #09b6a4; + } + .quit:active:after{ + border-bottom-color: #09b6a4; + } + .language{ + display: inline-flex; + margin-left: 30px; + } + + } + .logo{ + display: block; + background: url(../img/helloofficer-logo.png) no-repeat; + width: 178px; + height: 46px; + background-size: 178px 46px; + .inner; + position: relative; + top: -17px; + cursor: pointer; + } +} +.el-custom-select{ + position: relative; + .show-text{ + border-radius: 5px; + background-color: rgba(255, 255, 255,0.102); + width: 80px; + height: 28px; + line-height: 28px; + text-align: center; + font-size: 13px; + color: #fff; + cursor: pointer; + .arrow{ + margin-left: 4px; + display: inline-block; + width: 0; + height: 0; + border:4px solid transparent; + border-top-color: #a4ccff; + position: relative; + top: 2px; + border-radius: 2px; + } + } + .option-list{ + position: absolute; + display: none; + left: 0; + top: 0px; + border: 1px rgba(255, 255, 255,0.102) solid; + border-radius: 5px; + width: 80px; + background-color: rgba(255, 255, 255,0.102); + font-size: 13px; + color: rgba(255, 255, 255, 0.302); + list-style: none; + transition:all 0.3s; + z-index: 100; + .option-item{ + line-height: 29px; + text-align: center; + cursor: pointer; + } + .active{ + color: #fff; + } + + } + .option-list.show{ + top: 31px; + display: block; + } +} + +.intro-container{ + background: url(../img/helloofficer-bg.png) no-repeat center; + background-size: 100% 100%; + border-bottom: 5px solid #0170fe; + height: 565px; + width: 100%; + padding-top: 14px; + .container{ + margin: 0 auto; + .inner; + } + .swiper-container{ + margin: 0 auto 0px; + padding: 20px 0; + // overflow: visible; + .swiper-pagination{ + bottom: 15px; + } + } + + + .intro-text{ + margin: 0 auto 64px; + width: 700px; + height: 50px; + display: flex; + color: #fff; + font-size: 14px; + align-items:flex-start; + justify-content:space-between; + .yellow{ + color: #e6b300; + font-size: 18px; + display: inline; + } + .text{ + display: inline; + line-height: 24px; + } + .l{ + display: inline-flex; + width: 32px; + height: 27px; + background: url(../img/helloofficer-ql.png) no-repeat; + background-size: 100%; + } + .r{ + display: inline-flex; + width: 32px; + height: 27px; + background: url(../img/helloofficer-qr.png) no-repeat; + background-size: 100%; + } + } + + .swiper-container { + width: 100%; + height: 100%; + } + + .swiper-slide { + text-align: center; + font-size: 18px; + // background: #fff; + + /* Center slide text vertically */ + display: -webkit-box; + display: -ms-flexbox; + display: -webkit-flex; + display: flex; + -webkit-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; + -webkit-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + transition: 300ms; + transform: scale(0.6); + position: relative; + } + .swiper-slide a:after{ + content: ""; + display: block; + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + background: rgba(0,0,0,0.4) + } + .swiper-slide-active,.swiper-slide-duplicate-active{ + transform: scale(1); + z-index: 100; + img{ + width: 740px; + height: 270px; + } + } + .swiper-slide-active a:after,.swiper-slide-duplicate-active a:after{ + content: none; + } + .swiper-button-next:after,.swiper-button-prev:after{ + content: none; + } + .swiper-button-next{ + right: 0; + border: 2px rgba(255, 255, 255,0.2) solid; + border-radius: 50%; + width: 46px; + height: 46px; + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAQCAYAAADESFVDAAAAoklEQVQokZ2ROwrCUBBFT4LLsdQ2rfa2biCCnRIbGwsLa9cjGFBSuBEXEEuPTQKP5wM/AwMzcJh7ZwZ1r9bqRCWVmdoAA+AJrICaKHLgGNQHoIihfmSp3rq8quNQLtReBuBFHaUg1CoAz+qwNx6qZ8AGmHV9C5Qx1C+wA6Zdf8/fNklEDGVAFUxpgfVXxn86weLTMecB0KjF3w8+AQ9gmwIAXuBOCgjMsl3AAAAAAElFTkSuQmCC) no-repeat center; + background-size: 9px 16px; + } + .swiper-button-prev{ + left: 0; + border: 2px rgba(255, 255, 255,0.2) solid; + border-radius: 50%; + width: 46px; + height: 46px; + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAQCAYAAADESFVDAAAAn0lEQVQokY3SOwoCMRCA4T+Ld/AOYqmtrV5FwXJZRPAAYmHhVQRbQa28jp3422RhfAQ2MMWQDzKPJJXCmQJr4JIKaALsgAp4VgWwzQDggBpjrN7Ue465SgQj9RrAsr1rwVA9B9DEF1AHX2ClpoiSegT6ucgTsAFesZN/3f2cCqiBR85nQAOkD9W18M4jKA1z0XZXWksv5/tOCy4hCF/lDZ6V8agJLeFBAAAAAElFTkSuQmCC) no-repeat center; + background-size: 9px 16px; + } + .swiper-button-next:hover,.swiper-button-prev:hover{ + background-color: rgba(0,0,0,0.2); + border:none; + } + .swiper-pagination-bullet-active{ + background: #ccc + } + + img{ + display: block; + max-width: 100%; + max-height: 100%; + + } + a{ + display: block; + } + .tab-container{ + display: block; + align-items:center; + font-size: 0px; + color: rgb(255, 255, 255); + .tab-item{ + display: inline-block; + font-size: 20px; + background: rgba(255, 255, 255,0.2); + width: 220px; + height: 64px; + line-height: 64px; + text-align: center; + border-radius: 10px 10px 0 0; + margin-right: 1px; + cursor: pointer; + } + .tab-item:hover{ + background: rgba(255, 255, 255,0.1); + } + .active{ + background: #0170fe !important; + } + } +} +.page-footer{ + font-size: 14px; + color: rgb(255, 255, 255); + line-height: 2; + text-align: center; + height: 135px; + background: #2d3038; + display: flex; + align-items: center; + justify-content: center; + span{ + margin: 0 26px; + } + + +} +.main-container{ + .inner; + padding: 44px 0 80px; + font-size: 0; + vertical-align: top; + display: flex; + .start{ + vertical-align: top; + display: inline-flex; + flex:1; + flex-direction: column; + width: calc(~'100% - 414px'); + .title{ + display: block; + margin: 0 auto 40px; + width: 162px; + height: 48px; + background: url(../img/helloofficer-start.png) no-repeat; + background-size: 100%; + } + .list{ + .item{ + margin-bottom: 20px; + padding: 20px 40px; + border-radius: 10px; + background-color: rgb(255, 255, 255); + box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.08); + } + .school{ + margin-bottom: 20px; + display: flex; + align-items:center; + justify-content: flex-start; + .avatar{ + margin: 0 auto; + display: block; + max-width: 44px; + max-height: 44px; + } + .logo{ + margin-right: 14px; + display: inline-flex; + border: 1px rgb(237, 237, 237) solid; + border-radius: 50%; + width: 54px; + height: 54px; + flex:0 0 54px; + overflow: hidden; + align-items: center; + justify-content: center; + + } + .name{ + font-size: 23px; + color: #333; + font-weight: 600 + } + } + .intro{ + display: block; + .text{ + display: inline-block; + width: calc(~'100% - 264px'); + font-size: 14px; + color: rgb(102, 102, 102); + line-height: 25px; + word-break:break-all; + padding-bottom: 22px; + position: relative; + overflow: hidden; + .t{ + text-overflow: -o-ellipsis-lastline; + overflow: hidden; + text-overflow: ellipsis; + display: -webkit-box; + -webkit-line-clamp: 4; + line-clamp: 4; + -webkit-box-orient: vertical; + } + .open-more{ + position: absolute; + right: 0px; + bottom: 18px; + cursor: pointer; + display: block; + padding: 0 4px 0 10px; + background: #ffffff; + // background: linear-gradient(90deg, transparent,#fff, #fff); + height: 24px; + line-height: 24px; + } + } + .textl{ + width: 100%; + } + .image{ + margin-left: 84px; + display: inline-block; + border-radius: 10px; + width: 180px; + vertical-align: top; + + } + + + } + .time{ + margin-top: -5px; + font-size: 16px; + font-family: "DIN"; + color: rgb(0, 0, 0); + line-height: 20px; + .yellow{ + font-size: 14px; + color: #e6b200; + line-height: 20px; + display: inline; + margin-right: 6px; + } + } + .lesson{ + margin-top: 26px; + .lesson-item{ + margin-bottom: 10px; + display: flex; + justify-content:space-between; + align-items:center; + padding: 4px 30px 4px 25px; + border-radius: 6px; + background-color: rgba(1, 112, 254,0.059); + min-height: 46px; + font-size: 16px; + color: #333; + cursor: pointer; + transition:all 0.3s; + .icon{ + transition:all 0.8s; + display: inline-flex; + border-radius: 50%; + background: rgb(1, 112, 254) url(../img/arrow-white.png) no-repeat center; + background-size: 15px 10px; + width: 36px; + flex:0 0 36px; + height: 36px; + } + } + .lesson-item:hover{ + background-color: #0170fe; + font-size: 16px; + color: rgb(255, 255, 255); + font-weight: bold; + .icon{ + background: #fff url(../img/arrow-blue.png) no-repeat center; + background-size: 15px 10px; + } + } + } + } + } + .review{ + display: inline-flex; + flex-direction: column; + width: 384px; + margin-left: 30px; + .title{ + display: block; + margin: 0 auto 40px; + width: 164px; + height: 48px; + background: url(../img/helloofficer-review.png) no-repeat; + background-size: 100%; + } + .time-tab{ + margin-bottom: 20px; + background-color: rgb(229, 229, 229); + width: 385px; + height: 50px; + padding: 0 6px; + border-radius: 25px; + display: flex; + align-items:center; + position: relative; + .tab-item{ + display: inline-flex; + flex:1; + align-items:center; + justify-content:center; + font-size: 18px; + color: rgb(153, 153, 153); + cursor: pointer; + transition:all 0.3s; + height: 42px; + border-radius: 21px; + position: relative; + z-index: 10; + } + .tab-item:hover{ + color: #333; + font-weight: bold; + } + .active{ + color: rgb(241, 241, 241) !important; + font-weight: bold; + width: 82px; + border-radius: 21px; + background-color: rgb(45, 48, 56); + } + .backblack{ + background: rgb(45, 48, 56); + z-index: 5; + position: absolute; + left: 6px; + top: 4px; + height: 42px; + transition:all 0.2s; + border-radius: 21px; + + + } + } + .list{ + + } + .item{ + margin-bottom: 20px; + border-radius: 10px; + background-color: rgb(255, 255, 255); + box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.08); + .school{ + display: flex; + align-items:center; + padding: 10px 30px; + border-bottom:1px solid #ededed; + justify-content: flex-start; + .avatar{ + margin: 0 auto; + display: block; + max-width: 28px; + max-height: 28px; + } + .logo{ + margin-right: 8px; + display: inline-flex; + border: 1px #ededed solid; + border-radius: 50%; + width: 34px; + height: 34px; + flex: 0 0 34px; + overflow: hidden; + align-items: center; + justify-content: center; + + } + .name{ + font-size: 18px; + color: #333; + font-weight: 600; + } + } + .contents{ + padding: 26px 30px 20px; + } + .type{ + // margin-bottom: 24px; + color: #999999; + font-size: 14px; + .yellow{ + display: inline-block; + margin-right: 6px; + color: #e6b200; + } + } + .link-list{ + padding-bottom: 6px; + .i{ + display: block; + margin-bottom: 20px; + cursor: pointer; + padding-left: 30px; + background: url(../img/arrow-black.png) no-repeat left center; + background-size: 15px 10px; + font-size: 15px; + color: rgb(51, 51, 51); + line-height: 1.4; + transition:all 0.3s; + } + .i:hover{ + color: rgba(51, 51, 51, 0.8); + background: url(../img/arrow-yellow.png) no-repeat left center; + background-size: 15px 10px; + } + } + } + } +} + +.to-top-btn{ + position: fixed; + right: 37px; + bottom: 156px; + background-size: 100%; + width: 40px; + height: 40px; + border-radius: 50%; + border:none; + background:url(../img/zsj-top.png) no-repeat; + background-size: 100%; + cursor: pointer; +} \ No newline at end of file diff --git a/css/index.css b/css/index.css new file mode 100644 index 0000000..4f99a10 --- /dev/null +++ b/css/index.css @@ -0,0 +1,1407 @@ +* { + margin: 0; + padding: 0; + box-sizing: border-box; + font-family: 'PingFangSC-Regular', 'PingFang SC', sans-serif; + font-style: normal; +} +/* Webkit浏览器(Chrome、Safari等) */ +*::-webkit-scrollbar { + width: 8px; + background-color: transparent; +} +*::-webkit-scrollbar-thumb { + background-color: #d7d7d7; + border-radius: 4px; +} +*::-webkit-scrollbar-thumb:hover { + background-color: #666; +} +/* Firefox浏览器 */ +/* 注意:Firefox浏览器不支持修改滚动条的宽度 */ +/* 若要修改滚动条的宽度,可以使用一些特殊的插件或者自定义滚动条的替代方案 */ +/* 以下代码只是修改滚动条的颜色和背景色 */ +* { + scrollbar-width: thin; + scrollbar-color: #d7d7d7 transparent; +} +*::-moz-scrollbar-thumb { + background-color: #d7d7d7; +} +*::-moz-scrollbar-thumb:hover { + background-color: #666; +} +.flexflex { + display: flex; +} +.flex1 { + flex: 1; +} +.flexcenter { + display: flex; + justify-content: center; + align-items: center; +} +.flexacenter { + display: flex; + align-items: center; +} +.flexjcenter { + display: flex; + justify-content: center; +} +/* // 一行显示 */ +.ellipsis { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} +#answer-app header { + background: #f6f6f6; + height: 150px; + border: 1px solid #ebebeb; + min-width: 1200px; + margin: 0 auto; + flex-direction: column; + padding-top: 24px; +} +#answer-app header .top { + width: 1200px; + margin-bottom: 31px; +} +#answer-app header .top .logo { + width: 73px; + cursor: pointer; +} +#answer-app header .top .right { + justify-content: flex-end; +} +#answer-app header .top .right .searchInput { + width: 320px; + height: 32px; + border: 1px solid #ebebeb; + border-radius: 104px; + background-color: #fff; + font-size: 13px; + padding-right: 16px; + position: relative; +} +#answer-app header .top .right .searchInput input { + border: none; + outline: none; + height: 100%; + padding-left: 16px; + border-radius: 104px; +} +#answer-app header .top .right .searchInput .input-icon { + width: 20px; + height: 20px; + cursor: pointer; +} +#answer-app header .top .right .searchInput .history-box { + position: absolute; + top: 36px; + left: 0; + width: 320px; + background-color: #ffffff; + border: 1px solid #ebebeb; + border-radius: 10px; + padding-top: 15px; + z-index: 2; + padding-bottom: 14px; +} +#answer-app header .top .right .searchInput .history-box .history-title { + font-size: 13px; + color: #AAAAAA; + padding-left: 16px; + margin-bottom: 9px; +} +#answer-app header .top .right .searchInput .history-box .history-list .history-item { + font-size: 14px; + color: #333; + height: 30px; + line-height: 30px; + padding: 0 16px; + cursor: pointer; +} +#answer-app header .top .right .btn-list { + width: 221px; + height: 30px; + border: 1px solid #ebebeb; + border-radius: 5px; + font-size: 13px; + color: #555; + margin-left: 20px; +} +#answer-app header .top .right .btn-list .item { + text-align: center; + position: relative; + cursor: pointer; +} +#answer-app header .top .right .btn-list .item:not(:last-of-type)::before { + content: '|'; + position: absolute; + top: 50%; + right: 0; + transform: translateY(-50%); + color: #D7D7D7; + font-size: 13px; +} +#answer-app header .top .right .add-btn { + width: 130px; + height: 30px; + background-color: #fddf6d; + border-radius: 5px; + color: #000000; + font-size: 13px; + cursor: pointer; + margin-left: 20px; +} +#answer-app header .top .right .add-btn .add-icon { + width: 14px; + height: 14px; + margin-right: 4px; +} +#answer-app header .tab-box { + width: 100%; + z-index: 1; + background-color: #f6f6f6; + padding: 5px 0; + margin: 0 auto; +} +#answer-app header .tab-box.tab-list-fixed { + position: fixed; + top: 0; +} +#answer-app header .tab-box .tab-list { + width: 1200px; +} +#answer-app header .tab-box .tab-list .item { + text-align: center; + font-size: 14px; + height: 24px; + color: #333; + margin-right: 30px; +} +#answer-app header .tab-box .tab-list .item.pitch { + padding: 0 11px; + background-color: #fa6b11; + border-radius: 19px; + font-weight: 650; + color: #FFFFFF; +} +#answer-app .main { + margin: 0 auto; + height: calc(100vh - 150px); + justify-content: center; + background-color: #fbfbfb; + min-width: 1200px; +} +#answer-app .main.mode-list { + background: #fff; +} +#answer-app .main.mode-list .main-header { + border-right: none; +} +#answer-app .main.mode-list .list-box .list .item { + border-right: none; +} +#answer-app .main .main-header { + margin: 0 auto; + padding-left: calc((100vw - 1200px) / 2); + display: inline-flex; + width: calc((100vw - 1200px) / 2 + 512px); + background: #fff; + border-right: 1px solid #ebebeb; + height: 68px; + padding-top: 28px; +} +#answer-app .main .main-header .search-keyword { + color: #FA6B11; + font-size: 14px; + height: 20px; + cursor: pointer; + padding-right: 20px; + margin-right: 20px; + border-right: 1px solid #ebebeb; +} +#answer-app .main .main-header .search-keyword .search-keyword-cross { + width: 14px; + height: 14px; + margin-left: 8px; +} +#answer-app .main .main-header .total { + font-size: 13px; + color: #7F7F7F; + height: 20px; +} +#answer-app .main .list-box { + overflow-y: auto; + overflow-x: hidden; + padding-right: 15px; +} +#answer-app .main .list-box::-webkit-scrollbar { + width: 0 !important; +} +#answer-app .main .list-box .list { + display: flex; + flex-wrap: wrap; + justify-content: space-between; + position: relative; +} +#answer-app .main .list-box .list .item { + position: absolute; + padding: 20px 0 0; + transition-property: top, left, background; + transition-duration: 0.5s; + border-right: 1px solid #ebebeb; + height: 128px; + background-color: #fff; +} +#answer-app .main .list-box .list .item:first-of-type { + border-top: 1px solid #ebebeb; +} +#answer-app .main .list-box .list .item.upLevel .content { + border: none; +} +#answer-app .main .list-box .list .item.pitch { + background-color: #fbfbfb; + border-top: 1px solid #ebebeb; + border-bottom: 1px solid #ebebeb; + position: relative; +} +#answer-app .main .list-box .list .item.pitch::after { + content: ""; + position: absolute; + top: 0; + right: -1px; + width: 4px; + height: 100%; + background-color: #fddf6d; +} +#answer-app .main .list-box .list .item.pitch::before { + content: ""; + position: absolute; + width: 5px; + height: 10px; + right: -5px; + top: 50%; + transform: translateY(-50%); + background-image: url('../img/triangle-icon.svg'); +} +#answer-app .main .list-box .list .item.pitch .content { + border: none; +} +#answer-app .main .list-box .list .item .dot { + width: 6px; + height: 6px; + margin-top: 8px; + margin-right: 14px; +} +#answer-app .main .list-box .list .item .content { + border-bottom: 1px dotted #ebebeb; + padding-bottom: 20px; +} +#answer-app .main .list-box .list .item .content .issue { + font-weight: 650; + font-size: 14px; + color: #000000; + line-height: 22px; + margin-bottom: 8px; +} +#answer-app .main .list-box .list .item .content .answer { + color: #555; + height: 22px; + line-height: 22px; + font-size: 13px; + margin-bottom: 18px; +} +#answer-app .main .list-box .list .item .content .bottom { + font-size: 12px; + justify-content: flex-end; +} +#answer-app .main .list-box .list .item .content .bottom .quantity { + color: #aaa; +} +#answer-app .main .list-box .list .item .content .bottom .longString { + width: 1px; + height: 13px; + background-color: #d7d7d7; + margin: 0 15px; +} +#answer-app .main .list-box .list .item .content .bottom .answer-btn { + color: #72DB86; + cursor: pointer; +} +#answer-app .main .list-box .empty-box { + width: 690px; + height: 490px; + background-color: #ffffff; + border-radius: 6px; + margin: 0 auto; + flex-direction: column; +} +#answer-app .main .list-box .empty-box .dot-list .item { + width: 8px; + height: 8px; +} +#answer-app .main .list-box .empty-box .dot-list .item:not(:last-of-type) { + margin-right: 5px; +} +#answer-app .main .list-box .empty-box .empty-icon { + width: 100px; + height: 100px; + margin-top: 10px; + margin-bottom: 15px; +} +#answer-app .main .list-box .empty-box .empty-hint { + font-size: 13px; + color: #7f7f7f; + line-height: 22px; +} +#answer-app .main .details-area-box { + width: calc((100vw - 1200px) / 2 + 688px); + background-color: #fbfbfb; + overflow-y: auto; + overflow-x: hidden; + display: flex; + flex-direction: column; +} +#answer-app .main .details-area-box .details-box { + width: 688px; + padding-left: 60px; + flex-direction: column; + flex: 1; +} +#answer-app .main .details-area-box .details-box .close-box { + height: 69px; + padding-top: 29px; + display: flex; + justify-content: flex-end; +} +#answer-app .main .details-area-box .details-box .close-box .close-circle { + position: relative; + cursor: pointer; +} +#answer-app .main .details-area-box .details-box .close-box .close-circle .close-icon { + width: 20px; + height: 20px; +} +#answer-app .main .details-area-box .details-box .close-box .close-circle .details-cross-icon { + width: 10px; + height: 10px; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); +} +#answer-app .main .details-area-box .details-box .details-issue { + width: 627px; + border-radius: 8px; + background-color: #fff; + -moz-box-shadow: 0px 0px 11px rgba(0, 0, 0, 0.10196078); + -webkit-box-shadow: 0px 0px 11px rgba(0, 0, 0, 0.1); + box-shadow: 0px 0px 11px rgba(0, 0, 0, 0.1); + padding-top: 24px; + margin-bottom: 28px; +} +#answer-app .main .details-area-box .details-box .details-issue .title { + font-weight: 650; + font-size: 18px; + line-height: 22px; + color: #000000; + padding: 0 24px; + margin-bottom: 21px; +} +#answer-app .main .details-area-box .details-box .details-issue .hint { + font-size: 14px; + color: #555; + line-height: 24px; + margin-bottom: 20px; + padding: 0 24px; +} +#answer-app .main .details-area-box .details-box .details-issue .operate-box .answer-btn { + width: 120px; + height: 28px; + background-color: #f6f6f6; + border-radius: 43px; + font-size: 14px; + color: #555555; + line-height: 20px; + cursor: pointer; +} +#answer-app .main .details-area-box .details-box .details-issue .operate-box .answer-btn.white { + background-color: #62b1ff; + color: #FFFFFF; +} +#answer-app .main .details-area-box .details-box .details-issue .operate-box .answer-btn.white .answer-icon-white { + display: block; +} +#answer-app .main .details-area-box .details-box .details-issue .operate-box .answer-btn.white .answer-icon-edit { + display: none; +} +#answer-app .main .details-area-box .details-box .details-issue .operate-box .answer-btn .answer-btn-icon { + width: 16px; + height: 16px; + margin-right: 8px; + display: none; +} +#answer-app .main .details-area-box .details-box .details-issue .operate-box .answer-btn .answer-icon-edit { + display: block; +} +#answer-app .main .details-area-box .details-box .answer-total-amount { + color: #555555; + line-height: 22px; + font-size: 13px; + margin-bottom: 20px; +} +#answer-app .main .details-area-box .details-box .answer-empty-box { + height: 321px; + flex-direction: column; + justify-content: center; + background-color: #fff; + width: 626px; + height: 300px; + background-color: #ffffff; + border: 1px solid #ebebeb; + border-radius: 10px; + -moz-box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.11764706); + -webkit-box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.11764706); + box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.11764706); +} +#answer-app .main .details-area-box .details-box .answer-box-item { + width: 627px; + border-radius: 8px; + background-color: #fff; + -moz-box-shadow: 0px 0px 11px rgba(0, 0, 0, 0.10196078); + -webkit-box-shadow: 0px 0px 11px rgba(0, 0, 0, 0.1); + box-shadow: 0px 0px 11px rgba(0, 0, 0, 0.1); + padding-top: 24px; + margin-bottom: 21px; +} +#answer-app .main .details-area-box .details-box .answer-box-item .answer-text { + font-size: 14px; + color: #555555; + line-height: 26px; + padding: 0 24px; + margin-bottom: 20px; +} +#answer-app .main .details-area-box .details-box .answer-box-item .answer-text img { + max-width: 100%; +} +#answer-app .main .details-area-box .details-box .answer-box-item .operate-box { + padding: 0 24px; +} +#answer-app .main .details-area-box .details-box .answer-box-item .operate-box .edit-box .edit-btn { + cursor: pointer; + width: 24px; + height: 24px; + border-radius: 50%; + background-color: #f6f6f6; +} +#answer-app .main .details-area-box .details-box .answer-box-item .operate-box .edit-box .edit-btn .edit-icon { + width: 16px; + height: 16px; +} +#answer-app .main .details-area-box .details-box .answer-box-item .post-comment { + background-color: #f6f6f6; + position: relative; + z-index: 2; +} +#answer-app .main .details-area-box .details-box .answer-box-item .post-comment .post-input { + height: 50px; + border: none; + background-color: transparent; + outline-color: #62b1ff; + padding: 0 23px; + font-size: 14px; +} +#answer-app .main .details-area-box .details-box .answer-box-item .post-comment .post-input::placeholder { + color: #AAAAAA; +} +#answer-app .main .details-area-box .details-box .answer-box-item .post-comment .post-ok { + width: 50px; + height: 50px; + background-color: #62b1ff; + color: #fff; + font-size: 13px; + cursor: pointer; +} +#answer-app .main .details-area-box .details-box .answer-box-item .comments-empty-box { + height: 321px; + flex-direction: column; + justify-content: center; +} +#answer-app .main .details-area-box .details-box .answer-box-item .comments-box { + padding: 17px 24px 29px; +} +#answer-app .main .details-area-box .details-box .answer-box-item .comments-box .comments-item { + padding: 13px 0 0; +} +#answer-app .main .details-area-box .details-box .answer-box-item .comments-box .comments-item .comments-header { + justify-content: space-between; + margin-bottom: 9px; +} +#answer-app .main .details-area-box .details-box .answer-box-item .comments-box .comments-item .comments-header .comments-header-left { + font-size: 13px; +} +#answer-app .main .details-area-box .details-box .answer-box-item .comments-box .comments-item .comments-header .comments-header-left .comments-avatar { + width: 20px; + height: 20px; + margin-right: 10px; + border-radius: 50%; +} +#answer-app .main .details-area-box .details-box .answer-box-item .comments-box .comments-item .comments-header .comments-header-left .comments-username { + color: #555; + margin-right: 10px; +} +#answer-app .main .details-area-box .details-box .answer-box-item .comments-box .comments-item .comments-header .comments-header-left .comments-time { + color: #AAAAAA; + margin-right: 8px; +} +#answer-app .main .details-area-box .details-box .answer-box-item .comments-box .comments-item .comments-header .comments-header-left .comments-identity { + font-size: 12px; + color: #7f7f7f; + padding: 0 3px; + height: 20px; + background-color: #f0f2f5; + border: 1px solid #d7d7d7; + border-radius: 5px; +} +#answer-app .main .details-area-box .details-box .answer-box-item .comments-box .comments-item .comments-header .comments-header-right .menu-box { + position: relative; +} +#answer-app .main .details-area-box .details-box .answer-box-item .comments-box .comments-item .comments-header .comments-header-right .menu-box .menu-icon { + width: 14px; + height: 14px; + cursor: pointer; +} +#answer-app .main .details-area-box .details-box .answer-box-item .comments-box .comments-item .comments-header .comments-header-right .menu-box .report-box { + position: absolute; + top: 24px; + right: 0; + width: 60px; + height: 24px; + background-color: #f6f6f6; + border: 1px solid #d7d7d7; + border-radius: 5px; + font-size: 12px; + color: #7F7F7F; +} +#answer-app .main .details-area-box .details-box .answer-box-item .comments-box .comments-item .comments-header .comments-header-right .comment-icon { + width: 14px; + height: 13px; + margin-left: 40px; + cursor: pointer; +} +#answer-app .main .details-area-box .details-box .answer-box-item .comments-box .comments-item .comments-header .comments-header-right .like-box { + font-size: 12px; + color: #aaa; + margin-left: 40px; + cursor: pointer; +} +#answer-app .main .details-area-box .details-box .answer-box-item .comments-box .comments-item .comments-header .comments-header-right .like-box .like-icon { + width: 14px; + height: 14px; +} +#answer-app .main .details-area-box .details-box .answer-box-item .comments-box .comments-item .comments-header .comments-header-right .like-box .like-quantity { + margin-left: 6px; +} +#answer-app .main .details-area-box .details-box .answer-box-item .comments-box .comments-item .comments-content { + margin-left: 30px; + padding-bottom: 12px; + border-bottom: 1px dotted #ebebeb; +} +#answer-app .main .details-area-box .details-box .answer-box-item .comments-box .comments-item .comments-content .comments-text { + font-size: 14px; + line-height: 22px; + color: #333333; +} +#answer-app .main .details-area-box .details-box .answer-box-item .comments-box .comments-item .comments-content .comments-text .comments-reply { + color: #92A1BF; + display: inline; +} +#answer-app .main .details-area-box .details-box .answer-box-item .comments-box .comments-item .comments-content .comments-input-box { + margin-top: 13px; +} +#answer-app .main .details-area-box .details-box .answer-box-item .comments-box .comments-item .comments-content .comments-input-box .comments-input { + width: 519px; + height: 60px; + border: 1px solid #d7d7d7; + border-radius: 8px; + margin-right: 16px; + position: relative; + z-index: 1; +} +#answer-app .main .details-area-box .details-box .answer-box-item .comments-box .comments-item .comments-content .comments-input-box .comments-input::after { + content: ""; + width: 20px; + height: 20px; + display: block; + background-color: #d7d7d7; + position: absolute; + top: -2px; + left: 21px; + transform: rotate(45deg); + z-index: -1; +} +#answer-app .main .details-area-box .details-box .answer-box-item .comments-box .comments-item .comments-content .comments-input-box .comments-input textarea { + border: none; + outline: none; + resize: none; + padding: 11px 16px; + border-radius: 7px 0 0 7px; +} +#answer-app .main .details-area-box .details-box .answer-box-item .comments-box .comments-item .comments-content .comments-input-box .comments-input .comments-btn { + width: 58px; + height: 58px; + background-color: #72db86; + border-radius: 0 7px 7px 0; + font-size: 14px; + color: #FFFFFF; + cursor: pointer; +} +#answer-app .main .details-area-box .details-box .answer-box-item .comments-box .comments-item .comments-content .comments-input-box .forkfork { + width: 12px; + height: 12px; + cursor: pointer; +} +#answer-app .main .details-area-box .details-box .answer-box-item .comments-box .child-comments { + margin-left: 24px; + border-bottom: 1px dotted #ebebeb; +} +#answer-app .main .details-area-box .details-box .answer-box-item .comments-box .child-comments .comments-item:last-of-type .comments-text { + border-bottom: none; +} +#answer-app .main .details-area-box .details-box .answer-box-item .comments-box .child-comments .comments-also { + color: #62B1FF; + line-height: 22px; + font-size: 13px; + height: 46px; + margin-left: 30px; + cursor: pointer; +} +#answer-app .main .details-area-box .details-box .answer-box-item .comments-box .child-comments .comments-also .also-icon { + width: 10px; + height: 10px; + margin-left: 8px; +} +#answer-app .main .details-area-box .details-box .answer-box-item .comments-box .reverl-all { + width: 120px; + height: 28px; + border: 1px solid #ebebeb; + border-radius: 43px; + color: #555555; + line-height: 20px; + font-size: 13px; + margin: 16px auto 0; + cursor: pointer; +} +#answer-app .main .details-area-box .details-box .answer-box-item .comments-box .reverl-all .arrow-circular { + width: 10px; + height: 10px; + margin-left: 10px; +} +#answer-app .main .details-area-box .details-box .info-box { + justify-content: space-between; + padding: 0 24px; + margin-bottom: 20px; +} +#answer-app .main .details-area-box .details-box .info-box .user-info .avatar { + width: 20px; + height: 20px; + border-radius: 50%; + margin-right: 8px; +} +#answer-app .main .details-area-box .details-box .info-box .user-info .user-name { + color: #7f7f7f; + font-size: 13px; + margin-right: 20px; +} +#answer-app .main .details-area-box .details-box .info-box .user-info .homeShare { + height: 14px; +} +#answer-app .main .details-area-box .details-box .info-box .time { + font-size: 12px; + color: #AAAAAA; +} +#answer-app .main .details-area-box .details-box .operate-box { + justify-content: space-between; + height: 54px; + border-top: 1px dotted #ebebeb; + padding: 0 24px; +} +#answer-app .main .details-area-box .details-box .operate-box .operate-list .operate-item { + font-size: 13px; + color: #7f7f7f; + margin-left: 49px; + cursor: pointer; + height: 53px; + position: relative; + z-index: 1; +} +#answer-app .main .details-area-box .details-box .operate-box .operate-list .operate-item.commentnum::after { + content: ""; + width: 80px; + height: 100%; + background: inherit; + background-color: #f6f6f6; + position: absolute; + top: 0; + left: 50%; + z-index: -1; + transform: translateX(-50%); +} +#answer-app .main .details-area-box .details-box .operate-box .operate-list .operate-item .operate-icon { + margin-right: 7px; +} +#answer-app .main .details-area-box .details-box .operate-box .operate-list .operate-item .operate-icon.operate-like-icon, +#answer-app .main .details-area-box .details-box .operate-box .operate-list .operate-item .operate-icon.operate-transmit-icon { + width: 14px; + height: 14px; +} +#answer-app .main .details-area-box .details-box .operate-box .operate-list .operate-item .operate-icon.operate-comment-icon { + width: 14px; + height: 13px; +} +#answer-app .main .details-area-box .details-box .operate-box .operate-list .operate-item .operate-icon.operate-collect-icon { + width: 16px; + height: 16px; +} +#answer-app .main .details-area-box .details-box .operate-box .operate-list .operate-item.operate-transmit { + position: relative; + z-index: 1; +} +#answer-app .main .details-area-box .details-box .operate-box .operate-list .operate-item.operate-transmit .transmit-box { + width: 628px; + border: 1px solid #ebebeb; + border-radius: 10px; + -moz-box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.11764706); + -webkit-box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.11764706); + box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.11764706); + position: absolute; + top: 64px; + right: -24px; + background: #fff; + justify-content: space-between; + padding: 40px 35px 42px; +} +#answer-app .main .details-area-box .details-box .operate-box .operate-list .operate-item.operate-transmit .transmit-box .transmit-title { + font-weight: 650; + font-size: 16px; + color: #000000; + line-height: 24px; + margin-bottom: 24px; +} +#answer-app .main .details-area-box .details-box .operate-box .operate-list .operate-item.operate-transmit .transmit-box .transmit-content { + border: 1px solid #f2f2f2; + border-radius: 16px; +} +#answer-app .main .details-area-box .details-box .operate-box .operate-list .operate-item.operate-transmit .transmit-box .transmit-web .transmit-content { + width: 300px; + font-size: 14px; + line-height: 24px; + padding: 14px 16px; + margin-bottom: 32px; +} +#answer-app .main .details-area-box .details-box .operate-box .operate-list .operate-item.operate-transmit .transmit-box .transmit-web .transmit-content .transmit-headline { + color: #333333; +} +#answer-app .main .details-area-box .details-box .operate-box .operate-list .operate-item.operate-transmit .transmit-box .transmit-web .transmit-content .transmit-url { + color: #AAAAAA; +} +#answer-app .main .details-area-box .details-box .operate-box .operate-list .operate-item.operate-transmit .transmit-box .transmit-web .transmit-web-btn { + width: 120px; + height: 38px; + background-color: #fddf6d; + border-radius: 8px; + font-size: 14px; + color: #000000; +} +#answer-app .main .details-area-box .details-box .operate-box .operate-list .operate-item.operate-transmit .transmit-box .transmit-mini .transmit-content { + flex-direction: column; + padding: 22px 44px; + color: #555555; + font-size: 13px; +} +#answer-app .main .details-area-box .details-box .operate-box .operate-list .operate-item.operate-transmit .transmit-box .transmit-mini .transmit-content .transmit-mini-img { + width: 90px; + height: 90px; + margin-bottom: 21px; +} +#answer-app .main .details-area-box .details-box .operate-box .operate-list .operate-item.operate-transmit .transmit-box .transmit-mini .transmit-content .give-sweep { + width: 12px; + height: 12px; + margin-right: 8px; +} +#answer-app .main .details-area-box .details-box .operate-box .operate-list .operate-item.operate-transmit .transmit-mask { + position: fixed; + top: 0; + left: 0; + z-index: -1; + width: 100vw; + height: 100vh; +} +#answer-app .main .details-area-box .details-box .copyright { + font-size: 13px; + color: #d7d7d7; + margin-top: 29px; + margin-bottom: 87px; + text-align: center; +} +#answer-app .main .details-area-box .details-box .mobile-phone-check { + width: 150px; + padding: 10px 0; + margin-bottom: 50px; + color: #7F7F7F; + font-size: 13px; + border: 1px solid #ebebeb; + border-radius: 20px; + margin: 0 auto 50px; + cursor: pointer; + position: relative; +} +#answer-app .main .details-area-box .details-box .mobile-phone-check .QRCode-icon { + width: 16px; + height: 16px; + margin-right: 10px; +} +#answer-app .main .details-area-box .details-box .mobile-phone-check:hover .QRCode-pop { + display: flex; +} +#answer-app .main .details-area-box .details-box .mobile-phone-check .QRCode-pop { + display: none; + position: absolute; + bottom: 45px; + width: 200px; + height: 200px; + background-color: #ffffff; + border-radius: 17px; + -moz-box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.16078431); + -webkit-box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.16078431); + box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.16078431); + flex-direction: column; + z-index: 1; +} +#answer-app .main .details-area-box .details-box .mobile-phone-check .QRCode-pop .offer-mini-QRcode { + width: 113px; + margin-bottom: 18px; +} +#answer-app .main .details-area-box .details-box .mobile-phone-check .QRCode-pop .QRCode-hint { + font-size: 13px; + color: #333333; +} +#answer-app .main .details-area-box .details-box .mobile-phone-check .QRCode-pop .QRCode-hint .QRCode-img { + width: 12px; + height: 12px; + margin-right: 12px; +} +#answer-app .main .details-area-box .empty-box { + flex-direction: column; + margin-bottom: 16px; +} +#answer-app .main .details-area-box .empty-box .dot-list { + margin-bottom: 8px; +} +#answer-app .main .details-area-box .empty-box .dot-list .dot-item { + width: 8px; + height: 8px; +} +#answer-app .main .details-area-box .empty-box .dot-list .dot-item:not(:last-of-type) { + margin-right: 5px; +} +#answer-app .main .details-area-box .empty-box .empty-icon { + width: 100px; + height: 100px; +} +#answer-app .main .details-area-box .empty-hint { + color: #7F7F7F; + line-height: 22px; + font-size: 13px; + text-align: center; +} +#answer-app .my-popover .popover-box { + width: 750px; + height: 616px; + background-color: #ffffff; + border-radius: 10px; + -moz-box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.11764706); + -webkit-box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.11764706); + box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.11764706); + flex-direction: column; + padding-top: 30px; + position: relative; +} +#answer-app .my-popover .popover-box .cross-icon { + position: absolute; + top: 12px; + right: 12px; + width: 12px; + height: 12px; + cursor: pointer; +} +#answer-app .my-popover .popover-box .tab-list { + color: #aaa; + font-size: 16px; + margin-bottom: 30px; +} +#answer-app .my-popover .popover-box .tab-list .tab-item { + cursor: pointer; +} +#answer-app .my-popover .popover-box .tab-list .tab-item .quantity { + margin-left: 10px; +} +#answer-app .my-popover .popover-box .tab-list .tab-item.pitch { + font-family: 'PingFangSC-Semibold', 'PingFang SC Semibold', 'PingFang SC', sans-serif; + font-weight: 650; + color: #000000; +} +#answer-app .my-popover .popover-box .tab-list .tab-item.pitch .quantity { + font-weight: 400; + color: #555; +} +#answer-app .my-popover .popover-box .tab-list .long-string { + margin: 0 20px; + width: 1px; + height: 17px; + background-color: #d7d7d7; +} +#answer-app .my-popover .popover-box .empty-box { + width: 690px; + height: 490px; + background-color: #ffffff; + border: 1px solid #ebebeb; + border-radius: 6px; + margin: 0 auto; + flex-direction: column; +} +#answer-app .my-popover .popover-box .empty-box .dot-list .item { + width: 8px; + height: 8px; +} +#answer-app .my-popover .popover-box .empty-box .dot-list .item:not(:last-of-type) { + margin-right: 5px; +} +#answer-app .my-popover .popover-box .empty-box .empty-icon { + width: 100px; + height: 100px; + margin-top: 10px; + margin-bottom: 15px; +} +#answer-app .my-popover .popover-box .empty-box .empty-hint { + font-size: 13px; + color: #7f7f7f; + line-height: 22px; +} +#answer-app .my-popover .popover-box .content-box { + width: 690px; + height: 490px; + margin: 0 auto; + overflow: auto; +} +#answer-app .my-popover .popover-box .content-box .icon { + font-family: 'PingFangSC-Semibold', 'PingFang SC Semibold', 'PingFang SC', sans-serif; + font-weight: 650; + font-size: 13px; + width: 20px; + height: 20px; + line-height: 20px; + border-radius: 50%; + color: #fff; + margin-right: 17px; +} +#answer-app .my-popover .popover-box .content-box .icon.q { + background-color: #72db86; +} +#answer-app .my-popover .popover-box .content-box .icon.a { + background-color: #62b1ff; +} +#answer-app .my-popover .popover-box .content-box .item { + padding: 20px 0; + border-bottom: 1px dotted #ebebeb; +} +#answer-app .my-popover .popover-box .content-box .item .centre { + flex-direction: column; +} +#answer-app .my-popover .popover-box .content-box .item .centre .info { + font-size: 12px; + color: #555; + margin-bottom: 10px; +} +#answer-app .my-popover .popover-box .content-box .item .centre .info .time { + color: #aaa; + margin-left: 8px; +} +#answer-app .my-popover .popover-box .content-box .item .centre .title { + color: #333333; + font-size: 14px; + line-height: 22px; + margin-bottom: 10px; + width: 532px; +} +#answer-app .my-popover .popover-box .content-box .item .centre .text { + font-size: 12px; + color: #AAAAAA; + width: 532px; +} +#answer-app .my-popover .popover-box .content-box .item .operate-box .state-box { + position: relative; + cursor: pointer; +} +#answer-app .my-popover .popover-box .content-box .item .operate-box .state-box .text { + font-size: 13px; + color: #333; +} +#answer-app .my-popover .popover-box .content-box .item .operate-box .state-box .arrows { + width: 8px; + height: 5px; + margin-left: 6px; +} +#answer-app .my-popover .popover-box .content-box .item .operate-box .state-box .state-popup { + position: absolute; + top: 28px; + right: 0; + width: 140px; + height: 101px; + background-color: #ffffff; + border-radius: 10px; + -moz-box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.20392157); + -webkit-box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.20392157); + box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.20392157); + flex-direction: column; + z-index: 1; +} +#answer-app .my-popover .popover-box .content-box .item .operate-box .state-box .state-popup .state-popup-mask { + position: fixed; + top: 0; + left: 0; + width: 100vw; + height: 100vh; + z-index: -1; +} +#answer-app .my-popover .popover-box .content-box .item .operate-box .state-box .state-popup .state-popup-item { + justify-content: space-between; + color: #555; + font-size: 14px; + padding: 0 10px; +} +#answer-app .my-popover .popover-box .content-box .item .operate-box .state-box .state-popup .state-popup-item:hover { + color: #000000; +} +#answer-app .my-popover .popover-box .content-box .item .operate-box .state-box .state-popup .state-popup-item.pitch { + color: #FA6B11; +} +#answer-app .my-popover .popover-box .content-box .item .operate-box .state-box .state-popup .state-popup-item.pitch .state-popup-icon { + display: block; +} +#answer-app .my-popover .popover-box .content-box .item .operate-box .state-box .state-popup .state-popup-item:not(:last-of-type) { + border-bottom: 1px dotted #e3e3e3; +} +#answer-app .my-popover .popover-box .content-box .item .operate-box .state-box .state-popup .state-popup-item .state-popup-icon { + width: 11px; + height: 8px; + display: none; +} +#answer-app .my-popover .popover-box .content-box .item .operate-box .edit-icon { + width: 16px; + height: 16px; + cursor: pointer; + margin-left: 30px; +} +#answer-app .my-popover .popover-box .content-box.collect-list { + padding-right: 10px; +} +#answer-app .my-popover .popover-box .content-box.collect-list .item { + padding: 20px 0; + border-bottom: 1px dotted #ebebeb; +} +#answer-app .my-popover .popover-box .content-box.collect-list .item .delete-box .delete-icon { + cursor: pointer; +} +#answer-app .my-popover .popover-box .content-box.questions-list .item .new-answer { + color: #F95D5D; +} +#answer-app .my-popover .popover-box .content-box.questions-list .item .new-answer .long-string { + width: 1px; + height: 12px; + background-color: #D7D7D7; + margin: 0 8px; +} +#answer-app .popover-mask { + position: fixed; + top: 0; + left: 0; + background-color: rgba(0, 0, 0, 0.5); + width: 100vw; + height: 100vh; + z-index: 1; +} +#answer-app .issue-box .choosing-theme { + width: 530px; + background: inherit; + background-color: #ffffff; + border: none; + border-radius: 10px; + -moz-box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.11764706); + -webkit-box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.11764706); + box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.11764706); + padding: 30px 36px 45px; +} +#answer-app .issue-box .choosing-theme .title { + font-size: 14px; + font-weight: 650; + color: #000000; + position: relative; + margin-bottom: 30px; +} +#answer-app .issue-box .choosing-theme .title::before { + content: ""; + width: 5px; + height: 12px; + background-color: #72db86; + border-radius: 3px; + position: absolute; + top: 50%; + left: -15px; + transform: translateY(-50%); +} +#answer-app .issue-box .choosing-theme .theme-list { + justify-content: space-between; + flex-wrap: wrap; +} +#answer-app .issue-box .choosing-theme .theme-list::after { + content: ""; + width: 140px; + height: 0; +} +#answer-app .issue-box .choosing-theme .theme-list .theme-item { + width: 140px; + height: 36px; + background-color: #f6f6f6; + border-radius: 5px; + font-size: 14px; + color: #333333; + cursor: pointer; +} +#answer-app .issue-box .choosing-theme .theme-list .theme-item:not(:nth-last-child(-n+3)) { + margin-bottom: 20px; +} +#answer-app .issue-box .choosing-theme .theme-list .theme-item:hover { + color: #000000; + background-color: #fddf6d; +} +#answer-app .issue-box .issue-form { + padding-top: 30px; + width: 721px; + height: 520px; + background-color: #fff; + border-radius: 10px; + position: relative; + z-index: 1; +} +#answer-app .issue-box .issue-form .issue-bj { + position: absolute; + left: -3px; + top: -3px; + width: 727px; + height: 526px; + z-index: -1; +} +#answer-app .issue-box .issue-form .q { + width: 20px; + height: 20px; + border-radius: 50%; + font-weight: 650; + font-style: normal; + font-size: 13px; + color: #FFFFFF; + background-color: #72db86; + position: absolute; + top: 0; + left: 0; +} +#answer-app .issue-box .issue-form .cross-icon { + position: absolute; + top: 12px; + right: 12px; + width: 12px; + height: 12px; + cursor: pointer; +} +#answer-app .issue-box .issue-form input, +#answer-app .issue-box .issue-form textarea { + border: none; + outline: none; +} +#answer-app .issue-box .issue-form .issue-input { + padding: 0 30px; + width: 720px; + height: 80px; + border-bottom: 1px dotted #ebebeb; +} +#answer-app .issue-box .issue-form .issue-input input { + font-size: 18px; + width: 100%; +} +#answer-app .issue-box .issue-form .issue-input input::placeholder { + color: #AAAAAA; +} +#answer-app .issue-box .issue-form .issue-replenish { + width: 100%; + height: 330px; + font-size: 14px; + padding: 20px 30px; + resize: none; +} +#answer-app .issue-box .issue-form .issue-replenish::placeholder { + color: #AAAAAA; +} +#answer-app .edit-answers { + width: 720px; + height: 400px; + background-color: #ffffff; + border: 1px solid #ebebeb; + border-radius: 10px; + -moz-box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.11764706); + -webkit-box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.11764706); + box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.11764706); + position: relative; +} +#answer-app .edit-answers .close-icon { + width: 12px; + height: 12px; + position: absolute; + top: 12px; + right: 12px; + cursor: pointer; +} +#answer-app .edit-answers .title { + height: 64px; + border-bottom: 1px solid #ebebeb; + font-size: 14px; + color: #000000; + font-weight: 650; + padding-top: 20px; + padding-left: 20px; +} +#answer-app .edit-answers textarea { + display: block; + border: none; + outline: none; + width: 100%; + height: 255px; + font-size: 14px; + color: #555555; + line-height: 26px; + resize: none; + padding: 20px; +} +#answer-app .issue-bottom { + justify-content: space-between; + height: 80px; + background-color: #f6f6f6; + border-radius: 0 0 10px 10px; + padding: 0 30px; +} +#answer-app .issue-bottom .option-box { + font-size: 14px; + color: #7F7F7F; + cursor: pointer; +} +#answer-app .issue-bottom .option-box .option-icon { + width: 18px; + height: 18px; + margin-right: 6px; +} +#answer-app .issue-bottom .issue-btn { + width: 120px; + height: 40px; + background-color: #fddf6d; + border-radius: 4px; + font-size: 14px; + color: #333333; + cursor: pointer; +} +#answer-app .i-answer-box { + width: 720px; + height: 660px; + background-color: #ffffff; + border: 1px solid #ebebeb; + border-radius: 10px; + -moz-box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.11764706); + -webkit-box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.11764706); + box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.11764706); + flex-direction: column; + position: relative; +} +#answer-app .i-answer-box .close-icon { + width: 12px; + height: 12px; + position: absolute; + top: 12px; + right: 12px; + cursor: pointer; +} +#answer-app .i-answer-box .question-header { + padding: 25px 8px 25px 20px; + border-bottom: 1px solid #ebebeb; +} +#answer-app .i-answer-box .question-header .question-title { + font-size: 18px; + color: #000000; + font-weight: 650; + margin-bottom: 20px; +} +#answer-app .i-answer-box .question-header .question-title .question-icon { + width: 20px; + height: 20px; + border-radius: 50%; + background-color: #72db86; + font-weight: 650; + font-size: 13px; + color: #FFFFFF; + margin-right: 12px; + margin-top: 3px; +} +#answer-app .i-answer-box .question-header .question-replenish { + max-height: 87px; + color: #7F7F7F; + line-height: 24px; + overflow: auto; + font-weight: 400; + font-size: 13px; + padding-left: 33px; +} +#answer-app .i-answer-box .question-middle { + flex: 1; + padding: 23px 20px; +} +#answer-app .i-answer-box .question-middle .question-icon { + font-weight: 650; + font-size: 13px; + color: #FFFFFF; + width: 20px; + height: 20px; + background-color: #62b1ff; + border-radius: 50%; + margin-right: 12px; +} +#answer-app .i-answer-box .question-middle .question-textarea { + height: 412px; + width: 100%; + border: none; + outline: none; + background-color: transparent; + resize: none; + overflow: auto; +} +#answer-app .i-answer-box .question-middle .question-textarea.placeholder::after { + content: "输入图文内容回答提问"; + color: #999; +} +#answer-app .i-answer-box .question-middle .question-textarea img { + max-width: 100%; +} +a::after { + content: ""; +} diff --git a/css/index.less b/css/index.less new file mode 100644 index 0000000..4a6ede1 --- /dev/null +++ b/css/index.less @@ -0,0 +1,1777 @@ +* { + margin: 0; + padding: 0; + box-sizing: border-box; + font-family: 'PingFangSC-Regular', 'PingFang SC', sans-serif; + font-style: normal; +} + +/* Webkit浏览器(Chrome、Safari等) */ +*::-webkit-scrollbar { + width: 8px; + background-color: transparent; +} + +*::-webkit-scrollbar-thumb { + background-color: #d7d7d7; + border-radius: 4px; +} + +*::-webkit-scrollbar-thumb:hover { + background-color: #666; +} + +/* Firefox浏览器 */ +/* 注意:Firefox浏览器不支持修改滚动条的宽度 */ +/* 若要修改滚动条的宽度,可以使用一些特殊的插件或者自定义滚动条的替代方案 */ +/* 以下代码只是修改滚动条的颜色和背景色 */ +* { + scrollbar-width: thin; + scrollbar-color: #d7d7d7 transparent; +} + +*::-moz-scrollbar-thumb { + background-color: #d7d7d7; +} + +*::-moz-scrollbar-thumb:hover { + background-color: #666; +} + +.flexflex { + display: flex; +} + +.flex1 { + flex: 1; +} + +.flexcenter { + display: flex; + justify-content: center; + align-items: center; +} + +.flexacenter { + display: flex; + align-items: center; +} + +.flexjcenter { + display: flex; + justify-content: center; +} + +/* // 一行显示 */ +.ellipsis { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +#answer-app { + header { + background: rgba(246, 246, 246, 1); + height: 150px; + border: 1px solid rgba(235, 235, 235, 1); + min-width: 1200px; + margin: 0 auto; + flex-direction: column; + padding-top: 24px; + + .top { + width: 1200px; + margin-bottom: 31px; + + .logo { + width: 73px; + // height: 36px; + cursor: pointer; + } + + .right { + justify-content: flex-end; + + .searchInput { + width: 320px; + height: 32px; + border: 1px solid rgba(235, 235, 235, 1); + border-radius: 104px; + background-color: #fff; + font-size: 13px; + padding-right: 16px; + position: relative; + + + input { + border: none; + outline: none; + height: 100%; + padding-left: 16px; + border-radius: 104px; + + } + + .input-icon { + width: 20px; + height: 20px; + cursor: pointer; + } + + .history-box { + position: absolute; + top: 36px; + left: 0; + width: 320px; + // height: 267px; + background-color: rgba(255, 255, 255, 1); + border: 1px solid rgba(235, 235, 235, 1); + border-radius: 10px; + padding-top: 15px; + z-index: 2; + padding-bottom: 14px; + + .history-title { + font-size: 13px; + color: #AAAAAA; + padding-left: 16px; + margin-bottom: 9px; + } + + .history-list { + .history-item { + font-size: 14px; + color: #333; + height: 30px; + line-height: 30px; + padding: 0 16px; + cursor: pointer; + } + } + } + } + + .btn-list { + width: 221px; + height: 30px; + border: 1px solid rgba(235, 235, 235, 1); + border-radius: 5px; + font-size: 13px; + color: #555; + margin-left: 20px; + + .item { + text-align: center; + position: relative; + cursor: pointer; + + &:not(:last-of-type)::before { + content: '|'; + position: absolute; + top: 50%; + right: 0; + transform: translateY(-50%); + color: #D7D7D7; + font-size: 13px + } + } + } + + .add-btn { + width: 130px; + height: 30px; + background-color: rgba(253, 223, 109, 1); + border-radius: 5px; + color: #000000; + font-size: 13px; + cursor: pointer; + margin-left: 20px; + + .add-icon { + width: 14px; + height: 14px; + margin-right: 4px; + } + } + } + } + + .tab-box { + width: 100%; + z-index: 1; + background-color: #f6f6f6; + padding: 5px 0; + + &.tab-list-fixed { + position: fixed; + top: 0; + + } + + margin: 0 auto; + + .tab-list { + width: 1200px; + + + .item { + text-align: center; + font-size: 14px; + height: 24px; + color: #333; + margin-right: 30px; + + &.pitch { + padding: 0 11px; + background-color: rgba(250, 107, 17, 1); + border-radius: 19px; + font-weight: 650; + color: #FFFFFF; + } + } + } + } + } + + .main { + // width: 1200px; + margin: 0 auto; + height: calc(100vh - 150px); + justify-content: center; + background-color: #fbfbfb; + min-width: 1200px; + + &.mode-list { + background: #fff; + + .main-header { + border-right: none; + } + + .list-box .list .item { + border-right: none; + } + } + + .main-header { + // width: 1200px; + margin: 0 auto; + // justify-content: space-between; + padding-left: calc((100vw - 1200px) / 2); + display: inline-flex; + width: calc((100vw - 1200px) / 2 + 512px); + background: #fff; + border-right: 1px solid #ebebeb; + + .search-keyword { + color: #FA6B11; + font-size: 14px; + height: 20px; + cursor: pointer; + + .search-keyword-cross { + width: 14px; + height: 14px; + margin-left: 8px; + } + + padding-right: 20px; + margin-right: 20px; + border-right: 1px solid #ebebeb; + } + + height: 68px; + padding-top: 28px; + + .total { + // width: 552px; + font-size: 13px; + color: #7F7F7F; + height: 20px; + + // height: 68px; + // padding-top: 28px; + // border-bottom: 1px solid #ebebeb; + } + } + + .list-box { + overflow-y: auto; + overflow-x: hidden; + padding-right: 15px; + + &::-webkit-scrollbar { + width: 0 !important; + } + + .list { + display: flex; + flex-wrap: wrap; + justify-content: space-between; + // margin: 0 auto; + position: relative; + + .item { + position: absolute; + padding: 20px 0 0; + // transition: all .5s; + transition-property: top, left, background; + transition-duration: 0.5s; + border-right: 1px solid #ebebeb; + + height: 128px; + background-color: #fff; + + &:first-of-type { + border-top: 1px solid #ebebeb; + } + + &.upLevel { + .content { + border: none; + } + } + + &.pitch { + background-color: rgba(251, 251, 251, 1); + border-top: 1px solid #ebebeb; + border-bottom: 1px solid #ebebeb; + position: relative; + + &::after { + content: ""; + position: absolute; + top: 0; + right: -1px; + width: 4px; + height: 100%; + background-color: rgba(253, 223, 109, 1); + } + + &::before { + content: ""; + position: absolute; + width: 5px; + height: 10px; + right: -5px; + top: 50%; + transform: translateY(-50%); + background-image: url('../img/triangle-icon.svg'); + } + + .content { + border: none; + } + } + + // background-color: rgba(251, 251, 251, 1); + // position: relative; + + // &::after { + // content: ""; + // background-color: rgba(251, 251, 251, 1); + // width: 200px; + // height: 108px; + // position: absolute; + // top: 0; + // right: 0; + // } + + .dot { + width: 6px; + height: 6px; + margin-top: 8px; + margin-right: 14px; + } + + .content { + // width: 531px; + border-bottom: 1px dotted #ebebeb; + padding-bottom: 20px; + // transition: all 0.3s; + + .issue { + font-weight: 650; + font-size: 14px; + color: #000000; + line-height: 22px; + margin-bottom: 8px; + } + + .answer { + color: #555; + height: 22px; + line-height: 22px; + font-size: 13px; + margin-bottom: 18px; + } + + .bottom { + font-size: 12px; + justify-content: flex-end; + + .quantity { + color: #aaa; + } + + .longString { + width: 1px; + height: 13px; + background-color: #d7d7d7; + margin: 0 15px; + } + + .answer-btn { + color: #72DB86; + cursor: pointer; + } + } + } + } + } + + .empty-box { + width: 690px; + height: 490px; + background-color: #ffffff; + border-radius: 6px; + margin: 0 auto; + flex-direction: column; + + .dot-list .item { + width: 8px; + height: 8px; + + &:not(:last-of-type) { + margin-right: 5px; + } + } + + .empty-icon { + width: 100px; + height: 100px; + margin-top: 10px; + margin-bottom: 15px; + } + + .empty-hint { + font-size: 13px; + color: #7f7f7f; + line-height: 22px; + } + } + + } + + .details-area-box { + width: calc((100vw - 1200px) / 2 + 688px); + // min-height: 1000vh; + // background-color: #72DB86; + background-color: rgba(251, 251, 251, 1); + // border-left: 1px solid #ebebeb; + overflow-y: auto; + overflow-x: hidden; + + display: flex; + flex-direction: column; + + .details-box { + width: 688px; + padding-left: 60px; + flex-direction: column; + flex: 1; + + .close-box { + height: 69px; + padding-top: 29px; + display: flex; + justify-content: flex-end; + + .close-circle { + position: relative; + cursor: pointer; + + .close-icon { + width: 20px; + height: 20px; + } + + .details-cross-icon { + width: 10px; + height: 10px; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + } + } + + } + + .details-issue { + width: 627px; + border-radius: 8px; + background-color: #fff; + -moz-box-shadow: 0px 0px 11px rgba(0, 0, 0, 0.101960784313725); + -webkit-box-shadow: 0px 0px 11px rgb(0 0 0 / 10%); + box-shadow: 0px 0px 11px rgb(0 0 0 / 10%); + padding-top: 24px; + margin-bottom: 28px; + + .title { + font-weight: 650; + font-size: 18px; + line-height: 22px; + color: #000000; + padding: 0 24px; + margin-bottom: 21px; + } + + .hint { + font-size: 14px; + color: #555; + line-height: 24px; + margin-bottom: 20px; + padding: 0 24px; + } + + + + .operate-box { + + .answer-btn { + width: 120px; + height: 28px; + background-color: rgba(246, 246, 246, 1); + // border: 1px solid rgba(235, 235, 235, 1); + border-radius: 43px; + font-size: 14px; + color: #555555; + line-height: 20px; + cursor: pointer; + + &.white { + background-color: rgba(98, 177, 255, 1); + color: #FFFFFF; + + .answer-icon-white { + display: block; + } + + .answer-icon-edit { + display: none; + } + } + + .answer-btn-icon { + width: 16px; + height: 16px; + margin-right: 8px; + display: none; + } + + .answer-icon-edit { + display: block; + } + } + + } + } + + .answer-total-amount { + color: #555555; + line-height: 22px; + font-size: 13px; + margin-bottom: 20px; + } + + .answer-empty-box { + height: 321px; + flex-direction: column; + justify-content: center; + background-color: #fff; + width: 626px; + height: 300px; + background-color: rgba(255, 255, 255, 1); + border: 1px solid rgba(235, 235, 235, 1); + border-radius: 10px; + -moz-box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.117647058823529); + -webkit-box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.117647058823529); + box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.117647058823529); + } + + .answer-box-item { + width: 627px; + border-radius: 8px; + background-color: #fff; + -moz-box-shadow: 0px 0px 11px rgba(0, 0, 0, 0.101960784313725); + -webkit-box-shadow: 0px 0px 11px rgb(0 0 0 / 10%); + box-shadow: 0px 0px 11px rgb(0 0 0 / 10%); + padding-top: 24px; + margin-bottom: 21px; + + .answer-text { + font-size: 14px; + color: #555555; + line-height: 26px; + padding: 0 24px; + margin-bottom: 20px; + + img { + max-width: 100%; + } + } + + .operate-box { + padding: 0 24px; + + .edit-box { + .edit-btn { + cursor: pointer; + width: 24px; + height: 24px; + border-radius: 50%; + background-color: #f6f6f6; + + .edit-icon { + width: 16px; + height: 16px; + } + + } + + } + } + + .post-comment { + background-color: rgba(246, 246, 246, 1); + position: relative; + z-index: 2; + + .post-input { + height: 50px; + border: none; + background-color: transparent; + outline-color: rgba(98, 177, 255, 1); + padding: 0 23px; + font-size: 14px; + + &::placeholder { + color: #AAAAAA; + } + } + + .post-ok { + width: 50px; + height: 50px; + background-color: rgba(98, 177, 255, 1); + color: #fff; + font-size: 13px; + cursor: pointer; + } + } + + .comments-empty-box { + height: 321px; + flex-direction: column; + justify-content: center; + } + + .comments-box { + padding: 17px 24px 29px; + + .comments-item { + padding: 13px 0 0; + + .comments-header { + justify-content: space-between; + margin-bottom: 9px; + + .comments-header-left { + font-size: 13px; + + .comments-avatar { + width: 20px; + height: 20px; + margin-right: 10px; + border-radius: 50%; + } + + .comments-username { + color: #555; + margin-right: 10px; + } + + .comments-time { + color: #AAAAAA; + margin-right: 8px; + } + + .comments-identity { + font-size: 12px; + color: #7f7f7f; + padding: 0 3px; + height: 20px; + background-color: rgba(240, 242, 245, 1); + border: 1px solid rgba(215, 215, 215, 1); + border-radius: 5px; + } + } + + .comments-header-right { + .menu-box { + .menu-icon { + width: 14px; + height: 14px; + cursor: pointer; + } + + position: relative; + + .report-box { + position: absolute; + top: 24px; + right: 0; + width: 60px; + height: 24px; + background-color: rgba(246, 246, 246, 1); + border: 1px solid rgba(215, 215, 215, 1); + border-radius: 5px; + font-size: 12px; + color: #7F7F7F; + } + } + + .comment-icon { + width: 14px; + height: 13px; + margin-left: 40px; + cursor: pointer; + } + + .like-box { + font-size: 12px; + color: #aaa; + margin-left: 40px; + cursor: pointer; + + .like-icon { + width: 14px; + height: 14px; + } + + .like-quantity { + margin-left: 6px; + } + } + } + + + } + + .comments-content { + margin-left: 30px; + padding-bottom: 12px; + border-bottom: 1px dotted #ebebeb; + + .comments-text { + font-size: 14px; + line-height: 22px; + color: #333333; + + .comments-reply { + color: #92A1BF; + display: inline; + } + } + + .comments-input-box { + margin-top: 13px; + + + .comments-input { + width: 519px; + height: 60px; + border: 1px solid rgba(215, 215, 215, 1); + border-radius: 8px; + margin-right: 16px; + position: relative; + z-index: 1; + + &::after { + content: ""; + width: 20px; + height: 20px; + display: block; + background-color: rgba(215, 215, 215, 1); + position: absolute; + top: -2px; + left: 21px; + transform: rotate(45deg); + z-index: -1; + } + + textarea { + border: none; + outline: none; + resize: none; + padding: 11px 16px; + border-radius: 7px 0 0 7px; + } + + .comments-btn { + width: 58px; + height: 58px; + background-color: rgba(114, 219, 134, 1); + border-radius: 0 7px 7px 0; + font-size: 14px; + color: #FFFFFF; + cursor: pointer; + } + } + + .forkfork { + width: 12px; + height: 12px; + cursor: pointer; + } + } + + + } + } + + .child-comments { + margin-left: 24px; + border-bottom: 1px dotted #ebebeb; + + .comments-item:last-of-type .comments-text { + border-bottom: none; + } + + .comments-also { + color: #62B1FF; + line-height: 22px; + font-size: 13px; + height: 46px; + margin-left: 30px; + cursor: pointer; + + .also-icon { + width: 10px; + height: 10px; + margin-left: 8px; + } + } + } + + .reverl-all { + width: 120px; + height: 28px; + border: 1px solid rgba(235, 235, 235, 1); + border-radius: 43px; + color: #555555; + line-height: 20px; + font-size: 13px; + margin: 16px auto 0; + cursor: pointer; + + .arrow-circular { + width: 10px; + height: 10px; + margin-left: 10px; + } + } + } + } + + .info-box { + justify-content: space-between; + padding: 0 24px; + margin-bottom: 20px; + + .user-info { + .avatar { + width: 20px; + height: 20px; + border-radius: 50%; + margin-right: 8px; + } + + .user-name { + color: #7f7f7f; + font-size: 13px; + margin-right: 20px; + } + + .homeShare { + height: 14px; + } + } + + .time { + font-size: 12px; + color: #AAAAAA; + } + } + + + .operate-box { + justify-content: space-between; + height: 54px; + border-top: 1px dotted #ebebeb; + padding: 0 24px; + + .operate-list { + .operate-item { + font-size: 13px; + color: #7f7f7f; + margin-left: 49px; + cursor: pointer; + height: 53px; + // background-color: #333333; + + position: relative; + z-index: 1; + + &.commentnum::after { + content: ""; + width: 80px; + height: 100%; + background: inherit; + background-color: rgba(246, 246, 246, 1); + position: absolute; + top: 0; + left: 50%; + z-index: -1; + transform: translateX(-50%); + } + + .operate-icon { + margin-right: 7px; + + &.operate-like-icon, + &.operate-transmit-icon { + width: 14px; + height: 14px; + } + + &.operate-comment-icon { + width: 14px; + height: 13px; + } + + &.operate-collect-icon { + width: 16px; + height: 16px; + } + } + + &.operate-transmit { + position: relative; + z-index: 1; + + .transmit-box { + width: 628px; + // height: 300px; + border: 1px solid rgba(235, 235, 235, 1); + border-radius: 10px; + -moz-box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.117647058823529); + -webkit-box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.117647058823529); + box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.117647058823529); + + position: absolute; + top: 64px; + right: -24px; + background: #fff; + justify-content: space-between; + padding: 40px 35px 42px; + + .transmit-title { + font-weight: 650; + font-size: 16px; + color: #000000; + line-height: 24px; + margin-bottom: 24px; + } + + .transmit-content { + border: 1px solid rgba(242, 242, 242, 1); + border-radius: 16px; + } + + .transmit-web { + .transmit-content { + width: 300px; + font-size: 14px; + line-height: 24px; + padding: 14px 16px; + margin-bottom: 32px; + + .transmit-headline { + color: #333333; + } + + .transmit-url { + color: #AAAAAA; + } + } + + .transmit-web-btn { + width: 120px; + height: 38px; + background-color: rgba(253, 223, 109, 1); + border-radius: 8px; + font-size: 14px; + color: #000000; + } + } + + .transmit-mini { + + + .transmit-content { + flex-direction: column; + padding: 22px 44px; + + .transmit-mini-img { + width: 90px; + height: 90px; + margin-bottom: 21px; + } + + color: #555555; + // line-height: 22px; + font-size: 13px; + + .give-sweep { + width: 12px; + height: 12px; + margin-right: 8px; + } + } + } + + } + + .transmit-mask { + position: fixed; + top: 0; + left: 0; + // background-color:; + z-index: -1; + width: 100vw; + height: 100vh; + } + } + + } + } + } + + .copyright { + font-size: 13px; + color: #d7d7d7; + margin-top: 29px; + margin-bottom: 87px; + text-align: center; + } + + .mobile-phone-check { + width: 150px; + padding: 10px 0; + margin-bottom: 50px; + // height: 36px; + color: #7F7F7F; + font-size: 13px; + border: 1px solid rgba(235, 235, 235, 1); + border-radius: 20px; + margin: 0 auto 50px; + cursor: pointer; + position: relative; + + .QRCode-icon { + width: 16px; + height: 16px; + margin-right: 10px; + } + + &:hover .QRCode-pop { + display: flex; + } + + .QRCode-pop { + display: none; + position: absolute; + bottom: 45px; + width: 200px; + height: 200px; + background-color: rgba(255, 255, 255, 1); + border-radius: 17px; + -moz-box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.16078431372549); + -webkit-box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.16078431372549); + box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.16078431372549); + flex-direction: column; + z-index: 1; + + .offer-mini-QRcode { + width: 113px; + // height: 113px; + margin-bottom: 18px; + } + + .QRCode-hint { + .QRCode-img { + width: 12px; + height: 12px; + margin-right: 12px; + } + + font-size: 13px; + color: #333333; + } + } + + } + } + + + .empty-box { + flex-direction: column; + margin-bottom: 16px; + + .dot-list { + margin-bottom: 8px; + + .dot-item { + width: 8px; + height: 8px; + + &:not(:last-of-type) { + margin-right: 5px; + } + } + } + + .empty-icon { + width: 100px; + height: 100px; + } + } + + .empty-hint { + color: #7F7F7F; + line-height: 22px; + font-size: 13px; + text-align: center; + } + } + + } + + .my-popover { + + .popover-box { + width: 750px; + height: 616px; + background-color: rgba(255, 255, 255, 1); + border-radius: 10px; + -moz-box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.117647058823529); + -webkit-box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.117647058823529); + box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.117647058823529); + flex-direction: column; + padding-top: 30px; + position: relative; + + .cross-icon { + position: absolute; + top: 12px; + right: 12px; + width: 12px; + height: 12px; + cursor: pointer; + } + + .tab-list { + color: #aaa; + font-size: 16px; + margin-bottom: 30px; + + .tab-item { + cursor: pointer; + + .quantity { + margin-left: 10px; + + } + + &.pitch { + font-family: 'PingFangSC-Semibold', 'PingFang SC Semibold', 'PingFang SC', sans-serif; + font-weight: 650; + color: #000000; + + .quantity { + font-weight: 400; + color: #555; + } + } + } + + .long-string { + margin: 0 20px; + width: 1px; + height: 17px; + background-color: #d7d7d7; + } + } + + .empty-box { + width: 690px; + height: 490px; + background-color: rgba(255, 255, 255, 1); + border: 1px solid rgba(235, 235, 235, 1); + border-radius: 6px; + margin: 0 auto; + flex-direction: column; + + .dot-list { + .item { + width: 8px; + height: 8px; + + &:not(:last-of-type) { + margin-right: 5px; + } + } + } + + .empty-icon { + width: 100px; + height: 100px; + margin-top: 10px; + margin-bottom: 15px; + } + + .empty-hint { + font-size: 13px; + color: #7f7f7f; + line-height: 22px; + } + } + + .content-box { + width: 690px; + height: 490px; + margin: 0 auto; + overflow: auto; + + + .icon { + font-family: 'PingFangSC-Semibold', 'PingFang SC Semibold', 'PingFang SC', sans-serif; + font-weight: 650; + font-size: 13px; + width: 20px; + height: 20px; + line-height: 20px; + border-radius: 50%; + color: #fff; + margin-right: 17px; + + &.q { + background-color: #72db86; + } + + &.a { + background-color: #62b1ff; + } + } + + + .item { + padding: 20px 0; + border-bottom: 1px dotted #ebebeb; + + .centre { + .info { + font-size: 12px; + color: #555; + margin-bottom: 10px; + + .time { + color: #aaa; + margin-left: 8px; + } + } + + .title { + color: #333333; + font-size: 14px; + line-height: 22px; + margin-bottom: 10px; + width: 532px; + } + + .text { + font-size: 12px; + color: #AAAAAA; + width: 532px; + } + + flex-direction: column; + } + + .operate-box { + .state-box { + position: relative; + cursor: pointer; + + .text { + font-size: 13px; + color: #333; + } + + .arrows { + width: 8px; + height: 5px; + margin-left: 6px; + } + + .state-popup { + position: absolute; + top: 28px; + right: 0; + width: 140px; + height: 101px; + background-color: rgba(255, 255, 255, 1); + border-radius: 10px; + -moz-box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.203921568627451); + -webkit-box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.203921568627451); + box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.203921568627451); + flex-direction: column; + z-index: 1; + + .state-popup-mask { + position: fixed; + top: 0; + left: 0; + width: 100vw; + height: 100vh; + // background-color: #000000; + z-index: -1; + } + + .state-popup-item { + justify-content: space-between; + color: #555; + font-size: 14px; + padding: 0 10px; + + &:hover { + color: #000000; + } + + &.pitch { + color: #FA6B11; + + .state-popup-icon { + display: block; + } + } + + &:not(:last-of-type) { + border-bottom: 1px dotted #e3e3e3; + } + + .state-popup-icon { + width: 11px; + height: 8px; + display: none; + } + } + } + } + + .edit-icon { + width: 16px; + height: 16px; + cursor: pointer; + margin-left: 30px; + } + } + } + + &.collect-list { + padding-right: 10px; + + .item { + padding: 20px 0; + border-bottom: 1px dotted #ebebeb; + + + + .delete-box { + .delete-icon { + cursor: pointer; + } + } + } + } + + &.answers-list { + .item { + .centre {} + + + } + } + + &.questions-list { + .item { + .new-answer { + color: #F95D5D; + + .long-string { + width: 1px; + height: 12px; + background-color: #D7D7D7; + margin: 0 8px; + } + } + } + } + } + } + } + + .popover-mask { + position: fixed; + top: 0; + left: 0; + background-color: rgba(0, 0, 0, 0.5); + width: 100vw; + height: 100vh; + z-index: 1; + } + + .issue-box { + + .choosing-theme { + width: 530px; + // height: 329px; + background: inherit; + background-color: rgba(255, 255, 255, 1); + border: none; + border-radius: 10px; + -moz-box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.117647058823529); + -webkit-box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.117647058823529); + box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.117647058823529); + padding: 30px 36px 45px; + + .title { + font-size: 14px; + font-weight: 650; + color: #000000; + position: relative; + margin-bottom: 30px; + + &::before { + content: ""; + width: 5px; + height: 12px; + background-color: rgba(114, 219, 134, 1); + border-radius: 3px; + position: absolute; + top: 50%; + left: -15px; + transform: translateY(-50%); + } + } + + .theme-list { + justify-content: space-between; + flex-wrap: wrap; + + &::after { + content: ""; + width: 140px; + height: 0; + } + + .theme-item { + width: 140px; + height: 36px; + background-color: rgba(246, 246, 246, 1); + border-radius: 5px; + font-size: 14px; + color: #333333; + cursor: pointer; + + &:not(:nth-last-child(-n+3)) { + margin-bottom: 20px; + } + + &:hover { + color: #000000; + background-color: rgba(253, 223, 109, 1); + } + + + } + } + } + + .issue-form { + padding-top: 30px; + width: 721px; + // height: 520px; + width: 721px; + height: 520px; + background-color: #fff; + border-radius: 10px; + position: relative; + z-index: 1; + + .issue-bj { + position: absolute; + left: -3px; + top: -3px; + width: 727px; + height: 526px; + z-index: -1; + } + + .q { + width: 20px; + height: 20px; + border-radius: 50%; + font-weight: 650; + font-style: normal; + font-size: 13px; + color: #FFFFFF; + background-color: #72db86; + position: absolute; + top: 0; + left: 0; + } + + .cross-icon { + position: absolute; + top: 12px; + right: 12px; + width: 12px; + height: 12px; + cursor: pointer; + } + + input, + textarea { + border: none; + outline: none; + } + + .issue-input { + padding: 0 30px; + width: 720px; + height: 80px; + border-bottom: 1px dotted #ebebeb; + + input { + font-size: 18px; + width: 100%; + + &::placeholder { + color: #AAAAAA; + } + } + } + + .issue-replenish { + width: 100%; + height: 330px; + font-size: 14px; + padding: 20px 30px; + resize: none; + + &::placeholder { + color: #AAAAAA; + } + } + } + + + } + + .edit-answers { + width: 720px; + height: 400px; + background-color: rgba(255, 255, 255, 1); + border: 1px solid rgba(235, 235, 235, 1); + border-radius: 10px; + -moz-box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.117647058823529); + -webkit-box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.117647058823529); + box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.117647058823529); + position: relative; + + .close-icon { + width: 12px; + height: 12px; + position: absolute; + top: 12px; + right: 12px; + cursor: pointer; + } + + .title { + height: 64px; + border-bottom: 1px solid #ebebeb; + font-size: 14px; + color: #000000; + font-weight: 650; + padding-top: 20px; + padding-left: 20px; + } + + textarea { + display: block; + border: none; + outline: none; + width: 100%; + height: 255px; + font-size: 14px; + color: #555555; + line-height: 26px; + resize: none; + padding: 20px; + } + } + + + .issue-bottom { + justify-content: space-between; + height: 80px; + background-color: rgba(246, 246, 246, 1); + border-radius: 0 0 10px 10px; + padding: 0 30px; + + .option-box { + font-size: 14px; + color: #7F7F7F; + cursor: pointer; + + .option-icon { + width: 18px; + height: 18px; + margin-right: 6px; + } + } + + .issue-btn { + width: 120px; + height: 40px; + background-color: rgba(253, 223, 109, 1); + border-radius: 4px; + font-size: 14px; + color: #333333; + cursor: pointer; + } + } + + .i-answer-box { + width: 720px; + height: 660px; + background-color: rgba(255, 255, 255, 1); + border: 1px solid rgba(235, 235, 235, 1); + border-radius: 10px; + -moz-box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.117647058823529); + -webkit-box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.117647058823529); + box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.117647058823529); + flex-direction: column; + position: relative; + + .close-icon { + width: 12px; + height: 12px; + position: absolute; + top: 12px; + right: 12px; + cursor: pointer; + } + + .question-header { + padding: 25px 8px 25px 20px; + border-bottom: 1px solid #ebebeb; + + .question-title { + .question-icon { + width: 20px; + height: 20px; + border-radius: 50%; + background-color: #72db86; + font-weight: 650; + font-size: 13px; + color: #FFFFFF; + margin-right: 12px; + margin-top: 3px; + } + + font-size: 18px; + color: #000000; + font-weight: 650; + // line-height: 22px; + margin-bottom: 20px; + } + + .question-replenish { + // width: 642px; + max-height: 87px; + color: #7F7F7F; + line-height: 24px; + overflow: auto; + font-weight: 400; + font-size: 13px; + padding-left: 33px; + } + } + + .question-middle { + flex: 1; + padding: 23px 20px; + + .question-icon { + font-weight: 650; + font-size: 13px; + color: #FFFFFF; + width: 20px; + height: 20px; + background-color: #62b1ff; + border-radius: 50%; + margin-right: 12px; + } + + .question-textarea { + height: 412px; + width: 100%; + border: none; + outline: none; + background-color: transparent; + resize: none; + overflow: auto; + + &.placeholder::after { + content: "输入图文内容回答提问"; + color: #999; + } + + img { + max-width: 100%; + } + } + } + } + +} + + +a::after { + content: ""; +} \ No newline at end of file diff --git a/img/QRCode-icon.svg b/img/QRCode-icon.svg new file mode 100644 index 0000000..8464970 --- /dev/null +++ b/img/QRCode-icon.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/img/add-icon.svg b/img/add-icon.svg new file mode 100644 index 0000000..585cf1c --- /dev/null +++ b/img/add-icon.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/img/arrow-circular-gray.png b/img/arrow-circular-gray.png new file mode 100644 index 0000000..208e039 Binary files /dev/null and b/img/arrow-circular-gray.png differ diff --git a/img/arrows-icon.svg b/img/arrows-icon.svg new file mode 100644 index 0000000..f36972e --- /dev/null +++ b/img/arrows-icon.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/img/close-icon.svg b/img/close-icon.svg new file mode 100644 index 0000000..4fb9f94 --- /dev/null +++ b/img/close-icon.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/img/collect-icon-colours.svg b/img/collect-icon-colours.svg new file mode 100644 index 0000000..1a4057d --- /dev/null +++ b/img/collect-icon-colours.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/img/collect-icon.png b/img/collect-icon.png new file mode 100644 index 0000000..4d60d52 Binary files /dev/null and b/img/collect-icon.png differ diff --git a/img/comment-icon-gray.svg b/img/comment-icon-gray.svg new file mode 100644 index 0000000..1f5b9fa --- /dev/null +++ b/img/comment-icon-gray.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/img/comment-icon.png b/img/comment-icon.png new file mode 100644 index 0000000..8d4a63e Binary files /dev/null and b/img/comment-icon.png differ diff --git a/img/cross-circle-icon.png b/img/cross-circle-icon.png new file mode 100644 index 0000000..d2793f8 Binary files /dev/null and b/img/cross-circle-icon.png differ diff --git a/img/cross-icon.png b/img/cross-icon.png new file mode 100644 index 0000000..c3e2e52 Binary files /dev/null and b/img/cross-icon.png differ diff --git a/img/delete-icon.svg b/img/delete-icon.svg new file mode 100644 index 0000000..1e295a1 --- /dev/null +++ b/img/delete-icon.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/img/dot-gray.svg b/img/dot-gray.svg new file mode 100644 index 0000000..3351277 --- /dev/null +++ b/img/dot-gray.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/img/dot-yellow.svg b/img/dot-yellow.svg new file mode 100644 index 0000000..1bb33f7 --- /dev/null +++ b/img/dot-yellow.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/img/dot.svg b/img/dot.svg new file mode 100644 index 0000000..2945c5b --- /dev/null +++ b/img/dot.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/img/edit-icon-white.svg b/img/edit-icon-white.svg new file mode 100644 index 0000000..84c4805 --- /dev/null +++ b/img/edit-icon-white.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/img/edit-icon.png b/img/edit-icon.png new file mode 100644 index 0000000..af69726 Binary files /dev/null and b/img/edit-icon.png differ diff --git a/img/empty-icon.svg b/img/empty-icon.svg new file mode 100644 index 0000000..1e2de01 --- /dev/null +++ b/img/empty-icon.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/img/give-sweep.png b/img/give-sweep.png new file mode 100644 index 0000000..f72331d Binary files /dev/null and b/img/give-sweep.png differ diff --git a/img/input-icon.png b/img/input-icon.png new file mode 100644 index 0000000..3587ae1 Binary files /dev/null and b/img/input-icon.png differ diff --git a/img/issue-bj.svg b/img/issue-bj.svg new file mode 100644 index 0000000..35c1a6f --- /dev/null +++ b/img/issue-bj.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/img/like-icon-colours.png b/img/like-icon-colours.png new file mode 100644 index 0000000..09d9120 Binary files /dev/null and b/img/like-icon-colours.png differ diff --git a/img/like-icon-gray.png b/img/like-icon-gray.png new file mode 100644 index 0000000..b9e164c Binary files /dev/null and b/img/like-icon-gray.png differ diff --git a/img/like-icon.png b/img/like-icon.png new file mode 100644 index 0000000..e38f888 Binary files /dev/null and b/img/like-icon.png differ diff --git a/img/logo.png b/img/logo.png new file mode 100644 index 0000000..a31c8e2 Binary files /dev/null and b/img/logo.png differ diff --git a/img/menu-icon-gray.svg b/img/menu-icon-gray.svg new file mode 100644 index 0000000..1abc84a --- /dev/null +++ b/img/menu-icon-gray.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/img/mini-code.png b/img/mini-code.png new file mode 100644 index 0000000..def8ef0 Binary files /dev/null and b/img/mini-code.png differ diff --git a/img/offer-mini-QRcode.png b/img/offer-mini-QRcode.png new file mode 100644 index 0000000..c16265b Binary files /dev/null and b/img/offer-mini-QRcode.png differ diff --git a/img/tick-no.svg b/img/tick-no.svg new file mode 100644 index 0000000..3ccac85 --- /dev/null +++ b/img/tick-no.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/img/tick-option.svg b/img/tick-option.svg new file mode 100644 index 0000000..81db8a5 --- /dev/null +++ b/img/tick-option.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/img/tick-orange.svg b/img/tick-orange.svg new file mode 100644 index 0000000..c31fcfa --- /dev/null +++ b/img/tick-orange.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/img/title.png b/img/title.png new file mode 100644 index 0000000..b7977d4 Binary files /dev/null and b/img/title.png differ diff --git a/img/transmit-icon.png b/img/transmit-icon.png new file mode 100644 index 0000000..5ea6961 Binary files /dev/null and b/img/transmit-icon.png differ diff --git a/img/triangle-icon.svg b/img/triangle-icon.svg new file mode 100644 index 0000000..b66289b --- /dev/null +++ b/img/triangle-icon.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 0000000..1da9adc --- /dev/null +++ b/index.html @@ -0,0 +1,545 @@ + + + + + + + + Document + + + + + + +
+ + + + + +
+
+
+
+ {{ keyword }} +
+
共 {{ total }} 条回答
+
+
+
+ +
+
+
{{ item['content'] || '' }}
+
+
{{ item['answers'] == 0 ? '暂无回答' : `共${ item['answers'] }个回答` }}
+
+
我来回答
+
+
+
+
+ +
+
+
没有找到相关结果,请更换搜索关键词
+
+
+ + +
+
+
+
+ + +
+
+ +
+
{{ detailsInfo['title'] }}
+
+
+ +
{{ handleDate(detailsInfo['publicationdate']) }}
+
+
+
+ + + 我来回答 +
+
+
+ + 收藏 +
+
+ + 转发 +
+ +
+
转发网页版
+
+
25fall!求定位,大佬帮忙解答一下~ (港,新,美)
+
https://ask.gter.net/jb179020.html
+
+
复制链接
+
+
+
转发小程序版
+
+ +
+ + 扫码转发该问答 +
+
+
+
+
+
+
+
+ +
共 {{ detailsInfo['answers'] }} 个回答
+ + +
+
+
+ + +
+ +
+
我在等待你的回答
+
+ + +
+
+ +
+ +
{{ handleDate(item['publicationdate']) }}
+
+ +
+
+
+ +
+
+
+
+ + {{ item['likenum'] }} +
+
+ + {{ item['commentnum'] }} +
+
+ + {{ item['collectionnum'] == 0 ? '收藏' : item['collectionnum'] }} +
+
+ + 转发 +
+ +
+
转发网页版
+
+
25fall!求定位,大佬帮忙解答一下~ (港,新,美)
+
https://ask.gter.net/jb179020.html
+
+
复制链接
+
+
+
转发小程序版
+
+ +
+ + 扫码转发该问答 +
+
+
+
+
+
+
+ + + +
+ + + + + +
+ + 手机查看该问答 + +
+ +
+ + 微信扫一扫 +
+
+
+
+ +
+
+ + +
+
+ +
+
我的收藏
{{ myCollectionCount || 0}}
+
+
+
我的回答
{{ myAnswerCount }}
+
+
+
我的提问
{{ myQuestionsCount }}
+
+
+
+
+ + + + + + +
+ +
暂无内容
+
+
+
+ + + +
+
+
+
+
A
+ +
+
+
{{ item['nickname'] }}
+
{{ item['publicationdate'] }}
+
+
+
提问:{{ item['title'] }}
+
+
+
+
{{ item['anonymous'] == 0 ? '公开' : '匿名' }}
+ +
+
+
+
公开发表
+ +
+
+
匿名发表
+ +
+
+
+ +
+
+
+
+
+
Q
+ +
+
+
Ada.Wu
+
1小时前
+
+
关于港大RP和HKFPS的RP部分能否有相同的部分内容?
+
+
有1个新回答
+
+ 暂无回答 +
+
+
+
+
公开
+ +
+
+
公开发表
+ +
+
+
公开发表
+ +
+
+
+
+
+
+
+
+ + +
+ +
+
选择提问所属主题
+
+
{{ item.name }}
+
+
+ + +
+ + + +
+ +
+ +
+
+ + + 匿名发表 +
+ +
发布问题
+
+
+
+ + +
+
+ +
编辑回答
+ +
+
+ + + 匿名发表 +
+
提交回答
+
+
+
+ + +
+
+ +
+
+
Q
+
{{ IAnswerInfo['title'] }}
+
+
+
+
+
A
+ +
+
+ +
+
+ + + 匿名发表 +
+
提交回答
+
+
+ +
+ + +
+ + + + + \ No newline at end of file diff --git a/js/index.js b/js/index.js new file mode 100644 index 0000000..b38ca74 --- /dev/null +++ b/js/index.js @@ -0,0 +1,1025 @@ +Object.assign(window, Vue) +const forumApp = Vue.createApp({ + setup() { + const baseURL = "https://ask.gter.net" + + let type = ref('list') // list details + + onMounted(() => { + getUserData() + getList() + getListClass() + window.addEventListener('scroll', handleScroll); + + getHistoricalSearchList() + }) + + onUnmounted(() => { + window.removeEventListener('scroll', handleScroll); + }); + + // 我的 数据 数量 + let myCount = ref({}) // + + // 获取用户数据 + const getUserData = () => { + $ajax("/api/user").then(res => { + console.log("res", res); + if (res.code != 200) return + + let data = res.data + console.log(data, "data"); + myCount.value = data.count + + }) + } + + // 是否是搜索模式 + let isSearchMode = ref(false) + + // 获取历史记录方法 + const getHistoricalSearchList = () => { + const list = localStorage.getItem('historical-Search'); + + if (list) historicalSearchList.value = JSON.parse(list) || [] + else historicalSearchList.value = [] + } + + // 存入历史记录 随便去重 和 限制长度 方法 + const setHistoricalSearchList = () => { + historicalSearchList.value.unshift(keyword.value) + historicalSearchList.value = [...new Set(historicalSearchList.value)] + historicalSearchList.value = historicalSearchList.value.slice(0, 10) + + localStorage.setItem('historical-Search', JSON.stringify(historicalSearchList.value)); + } + + // 搜索点击事件 + const searchClick = () => { + if (keyword.value == "") return + setHistoricalSearchList() + page = 1 + list.value = [] + type.value = 'list' + pitchIndex.value = null + + getList() + } + + + // 搜索获取焦点 + const searchFocus = () => { + if (historicalSearchList.value.length == 0) return + historicalSearchState.value = true + } + + // 搜索失去焦点 + const searchBlur = () => { + setTimeout(() => historicalSearchState.value = false, 100) + } + + // 点击历史记录 item + const handleClickHistoricalItem = (value) => { + keyword.value = value + searchClick() + } + + // 点击清除搜索 + const handleClickClear = () => { + keyword.value = "" + page = 1 + list.value = [] + type.value = 'list' + pitchIndex.value = null + + getList() + } + + let historicalSearchState = ref(false) // 历史记录弹窗状态 + let historicalSearchList = ref([]) // 历史记录数据 + + let tabListFixeState = ref(false) // 顶部 类型的 固定状态 + const handleScroll = () => { + const scrollTop = document.documentElement.scrollTop || document.body.scrollTop + + const scrollHeight = document.documentElement.scrollHeight; + const clientHeight = document.documentElement.clientHeight; + + // 列表下 滑动到底部 获取新数据 + if (scrollTop + clientHeight >= scrollHeight) getList() + + // 列表下 滚动到顶部 触发类型的固定状态 + if (scrollTop > 115 && type.value == 'list') tabListFixeState.value = true + else tabListFixeState.value = false + } + + let keyword = ref('') // 搜索的值 + + let list = ref([]) // 列表数据 + let page = 1 + let total = ref(0) // 回答总数 + let loading = false + + // 获取列表数据 + const getList = () => { + if (page == 0 || loading) return + loading = true + + $ajax("/api/lists", + { + page, + limit: 20, + keyword: keyword.value, + // type: 'all', + } + ).then(res => { + if (res.code != 200) return + + let data = res.data + + list.value = list.value.concat(data.data || []) + total.value = data.count || 0 + + if (list.value.length != data['count']) page++ + else page = 0 + + if (keyword.value) isSearchMode.value = true + else isSearchMode.value = false + + + }).finally(() => loading = false) + } + + let typeList = ref([]) + let typePitch = ref('') + + // 获取分类数据 列表分类 + const getListClass = () => { + $ajax("/api/common/typeList").then(res => { + if (res.code != 200) return + let data = res.data + console.log(data, "data"); + data = [{ + id: "all", + name: "All", + }, { + id: "all2", + name: "All", + }, { + id: "all3", + name: "All", + }, { + id: "all4", + name: "All", + }, { + id: "all5", + name: "All", + }, { + id: "all6", + name: "All", + }] + typeList.value = data + typePitch.value = data[0].id + + getPageHeight() + }) + } + + let pageHeaderHeight = ref(0) // 头部的高度 + let pageListHeight = ref(0) // 底部列表的高度 + + const getPageHeight = () => { + let pageHeader = document.querySelector("#pageHeader") + // let pageHeader = document.querySelector("#pageHeader") + pageHeaderHeight.value = pageHeader.clientHeight + 10 + pageListHeight.value = window.innerHeight - pageHeaderHeight.value + } + + let detailsInfo = ref({}) // 详情信息 + let detailsIsanswered = ref(0) // 详情信息 + let detailsIscollection = ref(0) // 详情信息 + let detailsIsmyself = ref(0) // 详情信息 + let detailsToken = '' // 详情信息 + let detailShare = ref({}) // 详情信息 + + // 获取详情 + const getDetails = (uniqid, index) => { + uniqid = "fubm5CnD05qj" // 标记一下 + $ajax("/api/details", { uniqid }).then(res => { + if (res.code != 200) return + let data = res.data + + console.log("data", data); + + detailsInfo.value = data['info'] || {} + detailsIsanswered.value = data['isanswered'] || 0 + detailsIscollection.value = data['iscollection'] || 0 + detailsIsmyself.value = data['ismyself'] || 0 + detailsToken = data['token'] || '' + detailShare.value = data['share'] || {} + + type.value = 'details' + + cut(index) + getAnswerList() + }) + } + + let answerList = ref([]) // 回答列表数据 + + // 获取详情的回答数据 + const getAnswerList = () => { + $ajax("/api/details/answerList", { token: detailsToken }).then(res => { + if (res.code != 200) return + let data = res.data + + data.data.forEach(element => { + element['commentList'] = [] + }) + // commentList + answerList.value = data.data + }) + } + + // 操作 - 点赞 + const operateLike = (token, index) => { + $ajax("/api/operate/like", { token }).then(res => { + if (res.code != 200) return + let data = res.data + answerList.value[index]['islike'] = data['status'] + answerList.value[index]['likenum'] = data['count'] + }) + } + + let isNeedNewColletData = false // 是否需要获取新的收藏数据 ,顶部的我的弹窗需要 + + // 操作 - 收藏 + const operateCollect = (token = detailsToken, index) => { + $ajax("/api/operate/collect", { token }).then(res => { + if (res.code != 200) return + let data = res.data + isNeedNewColletData = true + myCollectionPage = 1 + myCollectionList.value = [] + if (data['type'] == 'askquestioncollection') detailsIscollection.value = data['status'] + else { + answerList.value[index]['iscollection'] = data['status'] + answerList.value[index]['collectionnum'] = data['count'] + } + }) + } + + // 操作 - 回答 + const operateIAnswer = (token = detailsToken, index) => { + $ajax("/api/publish/answerSubmit", { token }).then(res => { + console.log("res", res); + }) + } + + let IAnswerState = ref(false) // 我来回答-弹窗的状态 + let IAnswerEditState = ref(false) // 编辑回答-弹窗的状态 + + let IAnswerInfo = ref({}) // 我来回答-弹窗的信息 + // 开启我来回答 + const openIAnswer = (index, type) => { + if (index == null) { + IAnswerInfo.value = { + title: detailsInfo.value['title'], + content: detailsInfo.value['content'], + anonymous: 0, + } + IAnswerState.value = true + + nextTick(() => { + handleInput() + }) + + } else { + // IAnswerInfo.value = answerList.value[index] + if (type == 'my') { + IAnswerInfo.value = { + title: detailsInfo.value['title'], + ...myAnswerList.value[index], + text: myAnswerList.value[index]['content'], + content: detailsInfo.value['content'], + } + myType.value = "" + } else { + IAnswerInfo.value = { + title: detailsInfo.value['title'], + ...answerList.value[index], + text: answerList.value[index]['content'], + content: detailsInfo.value['content'], + } + } + + IAnswerEditState.value = true + } + + } + + // 关闭我来回答 + const closeIAnswer = () => { + IAnswerState.value = false + IAnswerEditState.value = false + } + + // 修改我来回答的匿名状态 + const amendIAnswer = () => { + IAnswerInfo.value['anonymous'] = IAnswerInfo.value['anonymous'] == 0 ? 1 : 0 + } + + let isNeedNewAnswersData = false // 是否需要获取新的我的回答数据 + + // 提交回答 + const submitAnswer = () => { + const questionTextarea = document.querySelector(".question-textarea") + IAnswerInfo.value['text'] = questionTextarea.innerHTML + + $ajax("/api/publish/answerSubmit", { + token: IAnswerInfo.value['token'] || detailsToken, + anonymous: IAnswerInfo.value['anonymous'] || 0, + content: IAnswerInfo.value['text'], + }).then(res => { + console.log(res); + if (res.code == 200) { + getAnswerList() + closeIAnswer() + + isNeedNewAnswersData = true + } else { + + } + + }) + } + + // 打开回答的评论 + const openCommentState = index => { + + if (answerList.value[index]['commentState']) answerList.value[index]['commentState'] = false + else answerList.value[index]['commentState'] = true + + + if (answerList.value[index]['commentList'].length == 0 && answerList.value[index]['commentnum'] != 0) getAnswerCommentList(index) + + // answerList.value[index]['commentState'] = true + } + + let answerCommentLimit = 3 + // 获取回答评论的数据 + const getAnswerCommentList = (index) => { + getAnswerCommentPublic(index).then(res => { + let data = res.data + answerList.value[index]['commentList'] = answerList.value[index]['commentList'].concat(data.data) + answerList.value[index]['commentCount'] = data['count'] + }) + } + + + + // 获取全部评论 + const handleAllComment = index => { + answerCommentLimit = 1000 + getAnswerCommentPublic(index).then(res => { + if (res.code != 200) return + let data = res.data + answerList.value[index]['commentList'] = answerList.value[index]['commentList'].concat(data.data.slice(3)) + }) + } + + // 获取评论数据的公共接口 + const getAnswerCommentPublic = (index) => { + return new Promise((resolve, reject) => { + $ajax("/api/comment/lists", { + token: answerList.value[index]['token'], + limit: answerCommentLimit, + }).then(res => { + if (res.code != 200) return + resolve(res) + }) + }) + } + + // 提交回答-评论 + const submitAnswerComments = (index, ind, i) => { + // answerList.value[index]['commentState'] = true + const targetAnswerList = [...answerList.value] + + let content = "" + let parentid = null + let token = targetAnswerList[index]['token'] + + if (i != null) { + content = targetAnswerList[index]['commentList'][ind]['child'][i]['commentInput'] + parentid = targetAnswerList[index]['commentList'][ind]['child'][i]['id'] + } else if (ind != null) { + content = targetAnswerList[index]['commentList'][ind]['commentInput'] + parentid = targetAnswerList[index]['commentList'][ind]['id'] + } else content = targetAnswerList[index]['commentInput'] + + + $ajax("/api/comment/submit", { + content, + token, + parentid, + }).then(res => { + console.log("res", res); + if (res.code != 200) return + let data = res.data + + if (i != null) { + let targetData = { + content, + isauthor: 1, + islike: 0, + likenum: 0, + reply: { + nickname: targetAnswerList[index]['commentList'][ind]['child'][i]['nickname'] + }, + ...data, + } + + targetAnswerList[index]['commentList'][ind]['child'].unshift(targetData) + + } else if (ind != null) { + let targetData = { + content, + isauthor: 1, + islike: 0, + likenum: 0, + reply: [], + ...data, + } + targetAnswerList[index]['commentList'][ind]['child'].unshift(targetData) + + } else { + let targetData = { + content, + isauthor: 1, + islike: 0, + likenum: 0, + ...data, + child: [] + } + targetAnswerList[index]['commentList'].unshift(targetData) + + } + + closeAnswerCommentsChild() + + console.log("targetAnswerList", targetAnswerList); + }) + } + + // 回答-评论 点赞 operateIAnswer + const operateAnswerCommentsLike = (token, index, ind, i) => { + $ajax("/api/comment/like", { + token, + }).then(res => { + console.log("res", res); + if (res.code != 200) return + + let data = res.data + console.log("data", data); + const targetAnswerList = [...answerList.value] + + if (i == null) { + + targetAnswerList[index]['commentList'][ind]['islike'] = data['status'] + targetAnswerList[index]['commentList'][ind]['likenum'] = data['likenum'] + + } else { + targetAnswerList[index]['commentList'][ind]['child'][i]['islike'] = data['status'] + targetAnswerList[index]['commentList'][ind]['child'][i]['likenum'] = data['likenum'] + } + answerList.value = targetAnswerList + }) + } + + // 打开 回答-评论 的子评论 + const openAnswerCommentsChild = (index, ind, i) => { + console.log(""); + closeAnswerCommentsChild() + + if (i == null) { + answerList.value[index].commentList[ind]['childState'] = true + } else { + answerList.value[index].commentList[ind]['child'][i]['childState'] = true + } + + } + + // 关闭 回答-评论 的子评论 + const closeAnswerCommentsChild = (index, ind, i) => { + const targetAnswerList = [...answerList.value] + + targetAnswerList.forEach(element => { + + if (element['commentList'] && element['commentList'].length != 0) { + element['commentList'].forEach(ele => { + ele['childState'] = false + if (ele['child'] && ele['child'].length != 0) { + ele['child'].forEach(el => { + el['childState'] = false + }) + } + }) + } + }) + + answerList.value = targetAnswerList + } + + // 获取剩下的子评论 + const alsoCommentsData = (index, ind) => { + const targetAnswerList = [...answerList.value] + const parentid = targetAnswerList[index]['commentList'][ind]['id'] + const token = targetAnswerList[index]['commentList'][ind]['token'] + + $ajax("/api/comment/childrenList", { + token, + parentid, + limit: 20, + page: 1, + }).then(res => { + console.log("res", res); + if (res.code != 200) return + let data = res.data + + targetAnswerList[index]['commentList'][ind]['child'] = targetAnswerList[index]['commentList'][ind]['child'].concat(data.data) + + answerList.value = targetAnswerList + }) + } + + let myType = ref('') // collect answers questions + // 专门处理 我的 弹窗数据 + const handleMy = (key) => { + // if ((key == 'collect' && isNeedNewColletData) || (key == 'collect' && myCollectionList.value.length == 0)) { + if (key == 'collect') { + myCollectionList.value = [] + myCollectionPage = 1 + getMyCollection() + return + } else if (key == 'answers') { + myAnswerList.value = [] + myAnswerPage = 1 + getMyAnswer() + return + } else if (key == 'questions') { + getMyQuestions() + return + } + myType.value = key + } + + let myCollectionList = ref([]) // 我的收藏列表 + let myCollectionCount = ref(0) // 我的收藏数量 + let myCollectionPage = 1 // 我的收藏页数 + // 获取我的收藏 + const getMyCollection = () => { + if (myCollectionPage == 0) return + $ajax("/api/user/collect", { + limit: 20, + page: myCollectionPage, + }).then(res => { + if (res.code != 200) return + let data = res.data + myType.value = 'collect' + isNeedNewColletData = false + + myCollectionList.value = myCollectionList.value.concat(data.data) + myCollectionCount.value = data.count + if (myCollectionList.value.length != data['count']) myCollectionPage++ + else myCollectionPage = 0 + + }) + } + + // 取消收藏 + const cancelCollection = (token, index) => { + $ajax("/api/user/deleteCollect", { token }).then(res => { + if (res.code == 200) { + myCollectionList.value.splice(index, 1) + myCollectionCount.value-- + } + }) + } + + // 监听 我的收藏滚动到底部 + const handleCollectionScroll = (e) => { + const el = e.target; + // 判断滚动到底部 + if (el.scrollHeight - el.scrollTop !== el.clientHeight) return + getMyCollection() + } + + let myAnswerList = ref([]) // 我的回答数据 + let myAnswerCount = ref(0) // 我的回答数量 + let myAnswerPage = 1 + + // 获取我的回答 + const getMyAnswer = () => { + if (myAnswerPage == 0) return + + $ajax("/api/user/answer", { + limit: 20, + page: myAnswerPage, + }).then(res => { + + if (res.code != 200) return + let data = res.data + data.data.forEach(element => { + element['popupState'] = false + }) + myAnswerList.value = myAnswerList.value.concat(data.data) + myAnswerCount.value = data.count + + if (myAnswerList.value.length != data['count']) myAnswerPage++ + else myAnswerPage = 0 + + console.log("myAnswerList", myAnswerList.value); + myType.value = 'answers' + isNeedNewAnswersData = false + + }) + } + + const handleAnswersScroll = e => { + const el = e.target; + // 判断滚动到底部 + if (el.scrollHeight - el.scrollTop !== el.clientHeight) return + getMyAnswer() + } + + let answerIndexOld = null + // 切换 我的提问的公开匿名 弹窗状态 + const cutAnswerPopupState = index => { + myAnswerList.value[index]['popupState'] = true + + if (answerIndexOld == index) { + myAnswerList.value[index]['popupState'] = false + answerIndexOld = null + } else { + myAnswerList.value[index]['popupState'] = true + if (answerIndexOld != null) myAnswerList.value[answerIndexOld]['popupState'] = false + answerIndexOld = index + } + } + + // 更改匿名状态 + const changeAnonymous = (token, anonymous, index) => { + $ajax("/api/publish/changeAnonymous", { token, anonymous }).then(res => { + if (res.code != 200) return + let data = res.data + myAnswerList.value[index]['anonymous'] = anonymous + cutAnswerPopupState(index) + }) + } + + let myQuestionsList = ref([]) // 我的提问数据 + let myQuestionsCount = ref(0) // 我的提问数量 + // 获取我的提问 + const getMyQuestions = () => { + $ajax("/api/user/questions").then(res => { + if (res.code != 200) return + let data = res.data + myQuestionsList.value = myQuestionsList.value.concat(data.data) + myQuestionsCount.value = data.count + myType.value = 'questions' + }) + } + + let questionsSetp = ref(0) // 提问的步骤 + + // 切换提问步骤 + const cutQuestionsSetp = (value) => { + questionsSetp.value = value + } + + let questionsTypeList = ref([]) // 提问的类型主题 + let questionsObj = ref({ // 提问的内容 + token: "", + title: "", + content: "", + tags: "", + tid: "", + anonymous: 0, + }) + + // 报 提问的初始化 + const questionsInit = () => { + $ajax("/api/publish/questions").then(res => { + if (res.code != 200) return + let data = res.data + questionsObj.value['token'] = data['token'] + + questionsTypeList.value = data['typeList'] || [] + cutQuestionsSetp(1) + }) + } + + // 选择提问主题 + const choosingTheme = (id) => { + questionsObj.value.tid = id + cutQuestionsSetp(2) + } + + // 切换匿名状态 + const cutAnonymous = () => { + questionsObj.value.anonymous = questionsObj.value.anonymous == 0 ? 1 : 0 + } + + // 发布问题 + const postingIssue = () => { + console.log("发布问题", questionsObj.value); + + $ajax("/api/publish/questionsSubmit", questionsObj.value).then(res => { + console.log("res", res); + }) + } + + + let pitchIndex = ref(null) // 选中的下标 + const cut = index => { + // if (pitchIndex.value == null) type.value = type.value == 'list' ? 'details' : 'list' + + pitchIndex.value = index + + setTimeout(() => { + scrollLeftInMiddle() + }, 350) + } + + // 滚动左边在中间 + const scrollLeftInMiddle = () => { + // console.log(pitchIndex.value, "pitchIndex"); + let list = document.querySelector(".list-box") + // console.log("list", list); + console.log(107 * pitchIndex.value, pageListHeight.value / 2); + list.scrollTo({ + top: 128 * pitchIndex.value + 64 - 385, + behavior: 'smooth' + }) + } + + const listStyle = () => { + const newtype = type.value + let width = "" + let margin = "" + if (newtype == 'list') { + width = '1200px' + margin = '0 auto' + } else { + width = 'calc((100vw - 1200px) / 2 + 512px)' + margin = 'initial' + } + return { + width, + margin + } + } + + const itemStyle = (index, content) => { + const newtype = type.value + // pitchIndex + // let itemHeight = content == "" ? 106 : 128 + let obj = {} + if (newtype == 'list') { + let top = Math.floor(index / 2) * 128 + 'px' + obj['top'] = top + if (index % 2 == 0) obj['left'] = 0 + else obj['left'] = 649 + 'px' + } else { + obj['top'] = index * 128 + 'px' + obj['left'] = 0 + obj['width'] = '100%' + // obj['backgroundColor'] = '#fbfbfb' + obj['paddingLeft'] = 'calc((100vw - 1200px) / 2)' + } + + return obj + + }; + + // list-box + const listBoxStyle = () => { + const newtype = type.value + let obj = {} + if (newtype == 'list') { + obj['overflow'] = 'visible' + } else { + // obj['height'] = 'calc(100vh - ' + pageHeaderHeight.value + 'px)' + obj['height'] = pageListHeight.value + 'px' + } + return obj + } + + const $ajax = (url, data) => { + url = url.indexOf('//') > -1 ? url : baseURL + url; + return new Promise(function (resolve, reject) { + axios.post(url, data, { + emulateJSON: true, + withCredentials: true, + headers: { + // authorization: "9l3vfdx6h5xhu2hbw4fv5ygbog1dhtly" + authorization: "194cdc367ed40c938f2eaaf1c6dfa5ff" + } + }).then(function (res) { + var data = null + try { + data = typeof res.data == 'string' ? JSON.parse(res.data) : res.data; + } catch (error) { } + resolve(data) + }); + }); + } + + // 处理时间 + const handleDate = (dateTimeStamp) => { + dateTimeStamp = dateTimeStamp ? dateTimeStamp : null; + var timestamp = new Date(dateTimeStamp) + timestamp = timestamp.getTime() + var minute = 1000 * 60; + var hour = minute * 60; + var day = hour * 24; + var now = new Date().getTime(); + var diffValue = now - timestamp; + var result; + if (diffValue < 0) return; + + var dayC = diffValue / day; + var hourC = diffValue / (hour + 1); + var minC = diffValue / minute; + if (dayC >= 7) { + let date = new Date(timestamp); + let Y = date.getFullYear() + '-'; + let M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'; + let D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + ' '; + let h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':'; + let m = (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()); + result = "" + Y + M + D + h + m; + } else if (dayC >= 1) result = "" + Math.round(dayC) + "天前"; + else if (hourC >= 1) result = "" + Math.round(hourC) + "小时前"; + else if (minC >= 1) result = "" + Math.round(minC) + "分钟前"; + else result = "刚刚"; + + return result; + } + + // 问题的转发 弹窗状态 + let questionsTransmitState = ref(false) + + // 关闭转发状态 + const closeTransmitState = () => { + answerList.value.forEach(element => { + element['transmitState'] = false + }) + questionsTransmitState.value = !questionsTransmitState.value + } + + // 开启和关闭回答的转发状态 type open close + const handleAnswerTransmitList = (Iindex, type) => { + // handleAnswerTransmitList + questionsTransmitState.value = false + + answerList.value.forEach((element, index) => { + if (index != Iindex) element['transmitState'] = false + }) + answerList.value[Iindex]['transmitState'] = !answerList.value[Iindex]['transmitState'] + } + + // 关闭详情模式 + const closeDetailMode = () => { + type.value = 'list' + pitchIndex.value = null + } + + const handleListScroll = (e) => { + const el = e.target; + // 判断滚动到底部 + if (el.scrollHeight - el.scrollTop !== el.clientHeight) return + + getList() + } + + // 处理 回答弹窗的复制图片 + const handlePaste = (event) => { + const items = (event.clipboardData || event.originalEvent.clipboardData).items; + for (const item of items) { + if (item.type.indexOf('image') === 0) { + const file = item.getAsFile(); + const reader = new FileReader(); + reader.onload = (e) => { + const img = new Image(); + img.src = e.target.result; + + const questionTextarea = document.querySelector(".question-textarea") + questionTextarea.appendChild(img); + handleInput() + // IAnswerInfo.value['text'] = questionTextarea.innerHTML + + }; + reader.readAsDataURL(file); + } + } + } + + let questionPlaceholderState = ref(false) + + const handleInput = (event) => { + // IAnswerInfo.value['text'] = event.target.innerHTML; + const questionTextarea = document.querySelector(".question-textarea") + const html = questionTextarea.innerHTML + if (html) questionPlaceholderState.value = false + else questionPlaceholderState.value = true + console.log("questionPlaceholderState", questionPlaceholderState); + } + + + return { + questionPlaceholderState, + handleInput, + handlePaste, + itemStyle, + listStyle, + listBoxStyle, + myType, + type, + pitchIndex, + cut, + list, + keyword, + getList, + total, + typeList, + typePitch, + getDetails, + detailsInfo, + detailsIsanswered, + detailsIscollection, + detailsIsmyself, + detailShare, + answerList, + operateLike, + operateCollect, + IAnswerState, + IAnswerEditState, + IAnswerInfo, + amendIAnswer, + openIAnswer, + closeIAnswer, + operateIAnswer, + submitAnswer, + openCommentState, + submitAnswerComments, + operateAnswerCommentsLike, + openAnswerCommentsChild, + closeAnswerCommentsChild, + alsoCommentsData, + handleAllComment, + myCollectionList, + myCollectionCount, + myQuestionsList, + myQuestionsCount, + myAnswerList, + myAnswerCount, + cutAnswerPopupState, + handleDate, + handleCollectionScroll, + handleAnswersScroll, + cancelCollection, + getMyCollection, + questionsSetp, + questionsObj, + cutAnonymous, + cutQuestionsSetp, + questionsTypeList, + postingIssue, + choosingTheme, + handleMy, + changeAnonymous, + pageHeaderHeight, + pageListHeight, + questionsTransmitState, + closeTransmitState, + handleAnswerTransmitList, + closeDetailMode, + tabListFixeState, + handleListScroll, + historicalSearchState, + historicalSearchList, + searchFocus, + searchBlur, + searchClick, + handleClickHistoricalItem, + handleClickClear, + isSearchMode, + questionsInit, + }; + + } +}) + +forumApp.mount("#answer-app"); //初始化 \ No newline at end of file diff --git a/js/masonry.pkgd.min.js b/js/masonry.pkgd.min.js new file mode 100644 index 0000000..53386ae --- /dev/null +++ b/js/masonry.pkgd.min.js @@ -0,0 +1,9 @@ +/*! + * Masonry PACKAGED v4.2.2 + * Cascading grid layout library + * https://masonry.desandro.com + * MIT License + * by David DeSandro + */ + +!function(t,e){"function"==typeof define&&define.amd?define("jquery-bridget/jquery-bridget",["jquery"],function(i){return e(t,i)}):"object"==typeof module&&module.exports?module.exports=e(t,require("jquery")):t.jQueryBridget=e(t,t.jQuery)}(window,function(t,e){"use strict";function i(i,r,a){function h(t,e,n){var o,r="$()."+i+'("'+e+'")';return t.each(function(t,h){var u=a.data(h,i);if(!u)return void s(i+" not initialized. Cannot call methods, i.e. "+r);var d=u[e];if(!d||"_"==e.charAt(0))return void s(r+" is not a valid method");var l=d.apply(u,n);o=void 0===o?l:o}),void 0!==o?o:t}function u(t,e){t.each(function(t,n){var o=a.data(n,i);o?(o.option(e),o._init()):(o=new r(n,e),a.data(n,i,o))})}a=a||e||t.jQuery,a&&(r.prototype.option||(r.prototype.option=function(t){a.isPlainObject(t)&&(this.options=a.extend(!0,this.options,t))}),a.fn[i]=function(t){if("string"==typeof t){var e=o.call(arguments,1);return h(this,t,e)}return u(this,t),this},n(a))}function n(t){!t||t&&t.bridget||(t.bridget=i)}var o=Array.prototype.slice,r=t.console,s="undefined"==typeof r?function(){}:function(t){r.error(t)};return n(e||t.jQuery),i}),function(t,e){"function"==typeof define&&define.amd?define("ev-emitter/ev-emitter",e):"object"==typeof module&&module.exports?module.exports=e():t.EvEmitter=e()}("undefined"!=typeof window?window:this,function(){function t(){}var e=t.prototype;return e.on=function(t,e){if(t&&e){var i=this._events=this._events||{},n=i[t]=i[t]||[];return-1==n.indexOf(e)&&n.push(e),this}},e.once=function(t,e){if(t&&e){this.on(t,e);var i=this._onceEvents=this._onceEvents||{},n=i[t]=i[t]||{};return n[e]=!0,this}},e.off=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){var n=i.indexOf(e);return-1!=n&&i.splice(n,1),this}},e.emitEvent=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){i=i.slice(0),e=e||[];for(var n=this._onceEvents&&this._onceEvents[t],o=0;oe;e++){var i=h[e];t[i]=0}return t}function n(t){var e=getComputedStyle(t);return e||a("Style returned "+e+". Are you running this code in a hidden iframe on Firefox? See https://bit.ly/getsizebug1"),e}function o(){if(!d){d=!0;var e=document.createElement("div");e.style.width="200px",e.style.padding="1px 2px 3px 4px",e.style.borderStyle="solid",e.style.borderWidth="1px 2px 3px 4px",e.style.boxSizing="border-box";var i=document.body||document.documentElement;i.appendChild(e);var o=n(e);s=200==Math.round(t(o.width)),r.isBoxSizeOuter=s,i.removeChild(e)}}function r(e){if(o(),"string"==typeof e&&(e=document.querySelector(e)),e&&"object"==typeof e&&e.nodeType){var r=n(e);if("none"==r.display)return i();var a={};a.width=e.offsetWidth,a.height=e.offsetHeight;for(var d=a.isBorderBox="border-box"==r.boxSizing,l=0;u>l;l++){var c=h[l],f=r[c],m=parseFloat(f);a[c]=isNaN(m)?0:m}var p=a.paddingLeft+a.paddingRight,g=a.paddingTop+a.paddingBottom,y=a.marginLeft+a.marginRight,v=a.marginTop+a.marginBottom,_=a.borderLeftWidth+a.borderRightWidth,z=a.borderTopWidth+a.borderBottomWidth,E=d&&s,b=t(r.width);b!==!1&&(a.width=b+(E?0:p+_));var x=t(r.height);return x!==!1&&(a.height=x+(E?0:g+z)),a.innerWidth=a.width-(p+_),a.innerHeight=a.height-(g+z),a.outerWidth=a.width+y,a.outerHeight=a.height+v,a}}var s,a="undefined"==typeof console?e:function(t){console.error(t)},h=["paddingLeft","paddingRight","paddingTop","paddingBottom","marginLeft","marginRight","marginTop","marginBottom","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth"],u=h.length,d=!1;return r}),function(t,e){"use strict";"function"==typeof define&&define.amd?define("desandro-matches-selector/matches-selector",e):"object"==typeof module&&module.exports?module.exports=e():t.matchesSelector=e()}(window,function(){"use strict";var t=function(){var t=window.Element.prototype;if(t.matches)return"matches";if(t.matchesSelector)return"matchesSelector";for(var e=["webkit","moz","ms","o"],i=0;is?"round":"floor";r=Math[a](r),this.cols=Math.max(r,1)},n.getContainerWidth=function(){var t=this._getOption("fitWidth"),i=t?this.element.parentNode:this.element,n=e(i);this.containerWidth=n&&n.innerWidth},n._getItemLayoutPosition=function(t){t.getSize();var e=t.size.outerWidth%this.columnWidth,i=e&&1>e?"round":"ceil",n=Math[i](t.size.outerWidth/this.columnWidth);n=Math.min(n,this.cols);for(var o=this.options.horizontalOrder?"_getHorizontalColPosition":"_getTopColPosition",r=this[o](n,t),s={x:this.columnWidth*r.col,y:r.y},a=r.y+t.size.outerHeight,h=n+r.col,u=r.col;h>u;u++)this.colYs[u]=a;return s},n._getTopColPosition=function(t){var e=this._getTopColGroup(t),i=Math.min.apply(Math,e);return{col:e.indexOf(i),y:i}},n._getTopColGroup=function(t){if(2>t)return this.colYs;for(var e=[],i=this.cols+1-t,n=0;i>n;n++)e[n]=this._getColGroupY(n,t);return e},n._getColGroupY=function(t,e){if(2>e)return this.colYs[t];var i=this.colYs.slice(t,t+e);return Math.max.apply(Math,i)},n._getHorizontalColPosition=function(t,e){var i=this.horizontalColIndex%this.cols,n=t>1&&i+t>this.cols;i=n?0:i;var o=e.size.outerWidth&&e.size.outerHeight;return this.horizontalColIndex=o?i+t:this.horizontalColIndex,{col:i,y:this._getColGroupY(i,t)}},n._manageStamp=function(t){var i=e(t),n=this._getElementOffset(t),o=this._getOption("originLeft"),r=o?n.left:n.right,s=r+i.outerWidth,a=Math.floor(r/this.columnWidth);a=Math.max(0,a);var h=Math.floor(s/this.columnWidth);h-=s%this.columnWidth?0:1,h=Math.min(this.cols-1,h);for(var u=this._getOption("originTop"),d=(u?n.top:n.bottom)+i.outerHeight,l=a;h>=l;l++)this.colYs[l]=Math.max(d,this.colYs[l])},n._getContainerSize=function(){this.maxY=Math.max.apply(Math,this.colYs);var t={height:this.maxY};return this._getOption("fitWidth")&&(t.width=this._getContainerFitWidth()),t},n._getContainerFitWidth=function(){for(var t=0,e=this.cols;--e&&0===this.colYs[e];)t++;return(this.cols-t)*this.columnWidth-this.gutter},n.needsResizeLayout=function(){var t=this.containerWidth;return this.getContainerWidth(),t!=this.containerWidth},i}); \ No newline at end of file