Merge branch 'master' of http://182.92.169.222:3000/wangjiadong/knowledge
commit
2e0e7e8261
12 changed files with 874 additions and 207 deletions
@ -1,96 +1,100 @@ |
||||
<template> |
||||
<div class="configuration-page"> |
||||
<el-form :model="form" label-width="auto" style="max-width: 600px"> |
||||
<el-form-item label="LOGO"> |
||||
<my-update v-model="form.logo"></my-update> |
||||
</el-form-item> |
||||
<el-form-item label="项目名称"> |
||||
<el-input v-model="form.name" /> |
||||
</el-form-item> |
||||
<el-form-item label="门户头部宣传大图"> |
||||
<my-update v-model="form.promotionalImages"></my-update> |
||||
</el-form-item> |
||||
<el-form-item label="门户首页"> |
||||
<el-input v-model="form.home" /> |
||||
</el-form-item> |
||||
<el-form-item label="后台登陆首页地址"> |
||||
<el-input v-model="form.loginAddress" /> |
||||
</el-form-item> |
||||
<el-form-item label="系统标题"> |
||||
<el-input v-model="form.title" /> |
||||
</el-form-item> |
||||
<el-form-item label="版权信息"> |
||||
<el-input v-model="form.copyrightInformation" /> |
||||
</el-form-item> |
||||
<el-form-item label="备案号"> |
||||
<el-input v-model="form.recordNumber" /> |
||||
</el-form-item> |
||||
<el-form-item label="备案号信息"> |
||||
<el-input v-model="form.recordInformation" type="textarea" /> |
||||
</el-form-item> |
||||
<el-form-item label="qq"> |
||||
<el-input v-model="form.qqNumber" /> |
||||
</el-form-item> |
||||
<el-form-item label="邮箱"> |
||||
<el-input v-model="form.mailbox" /> |
||||
</el-form-item> |
||||
<el-form-item label="电话"> |
||||
<el-input v-model="form.phone" /> |
||||
</el-form-item> |
||||
<el-form-item label="联系地址"> |
||||
<el-input v-model="form.address" /> |
||||
</el-form-item> |
||||
<el-form-item label="二维码"> |
||||
<my-update v-model="form.qrCode"></my-update> |
||||
</el-form-item> |
||||
<el-form-item> |
||||
<el-button type="primary" @click="onSubmit">保存</el-button> |
||||
</el-form-item> |
||||
</el-form> |
||||
</div> |
||||
<div class="configuration-page"> |
||||
<el-form :model="form" label-width="auto" style="max-width: 600px"> |
||||
<el-form-item label="LOGO"> |
||||
<my-update v-model="form.logo"></my-update> |
||||
</el-form-item> |
||||
<el-form-item label="项目名称"> |
||||
<el-input v-model="form.name" /> |
||||
</el-form-item> |
||||
<el-form-item label="门户头部宣传大图"> |
||||
<my-update v-model="form.promotionalImages"></my-update> |
||||
</el-form-item> |
||||
<el-form-item label="门户首页"> |
||||
<el-input v-model="form.home" /> |
||||
</el-form-item> |
||||
<el-form-item label="后台登陆首页地址"> |
||||
<el-input v-model="form.loginAddress" /> |
||||
</el-form-item> |
||||
<el-form-item label="系统标题"> |
||||
<el-input v-model="form.title" /> |
||||
</el-form-item> |
||||
<el-form-item label="版权信息"> |
||||
<el-input v-model="form.copyrightInformation" /> |
||||
</el-form-item> |
||||
<el-form-item label="备案号"> |
||||
<el-input v-model="form.recordNumber" /> |
||||
</el-form-item> |
||||
<el-form-item label="备案号信息"> |
||||
<el-input v-model="form.recordInformation" type="textarea" /> |
||||
</el-form-item> |
||||
<el-form-item label="qq"> |
||||
<el-input v-model="form.qqNumber" /> |
||||
</el-form-item> |
||||
<el-form-item label="邮箱"> |
||||
<el-input v-model="form.mailbox" /> |
||||
</el-form-item> |
||||
<el-form-item label="电话"> |
||||
<el-input v-model="form.phone" /> |
||||
</el-form-item> |
||||
<el-form-item label="联系地址"> |
||||
<el-input v-model="form.address" /> |
||||
</el-form-item> |
||||
<el-form-item label="二维码"> |
||||
<my-update v-model="form.qrCode"></my-update> |
||||
</el-form-item> |
||||
<el-form-item> |
||||
<el-button type="primary" @click="onSubmit">保存</el-button> |
||||
</el-form-item> |
||||
</el-form> |
||||
</div> |
||||
</template> |
||||
|
||||
<script lang="ts" setup> |
||||
import { getSysSettingApi, proxPutSysSettingApi, uploadApi } from '@/api/configuration'; |
||||
import { |
||||
getSysSettingApi, |
||||
proxPutSysSettingApi, |
||||
uploadApi, |
||||
} from '@/api/configuration' |
||||
import { ref, reactive } from 'vue' |
||||
import MyUpdate from './MyUpdate.vue'; |
||||
import useUserStore from '@/store/modules/user'; |
||||
import MyUpdate from './MyUpdate.vue' |
||||
import useUserStore from '@/store/modules/user' |
||||
const userStore = useUserStore() |
||||
|
||||
// do not use same name with ref |
||||
const form = reactive({ |
||||
address: '', |
||||
copyrightInformation: '', |
||||
id: userStore.data.id, |
||||
loginAddress: '', |
||||
logo: '', |
||||
name: '', |
||||
phone: '', |
||||
promotionalImages: '', |
||||
qqNumber: '', |
||||
qrCode: '', |
||||
recordNumber: '', |
||||
title: '', |
||||
mailbox: '', |
||||
home: '', |
||||
recordInformation: '' |
||||
address: '', |
||||
copyrightInformation: '', |
||||
id: userStore.data.id, |
||||
loginAddress: '', |
||||
logo: '', |
||||
name: '', |
||||
phone: '', |
||||
promotionalImages: '', |
||||
qqNumber: '', |
||||
qrCode: '', |
||||
recordNumber: '', |
||||
title: '', |
||||
mailbox: '', |
||||
home: '', |
||||
recordInformation: '', |
||||
}) |
||||
|
||||
const ran = ref(false) |
||||
getSysSettingApi().then((res) => { |
||||
Object.assign(form, res.data) |
||||
ran.value = true |
||||
Object.assign(form, res.data) |
||||
ran.value = true |
||||
}) |
||||
const onSubmit = async () => { |
||||
form.logo = await uploadApi(form.logo) |
||||
form.promotionalImages = await uploadApi(form.promotionalImages) |
||||
form.qrCode = await uploadApi(form.qrCode) |
||||
await proxPutSysSettingApi(form) |
||||
form.logo = await uploadApi(form.logo) |
||||
form.promotionalImages = await uploadApi(form.promotionalImages) |
||||
form.qrCode = await uploadApi(form.qrCode) |
||||
await proxPutSysSettingApi(form) |
||||
} |
||||
</script> |
||||
<style lang="scss" scoped> |
||||
.configuration-page { |
||||
width: 600px; |
||||
margin: auto; |
||||
width: 600px; |
||||
margin: auto; |
||||
} |
||||
</style> |
@ -1,14 +1,172 @@ |
||||
<template> |
||||
<div> |
||||
点赞记录 |
||||
</div> |
||||
<div class="container"> |
||||
<el-card> |
||||
<el-form :inline="true" :model="formInline" class="demo-form-inline"> |
||||
<el-form-item label="课程名称"> |
||||
<el-input |
||||
v-model="formInline.user" |
||||
placeholder="请输入课程名称" |
||||
clearable |
||||
style="width: 300px" |
||||
/> |
||||
</el-form-item> |
||||
|
||||
<el-form-item label="日期"> |
||||
<el-date-picker |
||||
v-model="formInline.date" |
||||
type="date" |
||||
placeholder="请选择日期" |
||||
clearable |
||||
style="width: 300px" |
||||
/> |
||||
</el-form-item> |
||||
<el-form-item> |
||||
<el-button |
||||
type="primary" |
||||
:loading="inquireLoading" |
||||
@click="handleInquire" |
||||
> |
||||
查询 |
||||
</el-button> |
||||
<el-button |
||||
type="danger" |
||||
v-if="selectID.length" |
||||
@click="deleteSelected" |
||||
> |
||||
批量删除 |
||||
</el-button> |
||||
</el-form-item> |
||||
</el-form> |
||||
</el-card> |
||||
<el-card style="margin-top: 20px; height: calc(100vh - 200px); width: 100%"> |
||||
<el-table |
||||
:data="recordList" |
||||
border |
||||
style="width: 100%" |
||||
@selection-change="selectionChange" |
||||
> |
||||
<el-table-column type="selection" width="55" /> |
||||
<el-table-column type="index" width="55" label="序号" /> |
||||
<el-table-column prop="courseName" label="课程名称" /> |
||||
<el-table-column prop="number" label="点赞人数" /> |
||||
<el-table-column prop="time" label="时间" /> |
||||
<el-table-column label="操作"> |
||||
<template #default="{ row }"> |
||||
<el-button type="danger" link @click="onDeleteRecord(row.id)"> |
||||
删除 |
||||
</el-button> |
||||
</template> |
||||
</el-table-column> |
||||
</el-table> |
||||
</el-card> |
||||
</div> |
||||
</template> |
||||
|
||||
<script lang='ts' setup> |
||||
import { onMounted, reactive, ref, toRefs, watch } from 'vue' |
||||
<script lang="ts" setup> |
||||
import { reactive, ref } from 'vue' |
||||
import useUserStore from '@/store/modules/user' |
||||
import { ElMessageBox, ElMessage } from 'element-plus' |
||||
import { useRouter } from 'vue-router' |
||||
|
||||
const router = useRouter() |
||||
|
||||
const userStore = useUserStore() |
||||
const formInline = reactive({ |
||||
user: '', |
||||
region: '', |
||||
date: '', |
||||
}) |
||||
const inquireLoading = ref(false) |
||||
function handleInquire() { |
||||
inquireLoading.value = true |
||||
setTimeout(() => { |
||||
inquireLoading.value = false |
||||
ElMessage({ |
||||
type: 'success', |
||||
message: '查询成功', |
||||
}) |
||||
}, Math.random() * 1000) |
||||
} |
||||
const recordList = ref([ |
||||
{ |
||||
courseId: 'de3100cad98f76be3176dd39aa748a9e', |
||||
courseName: '离散数学及其应用', |
||||
id: '1818126244841295873', |
||||
img: '', |
||||
number: 5, |
||||
time: '2024-07-30 11:27:30', |
||||
userId: '2', |
||||
}, |
||||
{ |
||||
id: '1818114181813293057', |
||||
courseId: '2fa0fd63262230639d2c45a3acd9045c', |
||||
courseName: '计算机导论12', |
||||
userId: '2', |
||||
number: 2, |
||||
img: '', |
||||
time: '2024-07-30 10:39:34', |
||||
}, |
||||
]) |
||||
const params = ref({ |
||||
pagesize: 10, |
||||
pagenum: '1', |
||||
userId: userStore.data.id, |
||||
}) |
||||
const total = ref(0) |
||||
|
||||
//删除浏览记录逻辑 |
||||
const onDeleteRecord = async (ids: any) => { |
||||
await ElMessageBox.confirm('你确认删除该条浏览信息吗?', '温馨提示', { |
||||
type: 'warning', |
||||
confirmButtonText: '确认', |
||||
cancelButtonText: '取消', |
||||
}) |
||||
} |
||||
const selectID = ref([]) |
||||
const selectionChange = (e: { map: (arg0: (item: any) => any) => never[] }) => { |
||||
if (e) { |
||||
selectID.value = e.map((item: { id: any }) => item.id) |
||||
console.log(selectID.value) |
||||
} |
||||
} |
||||
const deleteSelected = async () => { |
||||
//判断数组是否为空 |
||||
if (selectID.value.length === 0) { |
||||
await ElMessageBox.confirm('请选择你要删除的内容', '温馨提示', { |
||||
type: 'warning', |
||||
confirmButtonText: '确认', |
||||
}) |
||||
return |
||||
} |
||||
await ElMessageBox.confirm('你确认删除浏览记录吗?', '温馨提示', { |
||||
type: 'warning', |
||||
confirmButtonText: '确认', |
||||
cancelButtonText: '取消', |
||||
}) |
||||
} |
||||
</script> |
||||
|
||||
<style lang='scss' scoped> |
||||
<style lang="scss" scoped> |
||||
.container { |
||||
position: relative; |
||||
width: 100%; |
||||
|
||||
// height: calc(100vh - 100px); |
||||
.pagination { |
||||
position: absolute; |
||||
bottom: 20px; |
||||
left: 50%; |
||||
transform: translateX(-50%); |
||||
display: flex; |
||||
justify-content: center; |
||||
} |
||||
} |
||||
|
||||
:deep(.el-form-item) { |
||||
margin-bottom: 0; |
||||
} |
||||
|
||||
:deep(.el-scrollbar__wrap) { |
||||
padding: 0; |
||||
} |
||||
</style> |
||||
|
@ -0,0 +1,81 @@ |
||||
<template> |
||||
<div class="footer"> |
||||
<ul> |
||||
<li> |
||||
系统标题: |
||||
{{ adminInfoStore.info.title }} |
||||
|
||||
</li><el-divider direction="vertical" border-style="dashed" /> |
||||
<li> |
||||
版权信息: |
||||
{{ adminInfoStore.info.copyrightInformation }} |
||||
|
||||
</li> <el-divider direction="vertical" border-style="dashed" /> |
||||
<li> |
||||
备案号: |
||||
{{ adminInfoStore.info.recordNumber }} |
||||
|
||||
</li> <el-divider direction="vertical" border-style="dashed" /> |
||||
<li> |
||||
qq: |
||||
{{ adminInfoStore.info.qqNumber }} |
||||
|
||||
</li><el-divider direction="vertical" border-style="dashed" /> |
||||
<li> |
||||
邮箱: |
||||
{{ adminInfoStore.info.mailbox }} |
||||
|
||||
</li> <el-divider direction="vertical" border-style="dashed" /> |
||||
<li> |
||||
电话: |
||||
{{ adminInfoStore.info.phone }} |
||||
|
||||
</li> |
||||
<li> |
||||
地址: |
||||
{{ adminInfoStore.info.address }} |
||||
</li> |
||||
<el-divider direction="vertical" border-style="dashed" /> |
||||
<li> |
||||
<el-image style="width: 50px; height: 50px" :src="adminInfoStore.info.qrCode" fit="cover" /> |
||||
</li> |
||||
<el-divider direction="vertical" border-style="dashed" /> |
||||
<li> |
||||
备案信息: |
||||
{{ adminInfoStore.info.recordInformation }} |
||||
</li> |
||||
</ul> |
||||
</div> |
||||
</template> |
||||
|
||||
<script lang="ts" setup> |
||||
import useAdminInfoStore from '@/store/module/adminInfo' |
||||
const adminInfoStore = useAdminInfoStore() |
||||
console.log(adminInfoStore); |
||||
|
||||
</script> |
||||
|
||||
<style lang="scss" scoped> |
||||
.footer { |
||||
background-color: #252527; |
||||
height: 300px; |
||||
display: flex; |
||||
align-items: center; |
||||
justify-content: center; |
||||
|
||||
ul { |
||||
width: 600px; |
||||
height: 200px; |
||||
display: flex; |
||||
flex-wrap: wrap; |
||||
align-items: center; |
||||
justify-content: center; |
||||
color: #ccc; |
||||
font-family:'Courier New', Courier, monospace; |
||||
// background: linear-gradient(white,#38495a); |
||||
// background-clip: text; |
||||
// color: transparent; |
||||
} |
||||
|
||||
} |
||||
</style> |
@ -1,81 +1,312 @@ |
||||
<template> |
||||
<div class="footer"> |
||||
<ul> |
||||
<li> |
||||
系统标题: |
||||
{{ adminInfoStore.info.title }} |
||||
|
||||
</li><el-divider direction="vertical" border-style="dashed" /> |
||||
<li> |
||||
版权信息: |
||||
{{ adminInfoStore.info.copyrightInformation }} |
||||
|
||||
</li> <el-divider direction="vertical" border-style="dashed" /> |
||||
<li> |
||||
备案号: |
||||
{{ adminInfoStore.info.recordNumber }} |
||||
|
||||
</li> <el-divider direction="vertical" border-style="dashed" /> |
||||
<li> |
||||
qq: |
||||
{{ adminInfoStore.info.qqNumber }} |
||||
|
||||
</li><el-divider direction="vertical" border-style="dashed" /> |
||||
<li> |
||||
邮箱: |
||||
{{ adminInfoStore.info.mailbox }} |
||||
|
||||
</li> <el-divider direction="vertical" border-style="dashed" /> |
||||
<li> |
||||
电话: |
||||
{{ adminInfoStore.info.phone }} |
||||
|
||||
</li> |
||||
<li> |
||||
地址: |
||||
{{ adminInfoStore.info.address }} |
||||
</li> |
||||
<el-divider direction="vertical" border-style="dashed" /> |
||||
<li> |
||||
<el-image style="width: 50px; height: 50px" :src="adminInfoStore.info.qrCode" fit="cover" /> |
||||
</li> |
||||
<el-divider direction="vertical" border-style="dashed" /> |
||||
<li> |
||||
备案信息: |
||||
{{ adminInfoStore.info.recordInformation }} |
||||
</li> |
||||
</ul> |
||||
</div> |
||||
</template> |
||||
|
||||
<script lang="ts" setup> |
||||
import { ref } from "vue"; |
||||
import useAdminInfoStore from '@/store/module/adminInfo' |
||||
const adminInfoStore = useAdminInfoStore() |
||||
console.log(adminInfoStore); |
||||
const info = adminInfoStore.info; |
||||
|
||||
const footer = ref(null) |
||||
|
||||
function handleDark() { |
||||
// @ts-ignore |
||||
footer.value.classList.toggle('dark__mode') |
||||
isShow.value = !isShow.value |
||||
} |
||||
const isShow = ref(false) |
||||
</script> |
||||
|
||||
<template> |
||||
<footer ref="footer" class="dark__mode"> |
||||
<div class="container"> |
||||
<div class="container__footer"> |
||||
<div class="profil"> |
||||
<div class="logo__area"> |
||||
<img src="../../assets/images/LOGO.png" alt=""> |
||||
<span class="logo__name">LESSON</span> |
||||
<button v-show="isShow" @click="handleDark" class="moon"><i class='bx bxs-moon'></i></button> |
||||
<button v-show="!isShow" @click="handleDark" class="sun"><i class='bx bxs-sun'></i></button> |
||||
</div> |
||||
<div class="desc__area"> |
||||
<p> |
||||
Thanks for using the integrated teaching portal system |
||||
</p> |
||||
</div> |
||||
<div class="social__media"> |
||||
<i class='bx bxl-linkedin-square'></i> |
||||
<i class='bx bxl-facebook-square'></i> |
||||
<i class='bx bxl-instagram-alt'></i> |
||||
<i class='bx bxl-github'></i> |
||||
<!-- <i> |
||||
<svg class="svg"> |
||||
<use :xlink:href="'#icon-QQ'"></use> |
||||
</svg> |
||||
</i> --> |
||||
</div> |
||||
</div> |
||||
<div class="service__area"> |
||||
<ul class="service__header"> |
||||
<li class="service__name">Information</li> |
||||
<li> |
||||
<i> |
||||
系统标题:{{ info.title }} |
||||
</i> |
||||
</li> |
||||
<li> |
||||
<i> |
||||
版权信息:{{ info.copyrightInformation }} |
||||
</i> |
||||
</li> |
||||
<li> |
||||
<i> |
||||
备案号:{{ info.recordNumber }} |
||||
</i> |
||||
</li> |
||||
<li> |
||||
<i> |
||||
备案信息:{{ info.recordInformation }} |
||||
</i> |
||||
</li> |
||||
</ul> |
||||
<ul class="service__header"> |
||||
<li class="service__name">Relation</li> |
||||
<li> |
||||
<i> |
||||
邮箱:{{ info.mailbox }} |
||||
</i> |
||||
</li> |
||||
<li> |
||||
<i> |
||||
电话:{{ info.phone }} |
||||
</i> |
||||
</li> |
||||
<li> |
||||
<i> |
||||
QQ:{{ info.qqNumber }} |
||||
</i> |
||||
</li> |
||||
<li> |
||||
<i> |
||||
地址:{{ info.address }} |
||||
</i> |
||||
</li> |
||||
</ul> |
||||
</div> |
||||
</div> |
||||
<hr> |
||||
<!-- <div class="footer__bottom"> |
||||
<div class="copy__right"> |
||||
<i class='bx bxs-copyright'></i> |
||||
<span>2024 ayprojex</span> |
||||
</div> |
||||
<div class="tou"> |
||||
<i>Term of Use</i> |
||||
<i>Privacy Policy</i> |
||||
<i>Cookie</i> |
||||
</div> |
||||
</div> --> |
||||
</div> |
||||
</footer> |
||||
</template> |
||||
|
||||
<style lang="scss" scoped> |
||||
.footer { |
||||
background-color: #252527; |
||||
height: 300px; |
||||
display: flex; |
||||
align-items: center; |
||||
justify-content: center; |
||||
|
||||
ul { |
||||
width: 600px; |
||||
height: 200px; |
||||
display: flex; |
||||
@import url('https://fonts.googleapis.com/css2?family=Rubik:ital,wght@0,300..900;1,300..900&display=swap'); |
||||
|
||||
.svg { |
||||
width: 24px; |
||||
height: 25px; |
||||
} |
||||
|
||||
.dark__mode { |
||||
--primary-color: #000; |
||||
--secondary-color: #fff; |
||||
} |
||||
|
||||
footer { |
||||
--primary-color: #fff; |
||||
--secondary-color: #000; |
||||
background-color: var(--primary-color); |
||||
box-shadow: 0 16px 70px -8px rgba(0, 0, 0, 0.25); |
||||
border-radius: 20px 20px 0 0; |
||||
transition: background 0.3s linear; |
||||
|
||||
.container { |
||||
max-width: 1240px; |
||||
padding: 30px 40px; |
||||
margin: auto; |
||||
|
||||
.container__footer { |
||||
display: flex; |
||||
justify-content: space-between; |
||||
align-items: center; |
||||
margin-bottom: 1em; |
||||
|
||||
.profil { |
||||
.logo__area { |
||||
display: flex; |
||||
align-items: center; |
||||
margin-bottom: 1em; |
||||
|
||||
.logo__name { |
||||
font-size: 1.5em; |
||||
font-weight: 700; |
||||
margin: 0 1em; |
||||
color: var(--secondary-color); |
||||
} |
||||
|
||||
img { |
||||
width: 35px; |
||||
height: 35px; |
||||
border-radius: 50%; |
||||
border: 1px solid var(--primary-color); |
||||
} |
||||
|
||||
button { |
||||
border: none; |
||||
outline: none; |
||||
background-color: transparent; |
||||
font-size: 15px; |
||||
cursor: pointer; |
||||
|
||||
&.sun { |
||||
color: #fff; |
||||
} |
||||
} |
||||
} |
||||
|
||||
.desc__area { |
||||
max-width: 320px; |
||||
margin-bottom: 1.25em; |
||||
|
||||
p { |
||||
color: #828282; |
||||
font-weight: 400; |
||||
line-height: 1.8; |
||||
} |
||||
} |
||||
|
||||
.social__media { |
||||
// display: flex; |
||||
|
||||
i { |
||||
color: #828282; |
||||
margin-right: 22px; |
||||
font-size: 24px; |
||||
|
||||
// &:hover { |
||||
// color: #313131; |
||||
// } |
||||
} |
||||
} |
||||
} |
||||
|
||||
.service__area { |
||||
display: flex; |
||||
|
||||
.service__header { |
||||
margin-right: 40px; |
||||
|
||||
li.service__name { |
||||
color: var(--secondary-color); |
||||
font-weight: 600; |
||||
} |
||||
|
||||
li { |
||||
margin-bottom: 10px; |
||||
|
||||
i { |
||||
color: #828282; |
||||
margin-bottom: 1px; |
||||
font-weight: 400; |
||||
|
||||
// &:hover { |
||||
// color: #313131; |
||||
// } |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
|
||||
hr { |
||||
height: 1px; |
||||
border: none; |
||||
background-color: #828282; |
||||
margin-bottom: 1em; |
||||
} |
||||
|
||||
.footer__bottom { |
||||
display: flex; |
||||
justify-content: space-between; |
||||
align-items: center; |
||||
font-size: 0.857em; |
||||
|
||||
.copy__right { |
||||
color: #828282; |
||||
display: flex; |
||||
align-items: center; |
||||
|
||||
span { |
||||
margin-left: 8px; |
||||
font-weight: 400; |
||||
letter-spacing: 0.135em; |
||||
} |
||||
} |
||||
|
||||
.tou { |
||||
i { |
||||
color: #828282; |
||||
margin-left: 1.5em; |
||||
|
||||
// &:hover { |
||||
// color: #313131; |
||||
// } |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
|
||||
@media screen and (max-width:768px) { |
||||
|
||||
.container__footer, |
||||
.service__area { |
||||
flex-wrap: wrap; |
||||
justify-content: left; |
||||
} |
||||
|
||||
.service__header { |
||||
margin-left: 0; |
||||
margin-right: 40px; |
||||
} |
||||
|
||||
.social_media { |
||||
margin-bottom: 1em; |
||||
} |
||||
|
||||
.footer_bottom { |
||||
flex-wrap: wrap; |
||||
align-items: center; |
||||
justify-content: center; |
||||
color: #ccc; |
||||
font-family:'Courier New', Courier, monospace; |
||||
// background: linear-gradient(white,#38495a); |
||||
// background-clip: text; |
||||
// color: transparent; |
||||
} |
||||
} |
||||
|
||||
@media screen and (max-width: 510px) { |
||||
.service__header { |
||||
margin-bottom: 8px; |
||||
} |
||||
|
||||
.copy__right { |
||||
margin-bottom: 8px; |
||||
} |
||||
} |
||||
|
||||
* { |
||||
padding: 0; |
||||
margin: 0; |
||||
box-sizing: border-box; |
||||
font-family: "Rubik", sans-serif; |
||||
font-size: 16px; |
||||
} |
||||
|
||||
a { |
||||
text-decoration: none; |
||||
} |
||||
</style> |
||||
|
After Width: | Height: | Size: 869 B |
Loading…
Reference in new issue