提交 5abdde73 编写于 作者: L lhf6623

add: unocss

上级 5ab171ed
...@@ -7,6 +7,7 @@ yarn-error.log* ...@@ -7,6 +7,7 @@ yarn-error.log*
pnpm-debug.log* pnpm-debug.log*
lerna-debug.log* lerna-debug.log*
package-lock.json package-lock.json
pnpm-lock.yaml
node_modules node_modules
.DS_Store .DS_Store
......
...@@ -8,7 +8,7 @@ Vue.js 是基于 JavaScript 构建用户界面的库。该模板使用 Vite 来 ...@@ -8,7 +8,7 @@ Vue.js 是基于 JavaScript 构建用户界面的库。该模板使用 Vite 来
## 自定义配置 ## 自定义配置
请参阅 [[Vite配置参考](https://vitejs.dev/config/). 请参阅 [[Vite配置参考]](https://vitejs.dev/config/).
## 项目设置 ## 项目设置
......
...@@ -7,11 +7,13 @@ ...@@ -7,11 +7,13 @@
"preview": "vite preview --port 4173" "preview": "vite preview --port 4173"
}, },
"dependencies": { "dependencies": {
"@unocss/reset": "^0.54.0",
"guess": "^1.0.2", "guess": "^1.0.2",
"vue": "^3.3.4" "vue": "^3.3.4"
}, },
"devDependencies": { "devDependencies": {
"@vitejs/plugin-vue": "^4.2.3", "@vitejs/plugin-vue": "^4.2.3",
"unocss": "^0.54.0",
"vite": "^4.3.9" "vite": "^4.3.9"
} }
} }
...@@ -76,20 +76,20 @@ async function playChess(item, row, col) { ...@@ -76,20 +76,20 @@ async function playChess(item, row, col) {
</script> </script>
<template> <template>
<div class="content flex-start"> <div p-6px box-border flex justify-start>
<p class="flex-between mr-6px"> <p mr-6px flex justify-between>
<label for="size" class="space-nowrap">棋盘大小:</label> <label for="size" whitespace-nowrap>棋盘大小:</label>
<input v-model="size" id="size" type="number"> <input v-model="size" id="size" type="number">
</p> </p>
<p class="flex-between mr-6px"> <p mr-6px flex justify-between>
<label for="win_size" class="space-nowrap">胜利棋数:</label> <label for="win_size" whitespace-nowrap>胜利棋数:</label>
<input v-model="win_size" id="win_size" type="number" min="3" max="8"> <input v-model="win_size" id="win_size" type="number" min="3" max="8">
</p> </p>
<button @click="confirm" class="space-nowrap mr-6px px-6px">重新开始</button> <button @click="confirm" whitespace-nowrap mr-6px px-6px>重新开始</button>
<button @click="back" class="space-nowrap px-6px">返回上一步</button> <button @click="back" whitespace-nowrap px-6px>返回上一步</button>
</div> </div>
<div class="content border-top content-lattice"> <div p-6px box-border flex flex-col items-center border="t t-solid #999">
<p class="row" v-for="(lattice, r_i) in lattices" :key="r_i"> <p flex flex-row v-for="(lattice, r_i) in lattices" :key="r_i">
<p class="col" :class="records_obj[`${r_i}_${c_i}`]" v-for="(item, c_i) in lattice" :key="`${r_i}-${c_i}`" <p class="col" :class="records_obj[`${r_i}_${c_i}`]" v-for="(item, c_i) in lattice" :key="`${r_i}-${c_i}`"
@click="playChess(item, r_i, c_i)"> @click="playChess(item, r_i, c_i)">
</p> </p>
......
...@@ -16,50 +16,10 @@ body, ...@@ -16,50 +16,10 @@ body,
font-weight: normal; font-weight: normal;
} }
.content {
padding: 6px;
box-sizing: border-box;
}
.flex-between {
display: flex;
justify-content: space-between;
align-items: center;
}
.flex-start {
display: flex;
justify-content: start;
align-items: center;
}
.mr-6px {
margin-right: 6px;
}
.px-6px{
padding-left: 6px;
padding-right: 6px;
}
input { input {
width: 60px; width: 60px;
} }
.border-top {
border-top: 1px solid #999;
}
.content-lattice {
display: flex;
flex-direction: column;
align-items: center;
}
.row {
display: flex;
flex-direction: row;
}
.col { .col {
width: 20px; width: 20px;
height: 20px; height: 20px;
...@@ -122,8 +82,4 @@ input { ...@@ -122,8 +82,4 @@ input {
.isWin::after { .isWin::after {
background-color: red; background-color: red;
border-color: var(--p-win-border-color); border-color: var(--p-win-border-color);
}
.space-nowrap {
white-space: nowrap;
} }
\ No newline at end of file
<template> <template>
<canvas class="canvas" width="400" height="300" ref="canvas"></canvas> <canvas absolute right-10px bottom-10px pointer-events-none opacity-40 class="canvas" width="400" height="300"
ref="canvas"></canvas>
</template> </template>
<script setup> <script setup>
...@@ -69,14 +70,3 @@ function drawBranch(ctx, v0, thick, len, dir) { ...@@ -69,14 +70,3 @@ function drawBranch(ctx, v0, thick, len, dir) {
drawBranch(ctx, v1, thick * 0.8, len * 0.8, dir - Math.random() * 46); drawBranch(ctx, v1, thick * 0.8, len * 0.8, dir - Math.random() * 46);
} }
</script> </script>
<style>
.canvas {
position: absolute;
right: 10px;
bottom: 10px;
pointer-events: none;
opacity: 0.4;
}
</style>
\ No newline at end of file
import { createApp } from 'vue' import { createApp } from 'vue'
import App from './App.vue' import App from './App.vue'
import '@unocss/reset/normalize.css'
import 'virtual:uno.css'
import './assets/main.css' import './assets/main.css'
......
// uno.config.js
import {
defineConfig, presetAttributify, presetIcons,
presetTypography, presetUno,
transformerDirectives, transformerVariantGroup
} from 'unocss'
export default defineConfig({
presets: [
presetUno(),
presetAttributify(),
presetIcons(),
presetTypography(),
],
transformers: [
transformerDirectives(),
transformerVariantGroup(),
],
})
\ No newline at end of file
import { defineConfig } from 'vite' import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue' import vue from '@vitejs/plugin-vue'
import UnoCSS from 'unocss/vite'
// https://vitejs.dev/config/ // https://vitejs.dev/config/
export default defineConfig({ export default defineConfig({
plugins: [vue()], plugins: [vue(), UnoCSS(),],
server: { server: {
host: true host: true
}, },
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册