diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..f673a71 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "liveServer.settings.port": 5502 +} \ No newline at end of file diff --git a/TEXTREADING/TextImage/cloud.png b/TEXTREADING/TextImage/cloud.png new file mode 100644 index 0000000..285ed57 Binary files /dev/null and b/TEXTREADING/TextImage/cloud.png differ diff --git a/TEXTREADING/TextImage/jiyi.png b/TEXTREADING/TextImage/jiyi.png new file mode 100644 index 0000000..282198a Binary files /dev/null and b/TEXTREADING/TextImage/jiyi.png differ diff --git a/TEXTREADING/myFavourite/myFavourite.css b/TEXTREADING/myFavourite/myFavourite.css new file mode 100644 index 0000000..3b1b774 --- /dev/null +++ b/TEXTREADING/myFavourite/myFavourite.css @@ -0,0 +1,661 @@ +* { + padding: 0px; + margin: 0px auto; +} + +html, +body { + overflow-x: hidden; + margin: 0; + padding: 0; + width: 100%; +} + +/* 日夜交替 */ +.cont_principal { + width: 100%; + height: 100%; + left: 75%; + position: absolute; + max-width: 500px; + max-height: 500px; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + margin-top: -100px; +} + +.cont_text>p { + color: #7730ec; + font-family: 'Open Sans', sans-serif; + font-size: 20px; + font-weight: bold; + margin-bottom: 20px; +} + +.cont_text_dia>p { + font-size: 20px; + color: #fcce18; +} + +.cont_text_noche>p { + font-size: 20px; + color: #7730ec; +} + + +body { + background-color: #f2edff; + transition-delay: 0.7s; + transition: background-color 0.5s; +} + +.cont_centro { + position: relative; + width: 100%; + height: auto; + left: 30%; +} + +.cont_circle { + width: 212px; + height: 212px; + position: relative; + border-radius: 50%; + border: 3px solid #fff; + box-shadow: 0px 5px 30px 5px rgba(119, 48, 236, 0.4); + overflow: hidden; + transition: all 0.5s; + background-color: #7730ec; + cursor: pointer; +} + +.cont_circle_noche { + box-shadow: 0px 5px 30px 5px rgba(119, 48, 236, 0.4); + transition-delay: 0.7s; +} + +.cont_circle_noche>.sun { + animation-name: ocultar_sun; + animation-duration: 1s; + animation-iteration-count: 1; + animation-timing-function: linear; + -webkit-animation-fill-mode: forwards; + animation-fill-mode: forwards; +} + +.cont_circle_noche>.moon { + -webkit-animation-fill-mode: forwards; + animation-fill-mode: forwards; + animation-name: salida_sun; + animation-duration: 2s; + animation-iteration-count: 1; + animation-timing-function: linear; + + +} + + +.cont_olas_top { + position: absolute; + bottom: 63px; + left: -210px; +} + +.cont_olas_bottom { + position: absolute; + bottom: 0px; + width: 100%; + height: 212px; + z-index: 0; + overflow: hidden; + border-radius: 50%; +} + +.cont_olas_bottom>svg { + margin-top: 100px; + transition: all 1.5s; + position: relative; + left: -212px; +} + +.cont_circle_dia>.cont_olas_bottom>svg { + + position: relative; + left: 0px; +} + +.moon { + position: absolute; + top: 50px; + right: 50px; + border-radius: 50%; + overflow: hidden; +} + +.cont_circle_dia { + background-color: #fcce18; + transition-delay: 0.7s; + box-shadow: 0px 5px 30px 5px rgba(252, 206, 24, 0.5); +} + +.cont_circle_dia>.sun { + -webkit-animation-fill-mode: forwards; + animation-fill-mode: forwards; + animation-name: salida_sun; + animation-duration: 2s; + animation-iteration-count: 1; + animation-timing-function: linear; + + +} + +.cont_circle_dia>.moon { + animation-name: ocultar_sun; + animation-duration: 1s; + animation-iteration-count: 1; + animation-timing-function: linear; + -webkit-animation-fill-mode: forwards; + animation-fill-mode: forwards; +} + +.sun { + position: absolute; + top: 50px; + right: 50px; + width: 23px; + height: 23px; + background-color: #fff; + border-radius: 50%; + box-shadow: 1px 1px 10px 6px rgba(255, 255, 255, 0.5); + transform: translate(-190px, 20px); +} + +@-webkit-keyframes salida_sun { + from { + transform: translate(100px, 50px); + } + + to { + transform: translate(0px, 0px); + } +} + +@-o-keyframes salida_sun { + from { + transform: translate(100px, 50px); + } + + to { + transform: translate(0px, 0px); + } + +} + +@-moz-keyframes salida_sun { + from { + transform: translate(100px, 50px); + } + + to { + transform: translate(0px, 0px); + } +} + +@keyframes salida_sun { + from { + transform: translate(100px, 50px); + } + + to { + transform: translate(0px, 0px); + } +} + + + +@-webkit-keyframes ocultar_sun { + 0% { + transform: translate(0px, 0px); + } + + 50% { + transform: translate(-50px, -20px); + } + + 60% { + transform: translate(-70px, -15px); + } + + 70% { + transform: translate(-90px, -10px); + } + + 85% { + transform: translate(-130px, 5px); + } + + 100% { + transform: translate(-190px, 20px); + } +} + +@-o-keyframes ocultar_sun { + 0% { + transform: translate(0px, 0px); + } + + 50% { + transform: translate(-50px, -20px); + } + + 60% { + transform: translate(-70px, -15px); + } + + 70% { + transform: translate(-90px, -10px); + } + + 85% { + transform: translate(-130px, 5px); + } + + 100% { + transform: translate(-190px, 20px); + } +} + +@-moz-keyframes ocultar_sun { + 0% { + transform: translate(0px, 0px); + } + + 50% { + transform: translate(-50px, -20px); + } + + 60% { + transform: translate(-70px, -15px); + } + + 70% { + transform: translate(-90px, -10px); + } + + 85% { + transform: translate(-130px, 5px); + } + + 100% { + transform: translate(-190px, 20px); + } +} + +@keyframes ocultar_sun { + 0% { + transform: translate(0px, 0px); + } + + 50% { + transform: translate(-50px, -20px); + } + + 60% { + transform: translate(-70px, -15px); + } + + 70% { + transform: translate(-90px, -10px); + } + + 85% { + transform: translate(-130px, 5px); + } + + 100% { + transform: translate(-190px, 20px); + } +} + + + +/* TITLE 字体 */ +@import url(https://fonts.googleapis.com/css?family=Signika:700,300,600); + +.BOXtitle { + display: flex; + justify-content: center; + text-align: center; + width: 100%; + left: 50%; + font-size: 3rem; + font: bold 'Signika', sans-serif; + user-select: none; + flex-direction: row; + margin-top: 50px; +} + +h1 span { + display: inline-block; + animation: float .7s ease-in-out infinite; + /* 调整动画速度 */ +} + +@keyframes float { + + 0%, + 100% { + transform: none; + } + + 33% { + transform: translateY(-1px) rotate(-2deg); + } + + 66% { + transform: translateY(1px) rotate(2deg); + } +} + +.BOXtitle:hover span { + animation: bounce .6s; +} + +@keyframes bounce { + + 0%, + 100% { + transform: translate(0); + } + + 25% { + transform: rotateX(20deg) translateY(2px) rotate(-3deg); + } + + 50% { + transform: translateY(-20px) rotate(3deg) scale(1.1); + } +} + +.BOXtitle span:nth-child(4n) { + color: hsl(50, 75%, 55%); + text-shadow: 1px 1px hsl(50, 75%, 45%), 2px 2px hsl(50, 45%, 45%), 3px 3px hsl(50, 45%, 45%), 4px 4px hsl(50, 75%, 45%); +} + +.BOXtitle span:nth-child(4n-1) { + color: hsl(135, 35%, 55%); + text-shadow: 1px 1px hsl(135, 35%, 45%), 2px 2px hsl(135, 35%, 45%), 3px 3px hsl(135, 35%, 45%), 4px 4px hsl(135, 35%, 45%); +} + +.BOXtitle span:nth-child(4n-2) { + color: hsl(155, 35%, 60%); + text-shadow: 1px 1px hsl(155, 25%, 50%), 2px 2px hsl(155, 25%, 50%), 3px 3px hsl(155, 25%, 50%), 4px 4px hsl(140, 25%, 50%); +} + +.BOXtitle span:nth-child(4n-3) { + color: hsl(30, 65%, 60%); + text-shadow: 1px 1px hsl(30, 45%, 50%), 2px 2px hsl(30, 45%, 50%), 3px 3px hsl(30, 45%, 50%), 4px 4px hsl(30, 45%, 50%); +} + +.BOXtitle h1 span:nth-child(2) { + animation-delay: .05s; +} + +.BOXtitle h1 span:nth-child(3) { + animation-delay: .1s; +} + +.BOXtitle h1 span:nth-child(4) { + animation-delay: .15s; +} + +.BOXtitle h1 span:nth-child(5) { + animation-delay: .2s; +} + +.BOXtitle h1 span:nth-child(6) { + animation-delay: .25s; +} + +.BOXtitle h1 span:nth-child(7) { + animation-delay: .3s; +} + +.BOXtitle h1 span:nth-child(8) { + animation-delay: .35s; +} + +.BOXtitle h1 span:nth-child(9) { + animation-delay: .4s; +} + +.BOXtitle h1 span:nth-child(10) { + animation-delay: .45s; +} + +.BOXtitle h1 span:nth-child(11) { + animation-delay: .5s; +} + +.BOXtitle h1 span:nth-child(12) { + animation-delay: .55s; +} + +.BOXtitle h1 span:nth-child(13) { + animation-delay: .6s; +} + +/* ------- 表格 ----------*/ +/* 表格容器 */ +main.table { + width: 57vw; + height: 80vh; + background-color: #fff5; + box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1); + border-radius: 16px; + overflow: hidden; + transform: translateX(35%); + margin-top: 50px; + box-sizing: border-box; +} + +/* 头部样式 */ +.header { + width: 100%; + height: 10%; + background-color: #fff4; + padding: 0 40px; + display: flex; + justify-content: space-between; + align-items: center; + border-bottom: 2px solid #388e3c; +} + +.header .input-group { + width: 35%; + height: 50%; + background-color: #fff5; + padding: 0 20px; + border-radius: 10px; + display: flex; + justify-content: center; + align-items: center; + transition: width 0.3s, background-color 0.3s, box-shadow 0.3s; +} + +.header .input-group:hover { + width: 45%; + background-color: #fff8; + box-shadow: 0 5px 40px rgba(0, 0, 0, 0.1); +} + +.header .input-group input { + width: 100%; + background-color: transparent; + border: none; + outline: none; +} + +/* 表格内容容器 */ +.shell { + width: 95%; + max-height: calc(90% - 25px); + background-color: #fff; + margin: 8px auto; + border-radius: 10px; + overflow: auto; + overflow: overlay; +} + +.shell::-webkit-scrollbar { + width: 10px; + height: 10px; +} + +table { + width: 100%; +} + +table, +th, +td { + border-collapse: collapse; + padding: 14px; + text-align: left; + border: 1px solid #ddd; +} + +tbody td { + max-width: 450px; +} + +thead th { + padding: 18px; + position: sticky; + top: 0px; + background-color: #f1f1f1; + cursor: pointer; + transform: translateY(-1px); + z-index: 5; +} + +tbody tr:nth-child(even) { + background-color: #f9f9f9; +} + +tbody tr:hover { + background-color: #f1f1f1 !important; +} + +/* 链接按钮样式 */ +a.button { + color: #11396E; + text-decoration: none; + font-size: 16px; + font-family: 'Poppins', sans-serif; + position: relative; +} + +a.button::before, +a.button::after { + content: ''; + width: 0%; + height: 2px; + display: block; + transition: 0.8s; + position: absolute; +} + +a.button::before { + left: 0; +} + +a.button::after { + right: 0; +} + +a.button:hover::after, +a.button:hover::before { + width: 100%; + background: #7D99BF; +} + +@import url(https://fonts.googleapis.com/css?family=Roboto+Slab:400); + + + + +.header h1:hover { + transform: translate(-5px, -5px); + text-shadow: 0 1px 0 hsl(174, 5%, 90%), + 0 2px 0 hsl(174, 5%, 85%), + 0 3px 0 hsl(174, 5%, 80%), + 0 4px 0 hsl(174, 5%, 76%), + 0 5px 0 hsl(174, 5%, 74%), + 0 6px 0 hsl(174, 5%, 72%), + + 0 0 5px rgba(0, 0, 0, .05), + 0 1px 3px rgba(0, 0, 0, .14), + 0 3px 5px rgba(0, 0, 0, .16), + 0 5px 10px rgba(0, 0, 0, .18), + 0 7px 7px rgba(0, 0, 0, .2), + 0 9px 9px rgba(0, 0, 0, .25); +} + +.table { + margin-bottom: 50px; +} + +/* 云 */ +.shell-cloud { + display: flex; + justify-content: center; + align-items: center; + position: fixed; + /* 改为 fixed 以固定位置 */ + right: 4%; + bottom: 30%; + background-color: transparent; + min-height: 200px; +} + +.cloud { + position: relative; + top: 50px; + width: 180px; + height: 140px; + background-image: url(../TextImage/cloud.png); + background-size: cover; +} + +.text { + position: absolute; + top: 145px; + max-width: 160px; + max-height: 100px; + line-height: 10px; + color: #845EC2; + text-shadow: 0 0 2px #B39CD0, + 0 0 4px #FBEAFF, + 0 0 6px #FFF; + animation: rain 1s linear forwards; +} + +@keyframes rain { + 0% { + transform: translateY(0) scale(1); + } + + 80% { + transform: translateY(130px) scale(1); + } + + /* 让雨点落到最下面时回弹10px后变大一点三倍并使其透明度消失可以 + 达到真实雨水落地后溅射消失的效果 */ + 100% { + transform: translateY(120px) scale(1.3); + opacity: 0; + } +} \ No newline at end of file diff --git a/TEXTREADING/myFavourite/myFavourite.html b/TEXTREADING/myFavourite/myFavourite.html new file mode 100644 index 0000000..c46e80d --- /dev/null +++ b/TEXTREADING/myFavourite/myFavourite.html @@ -0,0 +1,227 @@ + + + + + + + My favourite articles + + + + + + + + + + + + + + +
+
+

+
+
+
+
+
+ + + + + + + image/svg+xml + + + + + + + + + + +
+ +
+ + + + + + + image/svg+xml + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+
+

+ MY + FAVOURITE! +

+
+
+ +
+
+

My favourite articles

+
+ +
+
+
+ + + + + + + + + + + + +
TitleCategoryLink
+
+
+ +
+
+
+ + + + \ No newline at end of file diff --git a/TEXTREADING/myFavourite/myFavourite.js b/TEXTREADING/myFavourite/myFavourite.js new file mode 100644 index 0000000..8b6ebf8 --- /dev/null +++ b/TEXTREADING/myFavourite/myFavourite.js @@ -0,0 +1,199 @@ + +let c = 0; +function toggle() { + c % 2 == 0 ? day() : night(); + c++; +} + +function night() { + document.querySelector(".cont_circle").className = + "cont_circle cont_circle_noche"; + document.body.style.backgroundColor = "#f2edff"; + document.querySelector(".cont_text").className = "cont_text cont_text_noche"; + document.querySelectorAll(".cont_text > p")[0].innerHTML = "NIGHT"; +} + +function day() { + document.querySelector(".cont_circle").className = + "cont_circle cont_circle_dia"; + document.body.style.backgroundColor = "#f7f7f7"; + document.querySelector(".cont_text").className = "cont_text cont_text_dia"; + document.querySelectorAll(".cont_text > p")[0].innerHTML = " "; +} + + +const articles = [ + { + title: "JavaScript BasicsJavaScript BasicsJavaScript BasicsJavaScript BasicsJavaScript BasicsJavaScript Basics", + category: "Programming", + link: "https://example.com/js-basics" + }, + { + title: "CSS Grid Layout", + category: "Web Design", + link: "https://example.com/css-grid" + }, + { + title: "CSS Grid Layout", + category: "Web Design", + link: "https://example.com/css-grid" + }, + { + title: "CSS Grid Layout", + category: "Web Design", + link: "https://example.com/css-grid" + }, + { + title: "CSS Grid Layout", + category: "Web Design", + link: "https://example.com/css-grid" + }, + { + title: "CSS Grid Layout", + category: "Web Design", + link: "https://example.com/css-grid" + }, + { + title: "CSS Grid Layout", + category: "Web Design", + link: "https://example.com/css-grid" + }, + { + title: "CSS Grid Layout", + category: "Web Design", + link: "https://example.com/css-grid" + }, + + { + title: "CSS Grid Layout", + category: "Web Design", + link: "https://example.com/css-grid" + }, + { + title: "CSS Grid Layout", + category: "Web Design", + link: "https://example.com/css-grid" + }, + { + title: "CSS Grid Layout", + category: "Web Design", + link: "https://example.com/css-grid" + }, + { + title: "CSS Grid Layout", + category: "Web Design", + link: "https://example.com/css-grid" + }, + { + title: "CSS Grid Layout", + category: "Web Design", + link: "https://example.com/css-grid" + }, + { + title: "CSS Grid Layout", + category: "Web Design", + link: "https://example.com/css-grid" + }, + { + title: "CSS Grid Layout", + category: "Web Design", + link: "https://example.com/css-grid" + }, + { + title: "CSS Grid Layout", + category: "Web Design", + link: "https://example.com/css-grid" + }, + { + title: "CSS Grid Layout", + category: "Web Design", + link: "https://example.com/css-grid" + }, + { + title: "CSS Grid Layout", + category: "Web Design", + link: "https://example.com/css-grid" + }, + { + title: "CSS Grid Layout", + category: "Web Design", + link: "https://example.com/css-grid" + }, + { + title: "CSS Grid Layout", + category: "Web Design", + link: "https://example.com/css-grid" + }, + + { + title: "Understanding React", + category: "JavaScript Library", + link: "https://example.com/react" + } +]; + + +function loadTableData() { + const tableBody = document.getElementById('table-body'); + tableBody.innerHTML = ''; // 清空现有内容 + + articles.forEach((item, index) => { + const row = document.createElement('tr'); + row.innerHTML = ` + ${item.title} + ${item.category} + + + Review → + + + `; + tableBody.appendChild(row); + }); +} + +// 加载数据 +loadTableData(); + + +// 搜索栏 +document.getElementById('search-input').addEventListener('input', function () { + const filter = this.value.toLowerCase(); + const rows = document.querySelectorAll('#table-body tr'); + + rows.forEach(row => { + const cells = row.querySelectorAll('td'); + const match = Array.from(cells).some(cell => cell.textContent.toLowerCase().includes(filter)); + if (match) { + row.style.display = ''; + } else { + row.style.display = 'none'; + } + }); +}); + + +// 汉字云 +function randomText() { + const text = 'WORD TONGJI'; + const letter = text[Math.floor(Math.random() * text.length)]; + return letter; +} +function rain() { + const cloud = document.querySelector('.cloud'); + const e = document.createElement('div'); + const left = Math.floor(Math.random() * 110); + const size = Math.random() * 1.5; + const duration = Math.random() * 1; + const text = randomText(); + e.classList.add('text'); + e.innerText = text; + e.style.left = 25 + left + 'px'; + e.style.fontSize = size + 'em'; + e.style.animationDuration = 2 + duration + 's'; + cloud.appendChild(e); + setTimeout(() => { + cloud.removeChild(e); + }, 2000); +} +setInterval(rain, 40); diff --git a/TEXTREADING/readingText/Text_globalwarming.html b/TEXTREADING/readingText/Text_globalwarming.html index d674e4c..782c147 100644 --- a/TEXTREADING/readingText/Text_globalwarming.html +++ b/TEXTREADING/readingText/Text_globalwarming.html @@ -70,6 +70,17 @@ + +
+
+
+
+
+ + +
+
+
@@ -769,6 +780,17 @@

Global warming

+ + + \ No newline at end of file diff --git a/TEXTREADING/readingText/article.docx b/TEXTREADING/readingText/article.docx deleted file mode 100644 index a61418c..0000000 Binary files a/TEXTREADING/readingText/article.docx and /dev/null differ diff --git a/TEXTREADING/readingText/clock.css b/TEXTREADING/readingText/clock.css new file mode 100644 index 0000000..478008f --- /dev/null +++ b/TEXTREADING/readingText/clock.css @@ -0,0 +1,142 @@ +.tikutaku { + position: relative; + width: 100%; + height: 100%; + min-height: 350px; + /* 让父容器占满整个可视区域 */ + display: flex; + justify-content: center; + align-items: center; + overflow: hidden; + + margin-top: 30px; + margin-bottom: -80px; +} + +.clock { + box-sizing: border-box; + position: relative; + display: flex; + z-index: -3; + justify-content: center; + align-items: center; + width: 300px; + min-width: 300px; + height: 300px; + border-radius: 50%; + background-color: rgba(250, 200, 200, .9); + box-shadow: 4px 4px 20px rgba(0, 0, 0, .5); +} + +.clock::before { + content: ''; + position: absolute; + width: 20px; + height: 20px; + border-radius: 50%; + z-index: 5; + box-shadow: 8px 2px 60px rgba(0, 0, 0, .5); + background-color: rgba(248, 239, 247, 0.8); +} + +.clock::after { + content: ''; + display: block; + position: absolute; + + width: 220px; + height: 220px; + border-radius: 50%; + box-shadow: 1px 1px 20px rgba(0, 0, 0, .5) inset; + background-color: rgba(250, 200, 200, .9); + z-index: -2; +} + +.clock .hour, +.clock .min, +.clock .sec { + position: absolute; +} + +.clock .hour, +.hr { + width: 100px; + height: 120px; + display: flex; + justify-content: center; +} + +.clock .min, +.mn { + width: 160px; + height: 160px; + display: flex; + justify-content: center; +} + +.clock .sec, +.sc { + width: 200px; + height: 200px; + display: flex; + justify-content: center; +} + +.hr::before, +.mn::before, +.sc::before { + box-shadow: 2px -0.6px 2px rgba(255, 255, 255, 0.1) inset, + 2px 0.5px 2px rgba(0, 0, 0, 0.2) inset, + -3px 10px 10px rgba(0, 0, 0, 0.3); +} + +.hr::before { + content: ''; + width: 8px; + height: 80px; + background-color: crimson; + z-index: 10; + border-radius: 6px 6px 0 0; + border-radius: 0.5em; + width: 15px; + height: 45px; +} + +.mn::before { + content: ''; + width: 4px; + height: 90px; + background-color: slateblue; + z-index: 8; + border-radius: 6px 6px 0 0; + border-radius: 0.4em; + width: 13px; + height: 65px; +} + +.sc::before { + content: ''; + width: 4px; + height: 90px; + background-color: powderblue; + z-index: 9; + border-radius: 6px 6px 0 0; + border-radius: 0.3em; + width: 10px; + height: 85px; +} + +.artfont { + position: relative; + z-index: -18; + margin-left: 40px; + /* 调整这个值以确保artfont和clock水平对齐 */ + max-width: 250px; + max-height: 200px; + box-shadow: 0 0 1rem rgba(0, 0, 0, .5); + background-color: paleturquoise; + display: flex; + justify-content: center; + align-items: center; + transform: translateX(-70px); +} \ No newline at end of file diff --git a/TEXTREADING/readingText/clock.js b/TEXTREADING/readingText/clock.js new file mode 100644 index 0000000..2a03b8a --- /dev/null +++ b/TEXTREADING/readingText/clock.js @@ -0,0 +1,15 @@ +const deg = 6; +const hr = document.querySelector('#hr'); +const mn = document.querySelector('#mn'); +const sc = document.querySelector('#sc'); +// 设置定时器,每秒执行一次 +setInterval(() => { + let day = new Date(); + // 求一小时,一分钟,一秒的角度,一共360度 + let h = day.getHours() * 30; // 一小时等于30度 + let m = day.getMinutes() * deg; // 一分钟等于6度 + let s = day.getSeconds() * deg; // 一秒等于6度,近似就完了 + hr.style.transform = `rotateZ(${h + m / 12}deg)`; + mn.style.transform = `rotateZ(${m}deg)`; + sc.style.transform = `rotateZ(${s}deg)`; +}, 1000) \ No newline at end of file diff --git a/TEXTREADING/readingText/createDOC.py b/TEXTREADING/readingText/createDOC.py deleted file mode 100644 index 6235f26..0000000 --- a/TEXTREADING/readingText/createDOC.py +++ /dev/null @@ -1,39 +0,0 @@ -from docx import Document -from docx.shared import Inches - -document = Document() - -# Title -document.add_heading('Climate Change and Residential Property', 0) - -# Paragraph 1 -document.add_paragraph( - 'THINK ABOUT the places vulnerable to climate change, and you might picture rice paddies in Bangladesh or low-lying islands in the Pacific. ' - 'But another, more surprising answer ought to be your own house. About a tenth of the world\'s residential property by value is under threat from global warming—including many houses that are nowhere near the coast.' -) - -document.add_paragraph( - '提起那些易受气候变化影响的地方,脑海中或许会浮现孟加拉国的水稻田,亦或是太平洋中海拔较低的岛屿。' - '但更为令人惊奇的是另一个画面,也就是你自己的房子。按价值评估,世界上约有十分之一的房产面临全球变暖的威胁——包括许多内陆房屋。' -) - -# Paragraph 2 -document.add_paragraph( - 'From tornadoes battering midwestern American suburbs to tennis-ball-size hailstones smashing the roofs of Italian villas, the severe weather ' - 'brought about by greenhouse-gas emissions is shaking the foundations of the world\'s most important asset class.' -) - -document.add_paragraph( - '从肆虐美国中西部郊区的龙卷风到砸向意大利别墅屋顶的网球般大小的冰雹,温室气体排放造成的严峻天气正在打击世界上最重要的资产种类。' -) - -# Phrase and Example -document.add_paragraph('Phrase: foot the bill') -document.add_paragraph('Explanation: 负担费用') -document.add_paragraph('Example: Once again it will be the taxpayer who has to foot the bill.') -document.add_paragraph('示例: 这一次掏腰包的又得是纳税人。') - -# Insert an image -document.add_picture('F:/vscode_files/web技术/githubwork/web_program/TEXTREADING/TextImage/baciWelcome.jpg', width=Inches(4.0)) - -document.save('F:/vscode_files/web技术/githubwork/web_program/TEXTREADING/readingText/article.docx') diff --git a/TEXTREADING/readingText/cursor.css b/TEXTREADING/readingText/cursor.css new file mode 100644 index 0000000..ea0f4e1 --- /dev/null +++ b/TEXTREADING/readingText/cursor.css @@ -0,0 +1,8 @@ +#canvas { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 0; +} \ No newline at end of file diff --git a/TEXTREADING/readingText/cursor.js b/TEXTREADING/readingText/cursor.js new file mode 100644 index 0000000..f48a4c8 --- /dev/null +++ b/TEXTREADING/readingText/cursor.js @@ -0,0 +1,86 @@ + + +// 监听鼠标移动事件,更新自定义光标的位置 +document.addEventListener('mousemove', function (e) { + var cursor = document.querySelector('.cursor'); + cursor.style.left = e.pageX + 'px'; + cursor.style.top = e.pageY + 'px'; +}); + +// 获取画布并设置上下文 +const canvas = document.getElementById('canvas'); +const ctx = canvas.getContext('2d'); +// 设置画布大小的函数 +function resizeCanvas() { + canvas.width = window.innerWidth; + canvas.height = window.innerHeight; +} + +// 初始化画布大小 +resizeCanvas(); + +// 监听窗口变化事件,并调整画布大小 +window.addEventListener('resize', resizeCanvas); + +const particlesArray = []; +const numberOfParticles = 1; // 每次移动生成的粒子数量 + +const mouse = { + x: null, + y: null +} + +// 监听鼠标移动事件,更新鼠标位置并生成粒子 +window.addEventListener('mousemove', function (event) { + mouse.x = event.x; + mouse.y = event.y; + for (let i = 0; i < numberOfParticles; i++) { + particlesArray.push(new Particle()); + } +}); +// 粒子类 +class Particle { + constructor() { + this.x = mouse.x; + this.y = mouse.y; + this.size = Math.random() * 2 + 1; // 粒子的随机小尺寸 + this.speedX = Math.random() * 1 - 0.5; // 粒子的水平速度 + this.speedY = Math.random() * 1 - 0.5; // 粒子的垂直速度 + this.color = `#6DA7FD`; + this.opacity = 1; // 初始透明度 + this.life = 100; // 粒子的生命时长 + } + update() { + this.x += this.speedX; // 更新粒子水平位置 + this.y += this.speedY; // 更新粒子垂直位置 + this.life -= 2; // 递减生命时长 + } + draw() { + ctx.fillStyle = this.color; // 设置粒子颜色 + ctx.globalAlpha = this.life / 100; // 根据剩余生命时长设置透明度 + ctx.beginPath(); + ctx.arc(this.x, this.y, this.size, 0, Math.PI * 2); // 绘制粒子 + ctx.fill(); + ctx.globalAlpha = 1; // 重置透明度 + } +} + +// 处理粒子数组,更新和绘制每个粒子 +function handleParticles() { + for (let i = particlesArray.length - 1; i >= 0; i--) { + particlesArray[i].update(); // 更新粒子位置和生命时长 + particlesArray[i].draw(); // 绘制粒子 + if (particlesArray[i].life <= 0) { + particlesArray.splice(i, 1); // 生命时长耗尽时删除粒子 + } + } +} +// 动画循环 +function animate() { + ctx.clearRect(0, 0, canvas.width, canvas.height); // 清除画布 + handleParticles(); // 处理和绘制粒子 + requestAnimationFrame(animate); // 递归调用animate,实现动画 +} + +// 开始动画 +animate(); diff --git a/TEXTREADING/readingText/moreArticles.css b/TEXTREADING/readingText/moreArticles.css index 7f63039..1bc3e9d 100644 --- a/TEXTREADING/readingText/moreArticles.css +++ b/TEXTREADING/readingText/moreArticles.css @@ -5,7 +5,7 @@ --background-color: #f0f4f8; --container-bg-color: #ffffff; --text-color: #333; - --shadow-color: rgba(0, 0, 0, 0.1); + --shadow-color: rgba(0, 0, 0, 0.4); --font-family: 'Roboto', sans-serif; --border-radius: 10px; --transition-duration: 0.3s; @@ -21,6 +21,7 @@ body { margin: 0; padding: 0; display: flex; + flex-direction: column; justify-content: center; /* 水平居中 */ align-items: center; @@ -55,7 +56,7 @@ body { position: absolute; top: 50%; left: 50%; - z-index: -2; + z-index: -20; animation: starAnimation 1.5s infinite ease-in-out alternate; } @@ -88,6 +89,7 @@ body { /* 水平居中 */ animation: fadeIn 1s ease-in-out; /* 淡入效果 */ + margin-bottom: 40px; } /* 标题样式 */ @@ -106,7 +108,7 @@ body { transition: all 0.3s ease; margin-top: 20px; margin-bottom: 60px; - min-height: 100px; + min-height: 80px; } @keyframes glow { @@ -182,6 +184,7 @@ body { max-width: 600px; display: flex; justify-content: center; + z-index: 10; } .search-bar input { @@ -208,6 +211,7 @@ body { max-width: 200px; display: flex; justify-content: center; + z-index: 3; } .category-filter select { @@ -247,6 +251,7 @@ body { animation: fadeIn 1s ease-in-out; /* 淡入效果 */ margin-bottom: 20px; + z-index: 10; } /* 这里调整封面大小 */ @@ -301,6 +306,7 @@ body { justify-content: center; gap: 10px; margin-bottom: 10px; + z-index: 3; } .pagination button { diff --git a/TEXTREADING/readingText/moreArticles.html b/TEXTREADING/readingText/moreArticles.html index 7894c58..a29643b 100644 --- a/TEXTREADING/readingText/moreArticles.html +++ b/TEXTREADING/readingText/moreArticles.html @@ -13,8 +13,11 @@ crossorigin="anonymous" referrerpolicy="no-referrer" /> - + + + + @@ -79,6 +82,27 @@ +
+ + +
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+ +

@@ -142,9 +166,12 @@

+ - + + + diff --git a/TEXTREADING/readingText/moreArticles.js b/TEXTREADING/readingText/moreArticles.js index 8ff1c05..84d0305 100644 --- a/TEXTREADING/readingText/moreArticles.js +++ b/TEXTREADING/readingText/moreArticles.js @@ -111,3 +111,4 @@ document.addEventListener('DOMContentLoaded', () => { } }); + diff --git a/TEXTREADING/musicPlayer/musicPlayer.css b/TEXTREADING/readingText/musicPlayer.css similarity index 100% rename from TEXTREADING/musicPlayer/musicPlayer.css rename to TEXTREADING/readingText/musicPlayer.css diff --git a/TEXTREADING/musicPlayer/musicPlayer.js b/TEXTREADING/readingText/musicPlayer.js similarity index 96% rename from TEXTREADING/musicPlayer/musicPlayer.js rename to TEXTREADING/readingText/musicPlayer.js index 3059d0b..5edcd34 100644 --- a/TEXTREADING/musicPlayer/musicPlayer.js +++ b/TEXTREADING/readingText/musicPlayer.js @@ -18,8 +18,8 @@ loadSong(songs[songIndex]) // 更新歌曲细节 function loadSong(song) { title.innerHTML = song - audio.src = `/TEXTREADING/musicPlayer/MUSIC/${song}.mp3`; - musicCover.src = `/TEXTREADING/musicPlayer/IMG/${song}.jpg`; + audio.src = `../musicPlayer/MUSIC/${song}.mp3`; + musicCover.src = `../musicPlayer/IMG/${song}.jpg`; } // 播放歌曲 diff --git a/TEXTREADING/readingText/readingDOC.py b/TEXTREADING/readingText/readingDOC.py deleted file mode 100644 index fd2fb70..0000000 --- a/TEXTREADING/readingText/readingDOC.py +++ /dev/null @@ -1,46 +0,0 @@ -from flask import Flask, jsonify -from docx import Document - -app = Flask(__name__) - -def read_docx(file_path): - document = Document(file_path) - content = { - "paragraphs": [], - "phrases": [], - "images": [] - } - - temp_phrase = {} - - for para in document.paragraphs: - text = para.text - if text.startswith("Phrase:"): - if temp_phrase: - content["phrases"].append(temp_phrase) - temp_phrase = {"phrase": text[len("Phrase: "):]} - elif text.startswith("Explanation:"): - temp_phrase["explanation"] = text[len("Explanation: "):] - elif text.startswith("Example:"): - temp_phrase["example_en"] = text[len("Example: "):] - elif text.startswith("示例:"): - temp_phrase["example_cn"] = text[len("示例: "):] - else: - content["paragraphs"].append(text) - - if temp_phrase: - content["phrases"].append(temp_phrase) - - for rel in document.part.rels: - if "image" in document.part.rels[rel].target_ref: - content["images"].append(document.part.rels[rel].target_ref) - - return content - -@app.route('/api/article', methods=['GET']) -def get_article(): - data = read_docx('F:/vscode_files/web技术/githubwork/web_program/TEXTREADING/readingText/article.docx') - return jsonify(data) - -if __name__ == '__main__': - app.run(debug=True) diff --git a/TEXTREADING/readingText/readingTextHeader.css b/TEXTREADING/readingText/readingTextHeader.css index e13b417..a57b701 100644 --- a/TEXTREADING/readingText/readingTextHeader.css +++ b/TEXTREADING/readingText/readingTextHeader.css @@ -173,4 +173,197 @@ header>div>img { opacity: 1; left: 8%; top: 10% +} + + +/* 点赞 收藏 */ +.collection { + width: 230px; + height: 100px; + position: fixed; + display: flex; + /* 使用 fixed 以确保卡片固定在页面位置 */ + top: 40%; + /* 调整距离顶部的位置 */ + right: 2%; + /* 调整距离右侧的位置 */ + border-radius: 5px; +} + + +.collection-content { + box-sizing: border-box; + padding: 10px; + overflow: hidden; + position: relative; + /* 使用 relative 以确保内部元素定位正确 */ + width: 100%; + height: 100%; +} + + + +.collection-content .collection-btn { + background-image: linear-gradient(135deg, rgb(106, 106, 245) 0%, rgb(132, 50, 255) 100%); + width: 50px; + height: 50px; + position: absolute; + right: 25px; + top: 25px; + border-radius: 50%; + z-index: 1; + cursor: pointer; + box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2); + transition: all 0.3s ease-in-out; + animation: pop-btn 0.3s both ease-in-out 0.5s; +} + +@keyframes pop-btn { + 0% { + transform: scale(0); + } + + 80% { + transform: scale(1.2); + } + + 100% { + transform: scale(1); + } +} + +.collection-content .collection-btn:hover { + box-shadow: 0 0 0 5px rgba(170, 187, 204, 0.5); +} + +.collection-content .collection-btn span { + width: 60%; + height: 2px; + position: absolute; + background-color: white; + top: 50%; + left: 20%; + transform: translateY(-50%); + animation: to-hamburger 0.3s forwards ease-in-out; +} + +.collection-content .collection-btn span::before, +.collection-content .collection-btn span::after { + content: ""; + width: 100%; + height: 2px; + position: absolute; + background-color: white; + transition-duration: 0.3s; + transform: rotate(0deg); + right: 0; +} + +.collection-content .collection-btn span::before { + margin-top: -7px; +} + +.collection-content .collection-btn span::after { + margin-top: 7px; +} + +.collection-content .collection-btn.active span { + animation: to-arrow 0.3s forwards ease-in-out; +} + +.collection-content .collection-btn.active span::before, +.collection-content .collection-btn.active span::after { + width: 60%; + right: -1px; +} + +.collection-content .collection-btn.active span::before { + transform: rotate(45deg); +} + +.collection-content .collection-btn.active span::after { + transform: rotate(-45deg); +} + +@keyframes to-hamburger { + from { + transform: translateY(-50%) rotate(-180deg); + } +} + +@keyframes to-arrow { + from { + transform: translateY(-50%) rotate(0deg); + } + + to { + transform: translateY(-50%) rotate(180deg); + } +} + +.collection-box { + opacity: 0; + border-radius: 50%; + background-color: rgba(255, 255, 255, 0.7); + position: absolute; + top: 50%; + right: -30%; + transform: translate(-60%, -50%); + transition-duration: 0.3s; + box-shadow: 0 0 10px #a1c8e8; + border: 5px #5785db solid; +} + +.collection-box::after { + content: ''; + display: block; + width: 100px; + height: 100px; + background-size: cover; + opacity: .7; + border-radius: 50%; + +} + +.collection-box i { + width: 50px; + height: 50px; + border-radius: 50%; + background-color: #ececec; + font-size: 25px; + text-align: center; + line-height: 50px; + position: absolute; + left: 18px; + top: calc(60px - 50px/2 - 5px); + box-shadow: 0 0 10px #fff; + color: rgb(106, 106, 245); + background-color: #fff; + transition-duration: 0.3s; +} + +.collection-box i:hover { + transition-delay: initial !important; + box-shadow: 0 0 0 5px #babbbc; + background-color: rgb(106, 106, 245); + color: #fff; +} + +.collection-box.open { + opacity: 1; +} + +.collection-box.open i { + left: 20px; + opacity: 1; +} + +.collection-box.open i:nth-of-type(1) { + transform: rotate(45deg) translateX(-120px) rotate(-45deg); + transition-delay: 0.1s; +} + +.collection-box.open i:nth-of-type(2) { + transform: rotate(-45deg) translateX(-120px) rotate(45deg); + transition-delay: 0.3s; } \ No newline at end of file diff --git a/TEXTREADING/readingText/test.html b/TEXTREADING/readingText/test.html deleted file mode 100644 index c24ce81..0000000 --- a/TEXTREADING/readingText/test.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - - Article Reader - - - - - - - - - -
- - - - - \ No newline at end of file diff --git a/TEXTREADING/readingWelcome/readingWelcome.html b/TEXTREADING/readingWelcome/readingWelcome.html index 087f9c2..bebb289 100644 --- a/TEXTREADING/readingWelcome/readingWelcome.html +++ b/TEXTREADING/readingWelcome/readingWelcome.html @@ -286,6 +286,25 @@

and enjoy your day!

+ + + + diff --git a/TEXTREADING/readingWelcome/readingWelcomeMain.css b/TEXTREADING/readingWelcome/readingWelcomeMain.css index 493bda9..52d2926 100644 --- a/TEXTREADING/readingWelcome/readingWelcomeMain.css +++ b/TEXTREADING/readingWelcome/readingWelcomeMain.css @@ -295,4 +295,218 @@ h2 { h1 { margin-bottom: 0; } +} + + +/* 按钮插件 */ + +.continue-application{ + left: 43.5%; + margin-top: 20px; + margin-bottom: 50px; +} + +.morebtn{ + font-size: 20px; +} + +.continue-application { + --color: #fff; + --background: #404660; + --background-hover: #3A4059; + --background-left: #2B3044; + --folder: #F3E9CB; + --folder-inner: #BEB393; + --paper: #FFFFFF; + --paper-lines: #BBC1E1; + --paper-behind: #E1E6F9; + --pencil-cap: #fff; + --pencil-top: #275EFE; + --pencil-middle: #fff; + --pencil-bottom: #5C86FF; + --shadow: rgba(13, 15, 25, .2); + border: none; + outline: none; + cursor: pointer; + position: relative; + border-radius: 5px; + font-size: 14px; + font-weight: 500; + line-height: 19px; + -webkit-appearance: none; + -webkit-tap-highlight-color: transparent; + padding: 17px 29px 17px 69px; + transition: background 0.3s; + color: var(--color); + background: var(--bg, var(--background)); +} + +.continue-application>div { + top: 0; + left: 0; + bottom: 0; + width: 53px; + position: absolute; + overflow: hidden; + border-radius: 5px 0 0 5px; + background: var(--background-left); +} + +.continue-application>div .folder { + width: 23px; + height: 27px; + position: absolute; + left: 15px; + top: 13px; +} + +.continue-application>div .folder .top { + left: 0; + top: 0; + z-index: 2; + position: absolute; + transform: translateX(var(--fx, 0)); + transition: transform 0.4s ease var(--fd, 0.3s); +} + +.continue-application>div .folder .top svg { + width: 24px; + height: 27px; + display: block; + fill: var(--folder); + transform-origin: 0 50%; + transition: transform 0.3s ease var(--fds, 0.45s); + transform: perspective(120px) rotateY(var(--fr, 0deg)); +} + +.continue-application>div .folder:before, +.continue-application>div .folder:after, +.continue-application>div .folder .paper { + content: ""; + position: absolute; + left: var(--l, 0); + top: var(--t, 0); + width: var(--w, 100%); + height: var(--h, 100%); + border-radius: 1px; + background: var(--b, var(--folder-inner)); +} + +.continue-application>div .folder:before { + box-shadow: 0 1.5px 3px var(--shadow), 0 2.5px 5px var(--shadow), 0 3.5px 7px var(--shadow); + transform: translateX(var(--fx, 0)); + transition: transform 0.4s ease var(--fd, 0.3s); +} + +.continue-application>div .folder:after, +.continue-application>div .folder .paper { + --l: 1px; + --t: 1px; + --w: 21px; + --h: 25px; + --b: var(--paper-behind); +} + +.continue-application>div .folder:after { + transform: translate(var(--pbx, 0), var(--pby, 0)); + transition: transform 0.4s ease var(--pbd, 0s); +} + +.continue-application>div .folder .paper { + z-index: 1; + --b: var(--paper); +} + +.continue-application>div .folder .paper:before, +.continue-application>div .folder .paper:after { + content: ""; + width: var(--wp, 14px); + height: 2px; + border-radius: 1px; + transform: scaleY(0.5); + left: 3px; + top: var(--tp, 3px); + position: absolute; + background: var(--paper-lines); + box-shadow: 0 12px 0 0 var(--paper-lines), 0 24px 0 0 var(--paper-lines); +} + +.continue-application>div .folder .paper:after { + --tp: 6px; + --wp: 10px; +} + +.continue-application>div .pencil { + height: 2px; + width: 3px; + border-radius: 1px 1px 0 0; + top: 8px; + left: 105%; + position: absolute; + z-index: 3; + transform-origin: 50% 19px; + background: var(--pencil-cap); + transform: translateX(var(--pex, 0)) rotate(35deg); + transition: transform 0.4s ease var(--pbd, 0s); +} + +.continue-application>div .pencil:before, +.continue-application>div .pencil:after { + content: ""; + position: absolute; + display: block; + background: var(--b, linear-gradient(var(--pencil-top) 55%, var(--pencil-middle) 55.1%, var(--pencil-middle) 60%, var(--pencil-bottom) 60.1%)); + width: var(--w, 5px); + height: var(--h, 20px); + border-radius: var(--br, 2px 2px 0 0); + top: var(--t, 2px); + left: var(--l, -1px); +} + +.continue-application>div .pencil:before { + -webkit-clip-path: polygon(0 5%, 5px 5%, 5px 17px, 50% 20px, 0 17px); + clip-path: polygon(0 5%, 5px 5%, 5px 17px, 50% 20px, 0 17px); +} + +.continue-application>div .pencil:after { + --b: none; + --w: 3px; + --h: 6px; + --br: 0 2px 1px 0; + --t: 3px; + --l: 3px; + border-top: 1px solid var(--pencil-top); + border-right: 1px solid var(--pencil-top); +} + +.continue-application:before, +.continue-application:after { + content: ""; + position: absolute; + width: 10px; + height: 2px; + border-radius: 1px; + background: var(--color); + transform-origin: 9px 1px; + transform: translateX(var(--cx, 0)) scale(0.5) rotate(var(--r, -45deg)); + top: 26px; + right: 16px; + transition: transform 0.3s; +} + +.continue-application:after { + --r: 45deg; +} + +.continue-application:hover { + --cx: 2px; + --bg: var(--background-hover); + --fx: -40px; + --fr: -60deg; + --fd: .15s; + --fds: 0s; + --pbx: 3px; + --pby: -3px; + --pbd: .15s; + --pex: -24px; } \ No newline at end of file diff --git a/TEXTREADING/readingWelcome/readingWelcomeNav.css b/TEXTREADING/readingWelcome/readingWelcomeNav.css index 72ae52b..2a4c488 100644 --- a/TEXTREADING/readingWelcome/readingWelcomeNav.css +++ b/TEXTREADING/readingWelcome/readingWelcomeNav.css @@ -14,7 +14,7 @@ height: 70vh; /* 设置高度的百分比 */ background-color: #7D99BF; - z-index: 2; + z-index: 20; top: 0; bottom: 0; left: 10px; diff --git a/static/1.png b/static/1.png deleted file mode 100644 index f5b6eab..0000000 Binary files a/static/1.png and /dev/null differ diff --git a/static/an.jpg b/static/an.jpg deleted file mode 100644 index 8858300..0000000 Binary files a/static/an.jpg and /dev/null differ diff --git a/static/anvi.png b/static/anvi.png deleted file mode 100644 index e5eeb21..0000000 Binary files a/static/anvi.png and /dev/null differ diff --git a/static/base.css b/static/base.css deleted file mode 100644 index 4c5eeb1..0000000 --- a/static/base.css +++ /dev/null @@ -1,123 +0,0 @@ -@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap"); - -body { - font-family: Arial, sans-serif; - } - - .navigation { - margin: -5px auto 0; - width: 100%; - background-color: transparsent; - height: 300px; - border-radius: 20px; - background-image: url("./anvi.png"); - background-attachment: fixed; - background-size: 100%; - background-repeat: no-repeat; - overflow: hidden; - color: #fff; -} - - .search-container { - display: flex; - justify-content: center; /* 在水平方向上居中 */ - align-items: center; /* 在垂直方向上居中 */ - margin-top: 20px; /* 调整搜索栏距离上方的间距,根据需要调整 */ - } - - .search-box { - position: relative; - border: 1px solid #ccc; - padding: 20px; - width: 65%; - left:5%; - border-radius: 40px; - font-size: 20px; - background-image: linear-gradient(to right, transparent 15%, #ccc 15%, #ccc 85%, transparent 85%), linear-gradient(to right, transparent 15%, #ccc 15%, #ccc 85%, transparent 85%); - background-size: 10px 100%, 10px 100%; - background-position: 5% center; - } - .magnifying-glass { - background-image: url('data:image/svg+xml;utf8,'); - background-repeat: no-repeat; - background-position: 10px center; - padding-left: 50px; - background-size: 6%; - } - - - .search-button { - background-color: #ffffff; - color: #11396E; - padding: 10px 20px; - margin-left: 10px; - border: none; - border-radius: 5px; - cursor: pointer; - font-weight: bold; - width: 150px; - height:50px; - font-size: 20px; - } - - .search-button:hover { - background-color: #F4D690; - color:#fdfbe3; - } - - -.content { - padding: 30px; -} - -.post { - background-color: #ffffff; - border-radius: 20px; - padding: 20px; - width: 70%; - height: 100px; - left: 20%; - position: relative; - overflow: hidden; - outline: 2px solid #154360; - margin-bottom: 20px; -} - -.post::before { - content: ""; - position: absolute; - top: 0; - left: 0; - width: var(--arc-size, 30px); - height: var(--arc-size, 30px); - background-color: #154360; - border-radius: 0 0 10px 0; -} - -.post h2 { - margin: 0; - margin-left: 40px; -} -.post p { - margin: 5px 0 0 0; - margin-left: 40px; -} -.pagination { - position: fixed; - bottom: 0; - width: 100%; - background-color: transparent; - padding: 10px; - display: flex; - justify-content: space-between; -} - -.pagination button { - padding: 10px 15px; - border: none; - background-color: rgba(0, 0, 0, 0.15); - color: white; - font-size: 30px; - cursor: pointer; - border-radius: 50%; -} diff --git a/static/bg.jpg b/static/bg.jpg deleted file mode 100644 index bb4fb96..0000000 Binary files a/static/bg.jpg and /dev/null differ diff --git a/static/cet4.jpg b/static/cet4.jpg deleted file mode 100644 index afc4c27..0000000 Binary files a/static/cet4.jpg and /dev/null differ diff --git a/static/cet6.jpg b/static/cet6.jpg deleted file mode 100644 index a9cb49b..0000000 Binary files a/static/cet6.jpg and /dev/null differ diff --git a/static/edit_container_bg.jpg b/static/edit_container_bg.jpg deleted file mode 100644 index 768f58e..0000000 Binary files a/static/edit_container_bg.jpg and /dev/null differ diff --git a/static/forum.png b/static/forum.png deleted file mode 100644 index c97738f..0000000 Binary files a/static/forum.png and /dev/null differ diff --git a/static/home.css b/static/home.css deleted file mode 100644 index 14ec35f..0000000 --- a/static/home.css +++ /dev/null @@ -1,144 +0,0 @@ -@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap"); - -body { - font-family: Arial, sans-serif; - } - - .header { - background-color: #11396E; - padding: 20px; - display: flex; - justify-content: space-between; - align-items: center; - } - .logo{ - font-size: 2em; - color: #fdfbe3; - user-select: none; - margin-left: 20px; - } - .search-container { - display: flex; - align-items: center; - } - - .search-box { - border: 1px solid #ccc; - padding: 20px; - width: 450px; - border-radius: 40px; - font-size: 20px; - background-image: linear-gradient(to right, transparent 15%, #ccc 15%, #ccc 85%, transparent 85%), linear-gradient(to right, transparent 15%, #ccc 15%, #ccc 85%, transparent 85%); - background-size: 10px 100%, 10px 100%; - background-position: 5% center; - } - - .magnifying-glass { - background-image: url('data:image/svg+xml;utf8,'); - background-repeat: no-repeat; - background-position: 9px center; - padding-left: 50px; - background-size: 10%; - } - - - .search-button { - background-color: #ffffff; - color: #11396E; - padding: 10px 20px; - margin-left: 10px; - border: none; - border-radius: 5px; - cursor: pointer; - font-weight: bold; - width: 150px; - height:50px; - font-size: 20px; - } - - .search-button:hover { - background-color: #F4D690; - color:#fdfbe3; - } - - .card-container { - display: flex; - justify-content: space-around; - margin-top: 50px; - } - .user-avatar { - width: 65px; - height: 65px; - border-radius: 50%; - margin-top: 50px; - box-shadow: 0 0 0 2px white; - } - .card { - border: 2px solid #11396E; - padding: 15px; - width: 390px; - height: 500px; - text-align: center; - border-radius: 5px; - margin-top: 30px; - position: relative; /* 添加相对定位 */ - overflow: hidden; /* 隐藏溢出内容 */ -} - -.card:hover::before { - content: ""; - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - background-color: rgba(240, 234, 234, 0.3); /* 半透明黑色蒙版 */ - z-index: 1; /* 确保蒙版在内容之上 */ -} - -.card-title { - color: #11396E; - font-weight: bold; - margin-bottom: 20px; - position: absolute; - top: 10%; - left: 50%; - transform: translate(-50%, -50%); - font-size: 35px; /* 文字变大 */ - transition: all 0.3s; /* 添加过渡效果 */ -} - -.card:hover .card-title { - color: #c1dcff; - top: 50%; /* 鼠标移开后文字回到卡片的最上方 */ - font-size: 40px; /* 文字大小恢复 */ -} - - .card.word { - background-color: #e6f2ff; - background-image: url('word.png'); - background-size: cover; - } - - .card.read { - background-color: #fff2e6; - background-image: url('read.png'); - background-size: cover; - } - - .card.forum { - background-color: #fffde6; - background-image: url('forum.png'); - background-size: cover; - } -.card.word .card-title { - color: #5967ed; /* 设置.word类型卡片标题颜色为橙色 */ -} - -.card.read .card-title { - color: #b53238; /* 设置.read类型卡片标题颜色为蓝色 */ -} - -.card.forum .card-title { - color: #fbe9b7; /* 设置.forum类型卡片标题颜色为绿色 */ -} diff --git a/static/login.css b/static/login.css deleted file mode 100644 index d7851f9..0000000 --- a/static/login.css +++ /dev/null @@ -1,158 +0,0 @@ -@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap"); - -* { - margin: 0; - padding: 0; - box-sizing: border-box; - font-family: "Poppins", sans-serif; -} - - -body { - height: 100vh; - display: flex; - align-items: center; - justify-content: center; - background: url(login_bg.jpg); - background-position: center; - background-size: cover; -} - -/*********************************************************/ -header { - position: fixed; - top: 0; - left: 0; - width: 100%; - padding: 20px 100px; - display: flex; - justify-content: space-between; - align-items: center; - z-index: 99; -} - -.logo{ - font-size: 2em; - color: #fdfbe3; - user-select: none; - -} - -.navigation a{ - position: relative; - font-size: 1.1em; - color: #fdfbe3; - text-decoration: none; - font-weight: 500; - margin-left: 40px; -} - -.navigation a::after{ - content: ''; - position: absolute; - left: 0; - bottom: -6px; - width: 100%; - height: 3px; - background: #000000; - transform-origin: right; - transform: scaleX(0); - transition: tranform 0.5s; -} - -.navigation a:hover::after { - transform: scaleX(1); -} - - -/**********************/ - -.form{ - position: relative; - padding: 40px 30px; - background-color: rgba(222, 217, 217, 0.35); - box-shadow: 0 0 10px ; - border-radius: 20px; -} - -.form h2, p, .checkbox-content label, .input-field ::placeholder{ - color: rgb(255, 255, 255); -} - -.form a{ - color: rgb(255, 255, 255); -} - -.input-field { - position: relative; - height: 50px; - width: 100%; - margin-top: 30px; -} - - -.input-field input { - position: absolute; - height: 100%; - width: 100%; - padding: 0 35px; - border: none; - outline: none; - font-size: 16px; - border-bottom: 2px solid #dededeef; - border-top: 2px solid transparent; - transition: all 0.2s ease; - color: #ffffff; -} - - - -input[type="text"], input[type="password"] { - background-color: transparent; -} - - - -.input-field i { - position: absolute; - top: 50%; - transform: translateY(-50%); - color: #ffffff; - font-size: 23px; - transition: all 0.2s ease; -} - -.input-field i.showHidePassword { - right: 0; - cursor: pointer; - padding: 10px; -} - -.form .checkbox-text { - display: flex; - align-items: center; - justify-content: space-between; - margin-top: 20px; -} - -.form .button button { - height: 50px; - width: 350px; - display: block; - margin-right: auto; - margin-left: auto; - align-items: center; - border: none; - color: rgb(255,255,255); - font-size: 16px; - font-weight: bold; - letter-spacing: 1px; - border-radius: 6px; - background-color: #F4D690; - cursor: pointer; - transition: all 0.3s ease; -} - -.button button:hover { - background-color: #EAAD66; -} \ No newline at end of file diff --git a/static/login_bg.jpg b/static/login_bg.jpg deleted file mode 100644 index 9cb950c..0000000 Binary files a/static/login_bg.jpg and /dev/null differ diff --git a/static/personal.css b/static/personal.css deleted file mode 100644 index 5bb1824..0000000 --- a/static/personal.css +++ /dev/null @@ -1,498 +0,0 @@ -:root { - /* 默认背景色 */ - --backColor: #fff; - --borderline: #253250; - /* 卡片 */ - --headerColor: #253250; - /* 卡片 */ - --headerhover: #a7b1ce; - - /* 默认字体颜色 */ - --headerFont: #fff; - /* 反差色 */ - --fontColor: #00283A; - --mainColor: #8ea2c5; - --bagColor: #8ea2c5; - - /* 个人信息 */ - --infoColor: #7b849f; -} - - - -body { - position: relative; - margin: 0px; - width: 100%; - padding: 0px; - font-size: 20px; - letter-spacing: 2px; - transition: .4s ease-in-out; - font-weight: 400; - font-family: Arial, Helvetica, sans-serif; - color: var(--headerFont); - background-color: var(--bagColor); -} - -a { - transition: color .6s ease-in-out; - text-decoration: none; - color: inherit; -} - -ul { - list-style: none; - margin: 0px; - padding: 0px; -} - -ul>li { - display: inline-block; -} - -img { - width: 100%; - height: 100%; - vertical-align: middle; -} - - - -.init-margin { - height: 20px; -} - -.navigation { - margin: -5px auto 0; - width: 100%; - background-color: transparent; - height: 300px; - border-radius: 20px; - background-image: url("./an.jpg"); - background-attachment: fixed; - background-size: 100%; - background-repeat: no-repeat; - overflow: hidden; - color: #fff; -} - -.navigation h1 { - margin: 8px 0; - font-size: 3.8rem; - color: #fcfcfe; - text-shadow: 0 1px 10px rgb(0 0 0 / 30%); -} - -.navigation .buttom:hover { - transform: scale(1.1); - color: #fff; -} - -.navigation>.nav-titleBox { - margin-top: 18rem; -} - -.nav-titleBox .buttom { - display: inline-block; - height: 28px; - line-height: 28px; - padding: 0px 35px 0 20px; - border: 3px solid white; - border-radius: 15px; - cursor: pointer; - transition: transform .3s ease; - color: #fcfcfe; - position: relative; -} - -.nav-titleBox .buttom::after { - position: absolute; - right: 10px; - top: 50%; - content: ''; - width: 0px; - height: 0px; - border-top: 4px solid transparent; - border-left: 8px solid #fff; - border-bottom: 4px solid transparent; - animation: bmove 1s infinite; -} - -@keyframes bmove { - 0% { - opacity: 1; - transform: translateX(-8px) translateY(-50%); - } - - 100% { - opacity: 0; - transform: translateX(5px) translateY(-50%); - } -} - -/* 内容 */ -.co-left { - width: 35%; - display: inline-block; - height: 50px; -} - -.co-right { - width: 64%; - display: inline-block; - min-height: 50px; -} - -.co { - width: 70%; - margin: 0 auto; -} - -.carbox { - background-color: var(--headerColor); - border-radius: 12px; - box-shadow: 0 2px 4px -2px rgb(0 0 0 / 15%); -} - -.content-li { - margin-right: 50px; -} - -.time-tags { - padding: 20px; -} - -.content .me-card { - width: fit-content; - min-width: 300px; - transform: translateY(-351px); - height: 700px; - border-radius: 20px; - text-align: center; - border: 1px solid var(--headerColor); - padding: 0px 30px; -} - -/* 左边卡片位置固定 */ -.me-card { - position: fixed; - top: 50%; - left: 5%; -} - -.mecar-title { - margin-top: 40px; -} - -.mecar-title .me-image { - position: relative; - display: inline-block; -} - -.me-image>img { - width: 100px; - height: 100px; - border: solid 3px #FCFCFE; - border-radius: 50%; - box-shadow: 0 2px 4px -2px rgb(0 0 0 / 15%); -} - -.mecar-title .me-image>.status { - font-size: 15px; - height: 20px; - width: 20px; - box-shadow: 0 2px 4px -2px rgb(0 0 0 / 15%); - border-radius: 50%; - position: absolute; - border: solid 3px #FCFCFE; - right: 0px; - bottom: 0px; - background-color: var(--mainColor); - overflow: hidden; - color: #fff; - transition: width .2s ease-in-out, visible .2s ease-in-out; -} - -.mecar-title .me-image:hover .status { - width: 100px; - border-radius: 20px; -} - -.mecar-title .me-image:hover .status i { - width: 0%; - visibility: hidden; -} - -.mecar-title .me-image:hover .status i { - width: 100%; - visibility: visible; -} - -.mecar-bottm>div { - display: flex; - justify-content: space-between; - height: 25px; - line-height: 25px; -} - -.mecar-bottm .mecarbottm-key { - font-weight: 500; -} - -.mecar-bottm .mecarbottm-value { - font-weight: 500; - color: var(--infoColor); -} - -.me-hover span { - margin: 0 auto; - display: block; - font-size: 17px; - border-right: .08em solid; - /* 字符个数*2ch */ - width: 12ch; - white-space: nowrap; - overflow: hidden; - animation: typing 3s steps(28, end), blink-caret .3s step-end infinite alternate; -} - -@keyframes typing { - from { - width: 0; - } -} - -@keyframes blink-caret { - 50% { - border-color: transparent; - } -} -.me-card .button-box { - display: flex; /* 将按钮容器设置为Flex容器 */ - justify-content: center; /* 水平居中对齐按钮 */ -} - -.me-card .button { - display: inline-block; /* 将按钮设置为内联块元素 */ - margin: 0 10px; /* 调整按钮之间的间距 */ - border: none; - height: 40px; - line-height: 40px; - width: 100px; - color: var(--headerFont); - border-radius: 50px; - background: linear-gradient(-45deg, var(--mainColor) 50%, #fff 60%, var(--mainColor) 70%); - background-size: 600% 100%; - animation: shine 5s infinite; - font-size: 18px; -} - - -@keyframes shine { - 0% { - background-position-x: 100%; - } - - 50% { - background-position-x: 0%; - } - - 100% { - background-position-x: -100%; - } -} -.calendar-wrapper { - position: fixed; - left: 73%; /* 50% 代表水平居中 */ - top: 83%; /* 50% 代表垂直居中 */ - transform: translate(-50%, -50%); /* 使其相对于自身宽度和高度居中 */ - z-index: 1; - } - - .calendar { - position: relative; - width: 150px; - height: 150px; - background-color: rgba(180, 210, 239, 1); - display: flex; - align-items: center; - justify-content: center; - border-radius: 10px; - } - - .left, .right { - height: 100%; - display: flex; - justify-content: center; - align-items: center; - flex-direction: column; - } - - .right { - width: 48%; - background-color: rgb(69, 101, 175); - color: white; - border-top-right-radius: 10px; - border-bottom-right-radius: 10px; - font-weight: bold; - font-size: 17px; - } - - .left { - font-size: 17px; - line-height: 10px; - width: 58%; - color: #154360; - font-weight: bold; - } - - #date { - font-size: 17px; - line-height: 1px; - font-weight: bold; - } - .word-box { - display: flex; - flex-direction: column; - align-items: flex-start; /* 将内容对齐到左端 */ - justify-content: center; - width: 130px; - height: 120px; - border-radius: 15px; - padding: 10px; /* 添加内边距 */ - position:relative; - top:15px; - left:-10px; - } - - .icon-container { - display: flex; - align-items: center; - margin-bottom: 25px; /* 增加两行之间的间距 */ - } - - .icon-container:last-child { - margin-bottom: 0; /* 移除最后一个元素的下边距 */ - } - - .fa-pen { - font-size: 20px; /* 调整图标大小 */ - color: rgb(203, 214, 247); /* 调整纸笔图标颜色为白色 */ - margin-right: 7px; /* 图标和文本之间的间距 */ - } - - .fa-star { - font-size: 20px; /* 调整图标大小 */ - color: gold; /* 调整星星图标颜色 */ - margin-right: 7px; /* 图标和文本之间的间距 */ - } - .star-count { - font-size: 24px; - font-weight: bold; - color: gold; - margin-left:8px; - } - .word-count { - font-size: 24px; - font-weight: bold; - color: rgb(203, 214, 247); - margin-left:8px; - } - - .word-label { - font-size: 15px; - color: #ffffff; - font-weight: bold; - margin-left:7px; /* 调整图标和文本之间的间距 */ - } - - -/* 虚线 */ -.content .borderbotm { - border-bottom: 1px dashed rgb(187, 185, 185); - height: 0px; - margin: 35px 0; -} - -/* 虚线美化*/ -.content-li>h3 { - display: flex; - align-items: center; - color: var(--headerFont); -} - -.content-li .borderbotm { - flex: 1; - margin-left: 20px; - margin-right: 20px; -} -.heatmap-item { - height: 20px; - background-color: var(--heatmapColor); - margin-bottom: 5px; -} -/* 置顶层 */ -.zz { - position: relative; - z-index: 1; -} - -canvas { - position: fixed; - width: 100%; - height: 100%; -} - -.top-bar { - position: fixed; - top: 0; - left: 0; - width: 100%; - height: 40px; /* 设置栏的高度 */ - background-color: #6080c7;; /* 设置栏的背景颜色 */ - z-index: 1; /* 确保栏在其他内容上方显示 */ -} - -.post { - background-color: #ffffff; - border-radius: 20px; - padding: 20px; - width: 63%; - height: 60px; - left: 32%; - position: relative; - overflow: hidden; - outline: 2px solid #154360; - margin-bottom: 20px; -} - -.post::before { - content: ""; - position: absolute; - top: 0; - left: 0; - width: var(--arc-size, 30px); - height: var(--arc-size, 30px); - background-color: #154360; - border-radius: 0 0 10px 0; -} - -.post-title { - color: #d77474; - font-weight: bold; - font-size: 18px; - margin-left: 40px; - line-height: 30px; - position: absolute; - top: 10px; /* 调整标题在伪元素内的垂直位置 */ - left: 10px; /* 调整标题在伪元素内的水平位置 */ - z-index: 1; -} - - - - - - - - diff --git a/static/read.png b/static/read.png deleted file mode 100644 index 62b4eeb..0000000 Binary files a/static/read.png and /dev/null differ diff --git a/static/readingWelcomeNav.css b/static/readingWelcomeNav.css deleted file mode 100644 index 72ae52b..0000000 --- a/static/readingWelcomeNav.css +++ /dev/null @@ -1,275 +0,0 @@ -* { - margin: 0; - padding: 0; - box-sizing: border-box; -} - -.iconfont { - font-size: 20px; -} - -.menu { - position: fixed; - width: 60px; - height: 70vh; - /* 设置高度的百分比 */ - background-color: #7D99BF; - z-index: 2; - top: 0; - bottom: 0; - left: 10px; - margin: auto; - border-radius: 0.8rem; - transition: 0.3s ease 0.15s; - font-family: sans-serif; - display: flex; - /* 设置为弹性布局 */ - flex-direction: column; - /* 设置主轴为垂直方向 */ -} - -.menu a { - text-decoration: none; -} - -.menu .actionsBar { - width: 100%; - height: 10%; - padding: 0.5rem; - overflow: hidden; -} - -.menu .actionsBar div { - width: 100%; - height: 100%; - display: flex; - align-items: center; - justify-content: space-around; - border-radius: 0.5rem; - transition: 0.3s ease; -} - -.menu .actionsBar div button { - background-color: transparent; - outline: none; - border: none; - border-radius: 0.5rem; - color: #fff; - width: 45px; - height: 45px; - transition: 0.3s ease; - font-size: 1rem; -} - -.menu .actionsBar div button:hover { - background-color: #A8B7CA; -} - -.menu .actionsBar div h3 { - width: calc(100% - 45px); - text-align: center; -} - -.menu .optionsBar { - overflow: hidden; - display: flex; - width: 100%; - height: 60%; - padding: 0 0.5rem; - align-items: center; - flex-direction: column; -} - -.menu .optionsBar .menuItem { - width: 100%; - height: 45px; - margin: 0.3rem; -} - -.menu .optionsBar .menuItem .menuOption { - font-size: 1rem; - outline: none; - border: none; - background-color: transparent; - width: 100%; - height: 100%; - display: flex; - align-items: center; - justify-content: space-around; - border-radius: 0.5rem; - transition: 0.3s ease; -} - -.menu .optionsBar .menuItem .menuOption:hover { - background-color: #A8B7CA; -} - -.menu .optionsBar .menuItem .menuOption i { - width: 45px; - text-align: center; - color: #fff; -} - -.menu .optionsBar .menuItem .menuOption h5 { - width: calc(100% - 45px); -} - -.menu .optionsBar .menuItem .menuOption .iconstyle { - font-size: 20px; -} - -.menuText { - color: rgba(255, 255, 255, 0.8); - transform: translateX(-250px); - opacity: 0; - transition: transform 0.3s ease 0.1s; - font-size: 15px; - text-align: center; -} - -.menu .about { - width: 100%; - height: 10%; - display: flex; - align-items: center; - justify-content: flex-end; - padding: 1rem; - flex-direction: column; - font-family: sans-serif; - opacity: 0; - white-space: nowrap; - transition: 0.3s ease 0.15s; -} - -.menu.open { - width: 240px; -} - -.menuText.open2 { - opacity: 1; - transform: translateX(0); -} - -.menu .menuBreak { - width: 100%; - height: 10px; - display: flex; - align-items: center; - justify-content: center; -} - -.menu .menuBreak hr { - width: 70%; - height: 3px; - background-color: #fff; - border: none; - border-radius: 5px; -} - -.menu .themeBar { - overflow: hidden; - width: 100%; - height: 10%; - padding: 0.5rem; -} - -.menu .themeBar div { - width: 100%; - height: 100%; - display: flex; - align-items: center; - justify-content: space-around; - border-radius: 0.5rem; - transition: 0.3s ease; -} - -.menu .themeBar div button { - background-color: transparent; - outline: none; - border: none; - border-radius: 0.5rem; - color: #fff; - width: 100%; - height: 45px; - transition: 0.3s ease; - font-size: 1rem; -} - -.menu .themeBar div button:hover { - background-color: #A8B7CA; -} - -.menu .menuUser { - width: 100%; - height: 10%; -} - -.menu .menuUser a { - width: 100%; - height: 100%; - display: flex; - align-items: center; - justify-content: space-between; - text-decoration: none; - padding: 0.5rem; - position: relative; -} - -.menu .menuUser a div { - width: 45px; - height: 45px; - position: relative; - border-radius: 0.5rem; -} - -.menu .menuUser a div img { - width: 100%; - height: 100%; - object-fit: cover; - border-radius: 0.5rem; -} - -.menu .menuUser a .Username { - width: calc(70% - 45px); -} - -.menu .menuUser a p { - width: calc(30% - 45px); -} - -.menu .menuUser a:hover p { - animation: animArrow 0.3s ease 2; -} - -@keyframes animArrow { - 0% { - transform: translateX(0); - } - - 50% { - transform: translateX(5px); - } - - 100% { - transform: translateX(0); - } -} - -.menu .menuUser .userInfo { - position: absolute; - width: 20rem; - height: 18rem; - opacity: 0; - pointer-events: none; - top: 34%; - left: 1.5rem; - transition: 0.3s ease; - transform: scale(0); - transform-origin: bottom left; -} - -.menu .menuUser:hover .userInfo { - pointer-events: all; - opacity: 1; - transform: scale(1); -} \ No newline at end of file diff --git a/static/readingWelcomeNav.js b/static/readingWelcomeNav.js deleted file mode 100644 index ca98f84..0000000 --- a/static/readingWelcomeNav.js +++ /dev/null @@ -1,11 +0,0 @@ -const menuBtn = document.getElementById('menuBtn'); -const menu = document.querySelector('.menu'); -const menuText = document.querySelectorAll('.menuText'); -menuBtn.addEventListener('click', () => { - menu.classList.toggle('open'); - menuText.forEach(function (text, index) { - setTimeout(() => { - text.classList.toggle('open2'); - }, index * 50); - }); -}); \ No newline at end of file diff --git a/static/toefl.jpg b/static/toefl.jpg deleted file mode 100644 index 782ce5d..0000000 Binary files a/static/toefl.jpg and /dev/null differ diff --git a/static/upload.css b/static/upload.css deleted file mode 100644 index 8582fa7..0000000 --- a/static/upload.css +++ /dev/null @@ -1,215 +0,0 @@ -@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap"); - -body { - font-family: Arial, sans-serif; - } - - .header { - background-color: #11396E; - padding: 20px; - display: flex; - justify-content: space-between; - align-items: center; - } - .logo{ - font-size: 2em; - color: #fdfbe3; - user-select: none; - margin-left: 20px; - } - .search-container { - display: flex; - align-items: center; - } - - .search-box { - border: 1px solid #ccc; - padding: 20px; - width: 450px; - border-radius: 40px; - font-size: 20px; - background-image: linear-gradient(to right, transparent 15%, #ccc 15%, #ccc 85%, transparent 85%), linear-gradient(to right, transparent 15%, #ccc 15%, #ccc 85%, transparent 85%); - background-size: 10px 100%, 10px 100%; - background-position: 5% center; - } - - .magnifying-glass { - background-image: url('data:image/svg+xml;utf8,'); - background-repeat: no-repeat; - background-position: 9px center; - padding-left: 50px; - background-size: 10%; - } - - - .search-button { - background-color: #ffffff; - color: #11396E; - padding: 10px 20px; - margin-left: 10px; - border: none; - border-radius: 5px; - cursor: pointer; - font-weight: bold; - width: 150px; - height:50px; - font-size: 20px; - } - - .search-button:hover { - background-color: #F4D690; - color:#fdfbe3; - } - - .card-container { - display: flex; - justify-content: space-around; - margin-top: 50px; - } - .user-avatar { - width: 65px; - height: 65px; - border-radius: 50%; - margin-top: 50px; - box-shadow: 0 0 0 2px white; - } - .editor-container { - margin-top: 50px; - margin-left: 50px; - width: 90%; - height:500px; - padding: 10px; - background-image: url('edit_container_bg.jpg'); /* 设置背景图片 */ - background-size: cover; /* 背景图片铺满容器 */ - background-repeat: no-repeat; /* 背景图片不重复 */ - border-radius: 40px; - position: relative; - border: 4px solid transparent; - transition: border-color 0.3s; -} -.editor-container.show-background::before { - content: ""; - position: absolute; - top: -10px; - left: -10px; - right: -10px; - bottom: -10px; - background: linear-gradient(45deg, #F4D690, #0083b0, #00b4db); /* 蓝绿白渐变色效果 */ - border-radius: 40px; /* 设置圆角半径为30px */ - z-index: -1; /* 将伪元素置于实际内容的后面 */ -} - -.editor-section { - margin-top: 15px; - margin-left:55px; - font-weight: bolder; - font-family: 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif; - color: #fdfbe3; - width: 90%; /* 设置宽度为90% */ - display: flex; - align-items: center; -} - -.input-label { - margin-right: 10px; - font-size: 18px; /* 调整字体大小 */ -} - -.editor-input, .file-content { - margin-left:55px; - height:25px; - width: 90%; /* 设置宽度为100% */ -} - -.file-content { - margin-top:10px; - margin-left:55px; - height: 300px; /* 调整高度 */ - resize: vertical; /* 允许垂直调整大小 */ -} - .post-title { - text-align: center; - width: 80%; /* 扩宽标题区域 */ - margin: 0 auto; /* 居中标题区域 */ - font-weight: bolder; - font-size:25px; - font-family: 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif; - color: #fdfbe3; - margin-top:20px; - margin-bottom: 20px; -} - .discription{ - color:#fdfbe3; - text-align: center; - } - .content-container { - position: relative; /* 相对于背景容器定位 */ - z-index: 1; /* 确保内容在背景图片上方 */ - padding: 20px; /* 添加一些内边距以防止内容紧贴边缘 */ - } - .background-container { - /* 为元素设置宽度、高度和其他样式 */ - position: relative; - width: 100%; - height: 200%; /* 示例高度 */ - } - .upload-button { - margin-left:17px; - margin-top: 17px; - font-size:15px; - font-weight: bold; /* 设置文字粗细为粗体 */ - color:#11396E; - text-align: center; - width: 10%; - border-radius: 20px; /* 设置圆角半径为按钮高度的一半,可根据需要调整 */ - background-color: #ffffff; /* 设置背景颜色为白色 */ - padding: 10px 20px; /* 设置内边距 */ - border: 1px solid #ffffff; /* 设置边框为白色,与背景色相同,看起来就像是圆角矩形 */ -} -.upload-button:hover { - background-color: #abb7ca; /* 设置鼠标悬停时的背景颜色 */ - color: #ffffff;/* 设置鼠标悬停时的文字颜色 */ -} -.upload-image-button { - margin-left:17px; - margin-top: 17px; - font-size:15px; - font-weight: bold; /* 设置文字粗细为粗体 */ - color:#11396E; - text-align: center; - width: 10%; - border-radius: 20px; /* 设置圆角半径为按钮高度的一半,可根据需要调整 */ - background-color: #ffffff; /* 设置背景颜色为白色 */ - padding: 10px 20px; /* 设置内边距 */ - border: 1px solid #ffffff; /* 设置边框为白色,与背景色相同,看起来就像是圆角矩形 */ -} - -.upload-image-button img { - margin-right: 5px; -} -#uploadedImage { - max-width: 50px; /* 设置图片最大宽度为50px */ - max-height: 50px; /* 设置图片最大高度为50px */ - margin-left:10px; - margin-top:10px; - box-shadow: 0 0 0 2px white;/* 添加5px的内边距,即白边 */ -} -.modal { - position: fixed; - top: 0; - left: 0; - width: 100%; - height: 100%; - background-color: rgba(0, 0, 0, 0.8); - display: flex; - justify-content: center; - align-items: center; - z-index: 9999; -} - -.enlarged-image { - max-width: 90%; - max-height: 90%; - box-shadow: 0 0 20px rgba(0, 0, 0, 0.5); - cursor: zoom-out; -} \ No newline at end of file diff --git a/static/user.jpg b/static/user.jpg deleted file mode 100644 index fe7a57b..0000000 Binary files a/static/user.jpg and /dev/null differ diff --git a/static/word.png b/static/word.png deleted file mode 100644 index c7d79a6..0000000 Binary files a/static/word.png and /dev/null differ diff --git a/static/word_book_choose.css b/static/word_book_choose.css deleted file mode 100644 index e9c5ee7..0000000 --- a/static/word_book_choose.css +++ /dev/null @@ -1,160 +0,0 @@ -@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap"); - -body { - font-family: Arial, sans-serif; - } - - .header { - background-color: #11396E; - padding: 20px; - display: flex; - justify-content: space-between; - align-items: center; - } - .logo{ - font-size: 2em; - color: #fdfbe3; - user-select: none; - margin-left: 20px; - } - .search-container { - display: flex; - align-items: center; - } - - .search-box { - border: 1px solid #ccc; - padding: 20px; - width: 450px; - border-radius: 40px; - font-size: 20px; - background-image: linear-gradient(to right, transparent 15%, #ccc 15%, #ccc 85%, transparent 85%), linear-gradient(to right, transparent 15%, #ccc 15%, #ccc 85%, transparent 85%); - background-size: 10px 100%, 10px 100%; - background-position: 5% center; - } - - .magnifying-glass { - background-image: url('data:image/svg+xml;utf8,'); - background-repeat: no-repeat; - background-position: 9px center; - padding-left: 50px; - background-size: 10%; - } - - - .search-button { - background-color: #ffffff; - color: #11396E; - padding: 10px 20px; - margin-left: 10px; - border: none; - border-radius: 5px; - cursor: pointer; - font-weight: bold; - width: 150px; - height:50px; - font-size: 20px; - } - - .search-button:hover { - background-color: #F4D690; - color:#fdfbe3; - } - - .card-container { - display: flex; - justify-content: space-around; - margin-top: 50px; - } - .user-avatar { - width: 65px; - height: 65px; - border-radius: 50%; - margin-top: 50px; - box-shadow: 0 0 0 2px white; - } - .card { - border: 4px solid #11396E; - padding: 15px; - width: 390px; - height: 500px; - text-align: center; - border-radius: 10px; - margin-top: 30px; - position: relative; /* 添加相对定位 */ - overflow: hidden; /* 隐藏溢出内容 */ - background-size: cover; - transition: box-shadow 0.3s, transform 0.3s; -} - -.card:hover { - box-shadow: 10px 0 20px rgba(0, 0, 0, 0.5); - transform: translateX(10px); -} -.card:hover::before { - opacity: 0; /* 鼠标移入时隐藏 */ -} -.card-text { - position: absolute; - top: 35%; - left: calc(50% - 200px); - width: 400px; - height: 100px; - color: transparent; - font-size: 30px; - font-weight: bold; - text-align: center; - transition: opacity 0.3s; /* 添加过渡效果 */ - opacity: 0; /* 初始状态为可见 */ -} - - -.card-text::before { - content: attr(data-text); - display: block; - position: absolute; - top: 50%; - left: 50%; - transform: translate(-50%, -50%); - color: white; -} - -.card-text::after { - content: ''; - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - background-color: rgba(128, 128, 128, 0.5); - backdrop-filter: blur(10px); - z-index: -1; - opacity: 0; /* 初始状态为隐藏 */ - transition: opacity 0.3s; /* 添加过渡效果 */ -} - -.card:hover .card-text::after { - opacity: 1; /* 鼠标移入时显示毛玻璃效果 */ -} - -.card:hover .card-text { - opacity: 1; /* 鼠标移入时显示文本内容 */ -} - - .card.cet4 { - background-color: #e6f2ff; - background-image: url('cet4.jpg'); - background-size: cover; - } - - .card.cet6 { - background-color: #fff2e6; - background-image: url('cet6.jpg'); - background-size: cover; - } - - .card.toefl { - background-color: #fffde6; - background-image: url('toefl.jpg'); - background-size: cover; - } \ No newline at end of file diff --git a/static/word_learning.css b/static/word_learning.css deleted file mode 100644 index 54b6c5e..0000000 --- a/static/word_learning.css +++ /dev/null @@ -1,186 +0,0 @@ -@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap"); - -body { - font-family: Arial, sans-serif; - } - - .header { - background-color: #11396E; - padding: 20px; - display: flex; - justify-content: space-between; - align-items: center; - } - .logo{ - font-size: 2em; - color: #fdfbe3; - user-select: none; - margin-left: 20px; - } - .search-container { - display: flex; - align-items: center; - } - - .search-box { - border: 1px solid #ccc; - padding: 20px; - width: 450px; - border-radius: 40px; - font-size: 20px; - background-image: linear-gradient(to right, transparent 15%, #ccc 15%, #ccc 85%, transparent 85%), linear-gradient(to right, transparent 15%, #ccc 15%, #ccc 85%, transparent 85%); - background-size: 10px 100%, 10px 100%; - background-position: 5% center; - } - - .magnifying-glass { - background-image: url('data:image/svg+xml;utf8,'); - background-repeat: no-repeat; - background-position: 9px center; - padding-left: 50px; - background-size: 10%; - } - - - .search-button { - background-color: #ffffff; - color: #11396E; - padding: 10px 20px; - margin-left: 10px; - border: none; - border-radius: 5px; - cursor: pointer; - font-weight: bold; - width: 150px; - height:50px; - font-size: 20px; - } - - .search-button:hover { - background-color: #F4D690; - color:#fdfbe3; - } - - .card-container { - display: flex; - justify-content: space-around; - margin-top: 50px; - } - .user-avatar { - width: 65px; - height: 65px; - border-radius: 50%; - margin-top: 50px; - box-shadow: 0 0 0 2px white; - } - .button { - position: fixed; - padding: 10px 20px; - width: 60px; /* 固定按钮宽度 */ - height:30px; - background-color: #11396E; /* 藏青色 */ - color: white; - font-weight: bold; - text-align: center; - border-radius: 10px; - text-decoration: none; - margin-right: 15px; - display: flex; /* 使用 Flex 布局 */ - justify-content: center; /* 水平居中 */ - align-items: center; /* 垂直居中 */ - box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.2); /* 添加阴影效果 */ - transition: all 0.5s; /* 添加过渡效果 */ -} - -.button:hover { - background-color: white; /* 鼠标悬停时背景变为白色 */ - color: #11396E; /* 鼠标悬停时文字颜色变为藏青色 */ - border: 4px solid #11396E; /* 鼠标悬停时边框颜色变为藏青色 */ -} -.button1 { - top: 71%; - left: 5%; -} - -.button2 { - top: 71%; - left: 15%; -} - -.button3 { - top: 71%; - left: 25%; -} - -.left-rectangle { - position: absolute; - top: 35%; - left: 5%; - width: 370px; - height: 250px; - border: 8px solid #11396E; /* 藏青色边框 */ - background-color: white; - border-radius: 20px; /* 圆角半径 */ - box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.2); /* 阴影效果 */ -} -.centered-text { - position: absolute; - top: 55%; - left: 50%; - transform: translate(-50%, -50%); - text-align: center; - color: #11396E; - font-size: 55px; - font-weight: bold; -} -.circle { - position: absolute; - width: 42px; - height: 42px; - border: 8px solid #11396E; /* 藏青色边框 */ - background-color: #11396E; - border-radius: 50%; -} - -.circle:nth-child(1) { - top: 8px; - left: 9px; -} - -.circle:nth-child(2) { - top: 8px; - left: 75px; -} - -.circle:nth-child(3) { - top: 8px; - left: 141px; -} - -.right-rectangle { - position: absolute; - top: 25%; - left:45%; - width: 700px; - height: 550px; - border: 8px solid #11396E; /* 藏青色边框 */ - background-color: white; - border-radius: 20px; /* 圆角半径 */ - box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.2); /* 阴影效果 */ - display: flex; - align-items: center; -} -.scrollable-text { - width: 100%; /* 让文本内容占满父元素宽度 */ - overflow: auto; - padding: 20px; - font-family: Arial, sans-serif; - font-size: 18px; - color: #000000; -} -.highlight { - color: #df6464; /* 设置为红色 */ -} -.example{ - color: #5c5757; -} \ No newline at end of file diff --git a/templates/base.html b/templates/base.html deleted file mode 100644 index 8a2f4f5..0000000 --- a/templates/base.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - - - 论坛首页 - - - - -
- -
- -
-
-

帖子标题 1

-

发帖人: 用户A

-
-
-

帖子标题 2

-

发帖人: 用户B

-
-
-

帖子标题 3

-

发帖人: 用户C

-
-
-

帖子标题 4

-

发帖人: 用户D

-
-
-

帖子标题 5

-

发帖人: 用户E

-
-
-

帖子标题 6

-

发帖人: 用户F

-
-
-

帖子标题 7

-

发帖人: 用户G

-
-
-

帖子标题 8

-

发帖人: 用户H

-
-
-

帖子标题 9

-

发帖人: 用户I

-
-
-

帖子标题 10

-

发帖人: 用户J

-
-
- - - - - - diff --git a/templates/home.html b/templates/home.html deleted file mode 100644 index 1ed6192..0000000 --- a/templates/home.html +++ /dev/null @@ -1,70 +0,0 @@ - - - - - - - - - @Syntax Station Dev Register - - - - -
- - - -
- -
-
- img -
-
- -
-
- 单词背诵 -
-
-
外刊精读
-
-
-
博客论坛
-
-
- - - - \ No newline at end of file diff --git a/templates/login.html b/templates/login.html deleted file mode 100644 index 3c59c74..0000000 --- a/templates/login.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - - - - @Syntax Station Dev Login - - - - -
- - -
- - -
-

Log in

-
-
- - -
-
- - - -
-
- -
- - -
-
- - - - - \ No newline at end of file diff --git a/templates/person.html b/templates/person.html deleted file mode 100644 index 9f6bd91..0000000 --- a/templates/person.html +++ /dev/null @@ -1,289 +0,0 @@ - - - - - - - - - - - To Do List With Local Storage - - Here is Title - - - -
- - -
- - - - -
- -
- -
-
-
- - WordTj - - - img -
-

的个人主页

-

- WordTongji -

-
- -
- -
-
- 性别 - -
-
- 个性签名 - -
-
- -
- -
- 回到主页 - - -
-
-
- - 已背单词 - 100 - -
-
- - 收藏文章 - 100 - -
-
-
-
-
-

01

-

SUnday

-
-
-

January

-

2023

-
-
-
-
- -
-
- -
-
-

帖子标题

-

帖子内容

-
-
-

帖子标题

-

帖子内容

-
-
-

帖子标题

-

帖子内容

-
- - - - - - \ No newline at end of file diff --git a/templates/register.html b/templates/register.html deleted file mode 100644 index be8ac98..0000000 --- a/templates/register.html +++ /dev/null @@ -1,122 +0,0 @@ - - - - - - - - - - @Syntax Station Dev Register - - - - -
- -
- -
-

Register

-
-
- - -
-
- - - -
-
- - - -
-
- -
- -
- - - - - diff --git a/templates/upload.html b/templates/upload.html deleted file mode 100644 index 2f70a4c..0000000 --- a/templates/upload.html +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - Blog Upload - - - - - - - - -
- - - -
- -
-
- img -
-
-
-
-
-
-

帖子发布

-
-
- - -
-
- - -
-
- - - -
-
-
-
- - - - - \ No newline at end of file diff --git a/templates/word_book_choose.html b/templates/word_book_choose.html deleted file mode 100644 index 6c670b1..0000000 --- a/templates/word_book_choose.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - @Syntax Station Dev Register - - - - -
- - - -
- -
-
- img -
-
-
-
-

-
-
-

-
-
-

-
-
- - \ No newline at end of file diff --git a/templates/word_learning.html b/templates/word_learning.html deleted file mode 100644 index 4fd9dc2..0000000 --- a/templates/word_learning.html +++ /dev/null @@ -1,79 +0,0 @@ - - - - - - - - - @Syntax Station Dev Register - - - - -
- - - -
- -
-
- img -
- - -
-
-
-
-
abandon
-
-
- -
- - 不认识 - 不熟 - 认识 - - \ No newline at end of file