vue3中style使用全域性css變數
阿新 • • 發佈:2022-04-15
一、先說操作步驟:(根據官方文件)
1、 安裝
npm init vue@latest
2、base.css 檔案(目錄...\src\assets\base.css)
/* color palette from <https://github.com/vuejs/theme> */ :root { --vt-c-white: #ffffff; --vt-c-white-soft: #f8f8f8; --vt-c-white-mute: #f2f2f2; --vt-c-black: #181818; --vt-c-black-soft: #222222; --vt-c-black-mute: #282828; --vt-c-indigo: #2c3e50; --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); --vt-c-text-light-1: var(--vt-c-indigo); --vt-c-text-light-2: rgba(60, 60, 60, 0.66); --vt-c-text-dark-1: var(--vt-c-white); --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); } /* semantic color variables for this project */ :root { --color-background: var(--vt-c-white); --color-background-soft: var(--vt-c-white-soft); --color-background-mute: var(--vt-c-white-mute); --color-border: var(--vt-c-divider-light-2); --color-border-hover: var(--vt-c-divider-light-1); --color-heading: var(--vt-c-text-light-1); --color-text: var(--vt-c-text-light-1); --section-gap: 160px; } @media (prefers-color-scheme: dark) { :root { --color-background: var(--vt-c-black); --color-background-soft: var(--vt-c-black-soft); --color-background-mute: var(--vt-c-black-mute); --color-border: var(--vt-c-divider-dark-2); --color-border-hover: var(--vt-c-divider-dark-1); --color-heading: var(--vt-c-text-dark-1); --color-text: var(--vt-c-text-dark-2); } } *, *::before, *::after { box-sizing: border-box; margin: 0; position: relative; font-weight: normal; } body { min-height: 100vh; color: var(--color-text); background: var(--color-background); transition: color 0.5s, background-color 0.5s; line-height: 1.6; font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif; font-size: 15px; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }View Code
3、
3.1 App.vue 引用
<style> @import '@/assets/base.css'; ... </style>
3.2 WelcomeItem.vue(目錄:src\components\WelcomeItem.vue)
只列出 style 中部分 i { display: flex; place-items: center; place-content: center; width: 32px; height: 32px; color: var(--color-text); } h3 { font-size: 1.2rem; font-weight: 500; margin-bottom: 0.4rem; color: var(--color-heading); }
二、解釋
4、
文件:
MDN --- https://developer.mozilla.org/zh-CN/docs/web/css/var
菜鳥教程 --- https://www.runoob.com/cssref/func-var.html
5、說明
var()函式可以代替元素中任何屬性中的值的任何部分。var()函式不能作為屬性名、選擇器或者其他除了屬性值之外的值。(這樣做通常會產生無效的語法或者一個沒有關聯到變數的值。) :root是一個偽類,表示文件根元素,非IE及ie8及以上瀏覽器都支援,在:root中宣告相當於全域性屬性,只要當前頁面引用了:root segment所在檔案,都可以使用var()來引用
6、參考
https://www.csdn.net/tags/MtTaEg2sMjg0MzQ4LWJsb2cO0O0O.html