Article.vue 20.3 KB
Newer Older
yma16's avatar
yma16 已提交
1 2
/* eslint-disable vue/no-duplicate-attributes */
<template>
Y
yma16 已提交
3
  <div class="article" style="text-align: left; with: 100%; height: 100%">
yma16's avatar
yma16 已提交
4 5
    <!-- 左侧 -->
    <div class="leftclass">
Y
yma16 已提交
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
      <el-card
        shadow="always"
        cellpadding="1px"
        style="position: static; line-height: 20px"
      >
        <div class="article_box">
          <h1>{{ slogan }}</h1>
          <ul v-for="(item, index) in md_title" :key="item" class="ul_style">
            <div
              v-bind:class="[
                { li_active: index == article_loc },
                li_errorClass,
              ]"
            >
              <li @click="getArticles(index)">{{ item }}</li>
yma16's avatar
yma16 已提交
21
            </div>
Y
yma16 已提交
22 23 24
          </ul>
        </div>
        <!-- 分页 -->
yma16's avatar
yma16 已提交
25
        <div class="pagenation-block">
Y
yma16 已提交
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102
          <!-- <span class="demonstration">完整功能</span> -->
          <el-pagination
            :current-page="currentPage"
            :page-sizes="pageArray"
            :page-size="pageSize"
            @size-change="handleSizeChange"
            @current-change="handleCurrentChange"
            layout="total, sizes, prev, pager, next, jumper"
            :total="total"
          >
          </el-pagination>
        </div>
      </el-card>

      <!-- 评论 -->
      <el-card
        cellpadding="1px"
        shadow="always"
        style="position: static; margin-top: 2%"
      >
        <h1>{{ commmentSlogan }}</h1>
        <ArticleComment
          v-bind:articleId="postcomment.articleId"
          ref="commentRef"
        >
        </ArticleComment>
      </el-card>

      <!-- 挑战榜 -->
      <el-card
        class="challenge_title1"
        cellpadding="1px"
        shadow="always"
        style="position: static; margin-top: 2%"
      >
        <h1>{{ day_challenge }}</h1>
        <ul
          v-for="(item, index) in challenge_data"
          :key="item"
          class="ul_style"
        >
          <div
            v-bind:class="[
              { li_active: index == challenge_loc },
              li_errorClass,
            ]"
          >
            <li @click="cssPage(index)">{{ item }}</li>
          </div>
        </ul>
      </el-card>

      <!-- 爬虫天气接口 -->
      <el-card
        class="weather_class1"
        cellpadding="1px"
        shadow="always"
        style="position: static; margin-top: 2%"
      >
        <div style="positon: relative; width: 100%; height: 100%">
          <EchartWeather> </EchartWeather>
        </div>
      </el-card>

      <!-- csdn头像 -->
      <el-card
        class="user_img1"
        style="
          position: static;
          margin: 2% auto auto auto;
          line-height: 10px;
          text-align: center;
        "
        ><a href="https://blog.csdn.net/qq_38870145">
          <img class="image" src="@/assets/img/csdn.jpg"
        /></a>
      </el-card>
yma16's avatar
yma16 已提交
103 104
    </div>
    <!-- 中间 markdown-->
yma16's avatar
yma16 已提交
105
    <div class="midclass" ref="mark-down-ref">
Y
yma16 已提交
106 107 108 109 110 111 112 113 114 115 116
      <a name="home" id="hometitle" style="transition: 1s"></a>
      <el-card shadow="hover" style="line-height: 10px">
        <div class="block" style="line-height: 20px">
          <h1>{{ the_title }}</h1>
          <div class="markdown-body" style="text-align: left">
            <VueMarkdown
              :source="md_data[index_page]"
              v-highlight
              style="width: 100%; text-align: left"
            ></VueMarkdown>
          </div>
yma16's avatar
yma16 已提交
117
        </div>
Y
yma16 已提交
118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148
      </el-card>

      <div class="commitCard">
        <!--  -->
      </div>
      <!-- 挑战榜 -->
      <el-card
        class="challenge_title2"
        cellpadding="1px"
        shadow="always"
        style="position: static; margin-top: 2%"
      >
        <h1>{{ day_challenge }}</h1>
        <ul
          v-for="(item, index) in challenge_data"
          :key="item"
          class="ul_style"
        >
          <div
            v-bind:class="[
              { li_active: index == challenge_loc },
              li_errorClass,
            ]"
          >
            <li @click="cssPage(index)">{{ item }}</li>
          </div>
        </ul>
      </el-card>

      <!-- 爬虫天气接口 -->
      <!-- <el-card class="weather_class2"
yma16's avatar
yma16 已提交
149 150
          cellpadding="1px"
          shadow="always"
yma16's avatar
yma16 已提交
151
          style="position: myblog_static; margin-top: 2%"
yma16's avatar
yma16 已提交
152 153 154
        >

        </el-card> -->
Y
yma16 已提交
155 156 157 158 159 160 161 162 163 164 165 166 167
      <!-- csdn头像 -->
      <el-card
        class="user_img2"
        style="
          position: static;
          margin: 2% auto auto auto;
          line-height: 10px;
          text-align: center;
        "
        ><a href="https://blog.csdn.net/qq_38870145">
          <img class="image" src="@/assets/img/csdn.jpg"
        /></a>
      </el-card>
yma16's avatar
yma16 已提交
168 169 170
    </div>
    <!-- 上滑滚动图标 -->
    <div class="rightclass">
Y
yma16 已提交
171 172 173 174
      <div class="righticon">
        <el-card
          shadow="never"
          style="
yma16's avatar
yma16 已提交
175 176 177
            align-content: center;
            background-color: rgba(0, 0, 0, 0);
            border: rgba(0, 0, 0, 0);
Y
yma16 已提交
178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199
          "
        >
          <div id="topiconid">
            <el-button
              @click="toTop"
              type="info"
              icon="el-icon-top"
              style="
                transition: 1s;
                background: rgb(255, 94, 0);
                border: none;
                color: #fff;
              "
              circle
            ></el-button>
          </div>
          <br /><br />
          <div>
            <el-button
              type="info"
              icon="el-icon-message"
              circle
yma16's avatar
yma16 已提交
200
              @click="openDraw"
Y
yma16 已提交
201 202 203 204 205 206 207
              style="background: rgb(255, 94, 0); border: none"
            >
            </el-button>
          </div>
          <br /><br />
        </el-card>
      </div>
yma16's avatar
yma16 已提交
208
    </div>
yma16's avatar
yma16 已提交
209
    <template>
yma16's avatar
yma16 已提交
210
        <Email :drawObj="drawObj"></Email>
yma16's avatar
yma16 已提交
211
    </template>
Y
yma16 已提交
212
  </div>
yma16's avatar
yma16 已提交
213 214 215
</template>

<script>
yma16's avatar
yma16 已提交
216
import Email from '@/components/email/Email'
217 218 219
import VueMarkdown from 'vue-markdown'
import ArticleComment from '@/comment/ArticleComment'
import EchartWeather from '@/weather/EchartWeather'
yma16's avatar
yma16 已提交
220
export default {
221 222 223 224 225
    components: {
        VueMarkdown, // 显示markdown的组件
        ArticleComment, // 子组件评论
        EchartWeather, // 天气
        Email
yma16's avatar
yma16 已提交
226
    },
227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278
    name: 'Article',
    data () {
        return {
            msgDrawTitle: '~邮件沟通~',
            direction: 'rtl',
            drawObj: {
                show: false
            },
            // baseurl: '/api/',
            baseurl: '/api/',
            // baseurl: "http://yongma16.xyz/",
            msg: '内容',
            commmentSlogan: '评论区',
            day_challenge: '训练营',
            challenge_data: [
                'css挑战',
                'websocket聊天',
                'echarts地图配置',
                'vue3测试平台',
                '更新中'
            ],
            md_data: [],
            md_title: [],
            the_title: '',
            sear_page: 0,
            index_page: 0,
            data: ['threejs加载模型'],
            slogan: '记忆碎片',
            tabPosition: 'left',
            weather_title: [],
            weather_high: [],
            weather_low: [],
            toTopIsShow: false,
            article_loc: 0,
            challenge_loc: -1,
            topshow: false,
            userImg: '',
            username: '匿名',
            articleCommit: '评论区',
            // 分页实现 page1 page2 指向数组
            pageAnalys: {},
            currentPage: 1,
            splitLength: 6, // 划分条数
            total: 0,
            pageSize: 4,
            pageArray: [6, 8, 10],
            postcomment: {
                articleId: undefined,
                articleCommit: null
            },
            articleId: [] // 文章的id
        }
Y
yma16 已提交
279
    },
280 281 282 283 284 285 286
    watch: {
        topshow: function (newvalue, oldvalue) {
            if (newvalue === true) {
                document.getElementById('topiconid').style.display = 'none'
            } else {
                document.getElementById('topiconid').style.display = 'block'
            }
yma16's avatar
yma16 已提交
287 288
        }
    },
289 290
    beforeDestroy () {
        window.removeEventListener('onload', this.topvisible())
yma16's avatar
yma16 已提交
291
    },
292 293 294
    mounted () {
        this.initPageSpliteFun()
        window.addEventListener('onload', this.topvisible())
yma16's avatar
yma16 已提交
295
    },
296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370
    methods: {
        initPageSpliteFun () {
            this.splitLength = this.pageArray[0]
        },
        handleSizeChange (val) {
            // 转到第一页md_title
            let that = this
            that.pageAnalysFun(that.pageAnalys.allTitle, val) // 触发修改
        },
        handleCurrentChange (val) {
            let that = this
            // 触发md_title的修改
            that.currentPage = val
            that.pageAnalysFun(that.pageAnalys.allTitle) // 触发修改
        },
        pageAnalysFun (allTitleArray, selectListLength) {
            let that = this
            that.total = allTitleArray.length // 总数
            let splitLength = that.splitLength
            if (!selectListLength) {
                that.splitLength = that.splitLength
            } else {
                this.currentPage = 1
                that.splitLength = selectListLength // 划分长度
            }
            splitLength = that.splitLength
            let splitNum = Math.ceil(that.total / splitLength) // 向上取整
            that.pageAnalys.childNum = splitNum // 子数组个数
            that.pageAnalys.allTitle = allTitleArray // 所有标题
            that.pageAnalys.titleArray = new Array() // 子数组个数
            let locSplit = 0
            let locLength = splitLength // 每一页的条数
            while (splitNum--) {
                // 循环获取子数组
                if (splitNum >= 1) {
                    let childArray = []
                    for (
                        let temp = locSplit;
                        temp < locLength && temp < that.total;
                        ++temp, ++locSplit
                    ) {
                        childArray.push(that.pageAnalys.allTitle[temp])
                    }
                    that.pageAnalys.titleArray.push(childArray)
                    locLength += splitLength // 分割数组长度后移
                } else {
                    // 最后一个数组
                    let childArray = []
                    for (let temp = locSplit; temp < that.total; ++temp) {
                        childArray.push(that.pageAnalys.allTitle[temp])
                    }
                    that.pageAnalys.titleArray.push(childArray)
                    break
                }
            }
            try {
                that.md_title = that.pageAnalys.titleArray[this.currentPage - 1]
            } catch (e) {
                throw Error(e)
            }
        },
        increment: function () {
            this.$store.commit('increment')
        },
        topvisible: function () {
            let dom = document.getElementById('hometitle')
            this.topshow = this.elementIsVisibleInViewport(dom)
            setTimeout(this.topvisible)
        },
        elementIsVisibleInViewport: function (el, partiallyVisible = false) {
            try {
                if (el && el.getBoundingClientRect instanceof Function) {
                    const { top, left, bottom, right } = el.getBoundingClientRect()
                    return partiallyVisible
                        ? ((top > 0 && top < innerHeight) ||
yma16's avatar
yma16 已提交
371 372 373
                (bottom > 0 && bottom < innerHeight)) &&
                ((left > 0 && left < innerWidth) ||
                  (right > 0 && right < innerWidth))
374
                        : top >= 0 &&
yma16's avatar
yma16 已提交
375 376
                left >= 0 &&
                bottom <= innerHeight &&
377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431
                right <= innerWidth
                }
            } catch (r) {
                throw Error(r)
            }
        },
        li_errorClass: function () {},
        cssPage: function (index) {
            this.challenge_loc = index
            let name = this.challenge_data[index]
            switch (name) {
            case 'css挑战':
                this.$router
                    .push({
                        path: '/css'
                    })
                    .catch((error) => {
                        throw Error(error)
                    })
                break
            case 'echarts地图配置':
                this.$router
                    .push({
                        path: '/home'
                    })
                    .catch((error) => {
                        throw Error(error)
                    })
                break
            case 'websocket聊天':
                this.$router
                    .push({
                        path: '/onlinewebsocket'
                    })
                    .catch((error) => {
                        throw Error(error)
                    })
                break
            case 'vue3测试平台':
                window.open('http://yongma16.xyz/emoji_api/')
                break
            default:
                break
            }
        },
        open_message: function () {
            // this.$notify({
            //     title: '欢迎合作',
            //     message: '邮箱:1432448610@qq.com',
            //     position: 'bottom-right'
            // })
        },
        openDraw () {
            this.drawObj.show = true
        },
yma16's avatar
yma16 已提交
432

433
        toTop: function () {
yma16's avatar
yma16 已提交
434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454
            const dom = this.$refs['mark-down-ref']
            if (!dom) {
                return 0
            }
            const speedValue = Math.floor(dom.scrollTop / 20)
            const second = 20
            const diffTop = function (speed, time) {
                let top = Math.ceil(dom.scrollTop)
                if (top > 0) {
                    dom.scrollTop = top - speed > 0 ? top - speed : 0
                }
                if (dom.scrollTop > 0) {
                    setTimeout(() => {
                        return diffTop(speed, time)
                    }, 10)
                }
            }
            diffTop(speedValue, second)
            if (document.getElementById('mainappid') && document.getElementById('mainappid').scrollTop > 0) {
                document.getElementById('mainappid').scrollTop = 0
            }
455 456 457 458 459 460 461 462 463
        }, // 返回天气相当于返回顶部
        getCommentsFromArticle (id) {
            this.$refs.commentRef.getComments(id) // 触发子组件的方法
        },
        getArticles: function (page) {
            let that = this // this指向转化
            that.article_loc = page
            // 查找文章id 从1开始
            that.postcomment.articleId =
Y
yma16 已提交
464
        that.articleId[
465 466 467
            parseInt(page + (that.currentPage - 1) * that.splitLength)
        ]
            // 提交数据 page从0开始
yma16's avatar
yma16 已提交
468
            that.$axios
469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491
                .post(that.baseurl + 'article/index/', {
                    value: page + (that.currentPage - 1) * that.splitLength
                    // 传入索引
                })
                .then((res) => {
                    if (res.data.code === 1) {
                        let respdata = res.data
                        let content = respdata.article
                        that.md_data = [] // 清空
                        content.map((o) => {
                            that.md_data.push(o) // 传入一个文章
                        })
                        that.the_title = respdata.the_title
                    } else if (res.data.code === 0) {
                        // alter("失败!")
                        that.$message.error('失败')
                    }
                })
                .catch((error) => {
                    throw Error(error)
                })
            that.getCommentsFromArticle(that.postcomment.articleId)
        }
yma16's avatar
yma16 已提交
492
    },
493
    created: function () {
Y
yma16 已提交
494
    // 初始化
495
        let that = this
yma16's avatar
yma16 已提交
496
        that.$axios
497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518
            .get(that.baseurl + 'article/index/')
            .then((res) => {
                let resdata = res.data
                let content = resdata.article // 传递过来的文章 进行处理
                let title = resdata.title
                that.articleId = resdata.articleObjectId
                that.postcomment.articleId = resdata.articleId
                this.$refs.commentRef.getComments(that.postcomment.articleId) // 触发子组件的方法
                content.map((o) => {
                    that.md_data.push(o)
                })
                let titleAllArray = title.map((o) => {
                    return o
                })
                that.the_title = resdata.the_title
                this.pageAnalysFun(titleAllArray) // 分页
            })
            .catch((r) => {
                throw Error(r)
            }) // get log
    }
}
yma16's avatar
yma16 已提交
519 520 521 522
</script>

<style scoped>
.el-carousel__item h3 {
Y
yma16 已提交
523 524 525 526 527
  color: #475669;
  font-size: 14px;
  opacity: 0.75;
  line-height: 150px;
  margin: 0;
yma16's avatar
yma16 已提交
528 529 530
}

.el-carousel__item:nth-child(2n) {
Y
yma16 已提交
531 532
  background-color: #99a9bf;
  background-image: linear-gradient(90deg, #f0ddd2, #aa8c79);
yma16's avatar
yma16 已提交
533 534 535
}

.el-carousel__item:nth-child(2n + 1) {
Y
yma16 已提交
536 537
  background-color: #b0b3b6;
  background-image: linear-gradient(90deg, #f0ddd2, #aa8c79);
yma16's avatar
yma16 已提交
538 539 540
}

.text {
Y
yma16 已提交
541 542 543 544
  /* align-content: center; */
  display: flex;
  margin: 0 auto;
  font-size: 14px;
yma16's avatar
yma16 已提交
545 546 547
}

.item {
Y
yma16 已提交
548 549 550
  display: inline-block;
  /* margin: 0 auto; */
  width: 900px;
yma16's avatar
yma16 已提交
551 552 553
}

.box-card {
Y
yma16 已提交
554 555 556 557 558 559 560 561 562
  align-self: center;
  align-content: center;
  display: inline-block;
  width: 80%;
  /* padding-left:25%; */
  margin: 0 auto;
  /* opacity: 0.95; */
  margin-top: 0px;
  background-color: #ffffff;
yma16's avatar
yma16 已提交
563 564 565
}

.box-cardtext {
Y
yma16 已提交
566 567 568 569 570 571 572 573 574
  align-self: center;
  align-content: center;
  display: inline-block;
  width: 20%;
  /* padding-left:25%; */
  margin: 0 auto;
  opacity: 0.9;
  margin-top: 80px;
  background-color: #ffffff;
yma16's avatar
yma16 已提交
575 576 577
}

.article {
Y
yma16 已提交
578 579 580 581 582 583
  opacity: 1;
  /* background-color: aliceblue; */
  align-content: inherit;
  display: flex;
  margin: 5px;
  padding: 5px;
yma16's avatar
yma16 已提交
584 585 586 587
}

/* 取消滚动并且隐藏 */
el-col::-webkit-scrollbar {
Y
yma16 已提交
588
  display: none;
yma16's avatar
yma16 已提交
589 590 591
}

.leftclass {
Y
yma16 已提交
592 593 594 595 596
  position: relative;
  width: 30%;
  height: 100%;
  overflow: auto;
  margin: 5px;
yma16's avatar
yma16 已提交
597 598 599
}

.leftclass::-webkit-scrollbar {
Y
yma16 已提交
600
  display: none;
yma16's avatar
yma16 已提交
601 602 603
}

.midclass {
Y
yma16 已提交
604 605 606 607 608 609
  position: relative;
  width: 65%;
  height: 100%;
  overflow: auto;
  margin: 5px;
  /* scrollbar-face-color: coral; */
yma16's avatar
yma16 已提交
610

Y
yma16 已提交
611
  /* scrollbar-track-color: darkslategrey; */
yma16's avatar
yma16 已提交
612
}
yma16's avatar
yma16 已提交
613 614 615
.pagenation-block{
  overflow: auto;
}
yma16's avatar
yma16 已提交
616
.midclass::-webkit-scrollbar {
Y
yma16 已提交
617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635
  width: 10px;
  /* height:5px; */
  /* display: none; */
}
.midclass::-webkit-scrollbar-track {
  background: rgba(226, 247, 255, 0.5);
  border-radius: 2px;
  /* display: none; */
}
.midclass::-webkit-scrollbar-track-piece {
  background: rgba(255, 255, 255, 0.1);
  border-radius: 2px;
  /* display: none; */
}
.midclass::-webkit-scrollbar-thumb {
  background: #ff995e;
  height: 2px;
  border-radius: 2px;
  /* display: none; */
yma16's avatar
yma16 已提交
636 637 638
}
/* 评论区 */
.commitCard {
Y
yma16 已提交
639 640 641 642 643 644 645 646 647 648 649
  position: relative;
  width: 100%;
  height: 80px;
  margin-top: 10px;
  justify-content: center;
  align-content: center;
  align-items: center;
  flex-wrap: wrap;
  flex-direction: row;
  margin-left: 0;
  margin-right: 0;
yma16's avatar
yma16 已提交
650 651 652
}

.rightclass {
Y
yma16 已提交
653 654 655 656
  position: relative;
  width: 5%;
  height: 100%;
  overflow: hidden;
yma16's avatar
yma16 已提交
657 658 659
}

.rightclass::-webkit-scrollbar {
Y
yma16 已提交
660
  display: none;
yma16's avatar
yma16 已提交
661 662 663
}

.righticon {
Y
yma16 已提交
664 665 666 667
  position: relative;
  width: 100%;
  height: 100%;
  top: 70%;
yma16's avatar
yma16 已提交
668 669 670
}

.image {
Y
yma16 已提交
671 672
  width: 100%;
  display: block;
yma16's avatar
yma16 已提交
673 674 675
}

.li_active li {
Y
yma16 已提交
676
  color: rgb(255, 94, 0);
yma16's avatar
yma16 已提交
677 678 679
}

li:active {
Y
yma16 已提交
680
  color: rgb(245, 182, 10);
yma16's avatar
yma16 已提交
681 682 683
}

li:link {
Y
yma16 已提交
684
  color: rgb(255, 94, 0);
yma16's avatar
yma16 已提交
685 686 687
}

li:visited {
Y
yma16 已提交
688
  color: gold;
yma16's avatar
yma16 已提交
689 690 691
}

li:hover {
Y
yma16 已提交
692 693
  color: rgb(255, 72, 0);
  cursor: pointer;
yma16's avatar
yma16 已提交
694 695 696
}

h1 {
Y
yma16 已提交
697 698
  color: rgb(255, 102, 0);
  text-align: center;
yma16's avatar
yma16 已提交
699 700 701
}

h1:hover {
Y
yma16 已提交
702 703 704 705
  font-weight: bolder;
  color: rgb(255, 72, 0);
  /* color: gold; */
  cursor: pointer;
yma16's avatar
yma16 已提交
706 707 708
}

.article_box {
Y
yma16 已提交
709 710 711
  position: relative;
  width: 100%;
  height: 100%;
yma16's avatar
yma16 已提交
712 713 714
}

.ul_style {
Y
yma16 已提交
715 716 717
  position: relative;
  width: 100%;
  height: 100%;
yma16's avatar
yma16 已提交
718 719 720
}

.weather_class2 {
Y
yma16 已提交
721
  display: none;
yma16's avatar
yma16 已提交
722 723 724
}

.user_img2 {
Y
yma16 已提交
725
  display: none;
yma16's avatar
yma16 已提交
726 727 728
}

.challenge_title2 {
Y
yma16 已提交
729
  display: none;
yma16's avatar
yma16 已提交
730 731 732
}

.weather_class1 {
Y
yma16 已提交
733
  display: block;
yma16's avatar
yma16 已提交
734 735 736
}

.user_img1 {
Y
yma16 已提交
737
  display: block;
yma16's avatar
yma16 已提交
738 739 740
}

.challenge_title1 {
Y
yma16 已提交
741
  display: block;
yma16's avatar
yma16 已提交
742 743 744
}

@media screen and (max-width: 450px) {
Y
yma16 已提交
745 746 747 748
  .article {
    display: inline-block;
    max-width: 350px;
  }
yma16's avatar
yma16 已提交
749

Y
yma16 已提交
750 751 752 753 754
  .leftclass {
    width: 100%;
    height: 50%;
    max-width: 350px;
  }
yma16's avatar
yma16 已提交
755

Y
yma16 已提交
756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771
  .midclass {
    width: 100%;
    max-width: 350px;
  }

  .rightclass {
    width: 80px;
    position: fixed;
    float: right;
    bottom: 20px;
    right: -10px;
  }

  .weather_class2 {
    display: block;
  }
yma16's avatar
yma16 已提交
772

Y
yma16 已提交
773 774 775
  .user_img2 {
    display: block;
  }
yma16's avatar
yma16 已提交
776

Y
yma16 已提交
777 778 779
  .challenge_title2 {
    display: block;
  }
yma16's avatar
yma16 已提交
780

Y
yma16 已提交
781 782 783
  .weather_class1 {
    display: none;
  }
yma16's avatar
yma16 已提交
784

Y
yma16 已提交
785 786 787
  .user_img1 {
    display: none;
  }
yma16's avatar
yma16 已提交
788

Y
yma16 已提交
789 790 791
  .challenge_title1 {
    display: none;
  }
yma16's avatar
yma16 已提交
792 793
}
</style>