整合營銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          jQuery UI 主題

          jQuery UI 主題

          有的 jQuery UI 插件都允許開發(fā)人員無縫集成 UI 小部件到他們網(wǎng)站或應(yīng)用程序的外觀和感觀。每個插件通過 CSS 定義樣式,且包含了兩層樣式信息:標(biāo)準(zhǔn)的 jQuery UI CSS 框架 樣式和具體的插件樣式。

          jQuery UI CSS 框架提供了語義表示的類,用來表明小部件內(nèi)元素的角色,比如標(biāo)題、內(nèi)容或可點(diǎn)擊區(qū)域。這些在所有的小部件中都是一致的,一個可點(diǎn)擊的 tab(標(biāo)簽頁)、accordion(折疊面板)或 button(按鈕)都有相同的 ui-state-defaultclass,用來表明它們是可點(diǎn)擊的。當(dāng)用戶鼠標(biāo)懸浮在這些元素上面時,這個 class 就變成 ui-state-hover,當(dāng)選中這些元素時則變成 ui-state-active。這些 class 的一致性使得所有部件中具有相似角色或交互狀態(tài)的元素在外觀表現(xiàn)上一致。

          CSS 框架樣式封裝在一個單獨(dú)的文件中,名為 ui.theme.css。這個文件時通過 ThemeRoller 應(yīng)用程序來修改的??蚣軜邮街话绊懲庥^和感觀的屬性,只要是顏色、背景圖像、圖標(biāo)等。所以這些是 "安全的" 樣式,不會影響到插件的功能。這種分隔意味著開發(fā)人員可以通過在 theme.css 文件中修改顏色和圖像來創(chuàng)建一個自定義的外觀和感觀。由于未來的插件或者 bug 修復(fù)將是可用的,這些不通過修改即可與主題一起使用。

          由于框架樣式只覆蓋了外觀和感觀,所以還需要包含具體的插件樣式表,這些樣式表包括了所有額外的讓小部件具有功能性的結(jié)構(gòu)樣式規(guī)則,比如尺寸、內(nèi)邊距、外邊距、定位、浮動。每個插件的樣式表位于 themes/base 文件夾內(nèi),且配合插件進(jìn)行命名,比如 "jquery.ui.accordion.css"。這些樣式必須認(rèn)真編輯,因?yàn)樗鼈兣c腳本一起提供了框架樣式的覆蓋。

          我們鼓勵所有的開發(fā)人員創(chuàng)建 jQuery 插件,jQuery UI CSS 框架使得最終用戶更容易定制主題和使用插件。

          主題化

          下面列出了三種主題化 jQuery UI 插件的一般方法:

          • 下載 ThemeRoller 主題:最早的創(chuàng)建主題的方式是使用 ThemeRoller 來生成和下載一個主題。這個應(yīng)用程序?qū)?chuàng)建一個新的 ui.theme.css 文件和一個包含了所有必需的背景圖像及圖標(biāo)精靈的 images 文件夾。這個方法是最早的創(chuàng)建和維護(hù)主題的方式,但是它對 ThemeRoller 中提供的選項(xiàng)限制了自定義。

          • 修改 CSS 文件:為了對外觀和感觀做進(jìn)一步的控制,您可以選擇從默認(rèn)主題(Smoothness)開始,或者從一個由 ThemeRoller 生成的主題開始,然后調(diào)整 ui.theme.css 文件,或者任意一個獨(dú)立插件的樣式表。例如,您可以很容易地調(diào)整所有按鈕的角半徑為不同于其他 UI 組件的值,或者使用自定義設(shè)置為圖標(biāo)精靈改變路徑。通過一點(diǎn)點(diǎn)的樣式范圍,您甚至可以在一個 UI 中同時使用多個主題。為了易于維護(hù),建議只更改 ui.theme.css 文件和圖像。

          • 重新編寫自定義的 CSS:為了最大程度地控制外觀和感觀,可以重新開始編寫每個插件的 CSS,而不使用框架類或者特定的插件樣式表。如果想要的外觀和感觀不能通過修改 CSS 來實(shí)現(xiàn)或者使用高度自定義的標(biāo)記,那么就可以采用這個方法。這個方法要求在 CSS 方面有深厚的專業(yè)知識,且要求手動更新未來的插件。

          使用 ThemeRoller、jQuery UI CSS 框架,以及設(shè)計(jì)自定義主題

          • jQuery UI ThemeRoller

          • jQuery UI CSS 框架 API

          • 設(shè)計(jì)主題

           大家好,圖標(biāo)在UI設(shè)計(jì)中占了一席之地,不同風(fēng)格的圖標(biāo)會影響頁面整體風(fēng)格效果。前面2篇文章分別介紹了《線性圖標(biāo)》、《面性圖標(biāo)》,今天我跟大家分享一下線面結(jié)合圖標(biāo)的一些設(shè)計(jì)樣式。

          于Element UI

          Element UI是一套采用 Vue 2.0 作為基礎(chǔ)框架實(shí)現(xiàn)的組件庫,一套為開 發(fā)者、設(shè)計(jì)師和產(chǎn)品經(jīng)理準(zhǔn)備的基于 Vue 2.0 的組件庫,提供了配套設(shè)計(jì) 資源,幫助網(wǎng)站快速成型。

          Element UI官方網(wǎng)址是:https://element.eleme.cn/

          Element UI預(yù)定義了幾乎所有標(biāo)簽的常規(guī)設(shè)計(jì)樣式,在絕大 部分情況下,你不需要考慮例如按鈕的寬度、高度、背景顏色、文本大小、 文本顏色等樣式規(guī)則,只需要直接使用即可,例如Element UI提供的按 鈕:

          按鈕

          當(dāng)然,除了按鈕以外,對于表格、表單、表單中各控件、彈出框等常見的 頁面元素,Element UI都設(shè)計(jì)了非常簡約美觀的樣式,例如:

          表單

          Element UI之所以被稱之為“組件庫”,是因?yàn)樗辉偈褂脗鹘y(tǒng)的HTML 標(biāo)簽,而是自行定制了一系列的標(biāo)簽(包括 標(biāo)簽屬性),以按鈕為例, 其源代碼大概是這樣的:

          <el-button type="primary">主要按鈕</el-button>

          除了樣式以外,Element UI還提 供了便利的表單控件的驗(yàn)證方式, 執(zhí)行效果例如:

          驗(yàn)證

          由于Element UI定義了大量的組件,每個組件都有許多屬性,所以,學(xué) 習(xí)Element UI時需要記憶大量的組件特征,這將是一個非常漫長的過程, 通常不建議刻意的死記硬背,應(yīng)該重點(diǎn)關(guān)注Element UI可以做到什么, 例如有哪些樣式,各組件的核心屬性等用法,然后結(jié)合官方文檔 (https://element.eleme.cn/#/zh-CN/component/)進(jìn)行開發(fā)。

          安裝Element UI

          • 首先進(jìn)入工程文件夾(如果使用IntelliJ IDEA打開了此工程,直接點(diǎn)擊 IntelliJ IDEA下面的Terminal即可):
          //我的項(xiàng)目是放在這個位置,你們根據(jù)自己項(xiàng)目進(jìn)入工程即可
          cd d:/Vue-Workspace/vue-project-02
          • 然后使用npm命令安裝Element UI,以下2條命令是等效的(注意:以下 命令區(qū)分大小寫,例如最后的-S的字母是大寫的)
          //推薦第一種安裝命令
          npm i element-ui -S
          //或者下面這種寫法
          npm install --save element-ui
          • 安裝完成后,在工程的main.js中導(dǎo)入并使用Element UI:
          // main.js  文件配置中加入下面三行
          import ElementUI from 'element-ui'; 
          import 'element-ui/lib/theme-chalk/index.css'; 
          Vue.use(ElementUI);

          配置


          在頁面中顯示Element UI組件

          1):通過此前的學(xué)習(xí),你應(yīng)該知道有些文件在此工程中是可以不必保留的,應(yīng)該將這些文件刪除,例如:

          • – 刪除router/index.js中不必要的配置,

          – 刪除import HomeView from '../views/HomeView.vue'

          – 刪除routes常量中各對象(值為空數(shù)組即可)

          • – 刪除src/components/HelloWorld.vue
          • – 刪除src/views/HomeView.vue
          • – 刪除src/views/AboutView.vue

          2):如果你認(rèn)為這些頁面元素占據(jù)了100%寬度,并且默認(rèn)是靠左對齊的 (當(dāng)占據(jù)100%寬度時你可能看不出來),這樣的顯示效果不夠美觀,你可 以自行做一些調(diào)整:

          //使用你已經(jīng)掌握的CSS樣式進(jìn)行調(diào)整,例如:
          <div style="width: 500px; margin: 0 auto;"> <!-- 頁面元素 --> </div>
            //學(xué)習(xí)更多的Element UI的做法,例如:
            <div style="width: 500px; margin: 0 auto;"> 
              <!-- 頁面元素 --> 
              </div> 
          <el-row type="flex" justify="center"> 
            <el-col :span="12"> 
              <!-- 頁面元素 --> 
              </el-col> 
          </el-row>

          設(shè)計(jì)登錄視圖Demo

          修改APP.vue頁面,代碼如下:

          <template>
            <div id="app">
              <el-row type="flex" justify="center">
                <el-col :span="8">
                  <h3>用戶登錄</h3>
          <el-divider></el-divider>
          <el-form :model="ruleForm" status-icon :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
            <el-form-item label="用戶名" prop="username">
              <el-input v-model="ruleForm.username"></el-input>
          </el-form-item>
          <el-form-item label="密碼" prop="pass">
            <el-input type="password" v-model="ruleForm.pass" autocomplete="off"></el-input>
          </el-form-item>
          <el-form-item>
              <el-button type="primary" @click="submitForm('ruleForm')">提交</el-button>
          <el-button @click="resetForm('ruleForm')">重置</el-button>
          </el-form-item>
          </el-form>
          </el-col>
          </el-row>
          </div>
          </template>
          
          <script>
                export default {
          data() {
            var checkUsername=(rule, value, callback)=> {
              if (!value) {
                return callback(new Error('用戶名不能為空'));
              }
              callback();
            };
            var validatePass=(rule, value, callback)=> {
              if (value==='') {
                callback(new Error('請輸入密碼'));
              }
              callback();
            };
            return {
              ruleForm: {
                pass: '',
                username: ''
              },
              rules: {
                pass: [
                  { validator: validatePass, trigger: 'blur' }
                ],
                username: [
                  { validator: checkUsername, trigger: 'blur' }
                ]
              }
            };
          },
            methods: {
              submitForm(formName) {
                this.$refs[formName].validate((valid)=> {
                  if (valid) {
                    alert('submit!');
                  } else {
                    console.log('error submit!!');
                    return false;
                  }
                });
              },
                resetForm(formName) {
                  this.$refs[formName].resetFields();
                }
            }
          }
            </script>

          學(xué)習(xí)記錄,如有侵權(quán)請聯(lián)系刪除


          主站蜘蛛池模板: 日韩少妇无码一区二区三区| 成人精品一区二区激情| 国产福利91精品一区二区三区| 国产免费无码一区二区 | 午夜性色一区二区三区不卡视频 | 日韩AV片无码一区二区不卡| 国产成人无码一区二区在线播放| 亚洲一区二区三区国产精华液| 亚洲国产一区在线| 免费视频精品一区二区| 日韩AV无码一区二区三区不卡 | 午夜无码视频一区二区三区| 人妖在线精品一区二区三区| 精品一区二区三区色花堂| 一区二区中文字幕在线观看| 亚洲AV日韩综合一区尤物| 国产在线一区二区综合免费视频| 无码AⅤ精品一区二区三区| 精品一区二区91| 中文无码精品一区二区三区 | 亚洲AV无码一区二区三区DV| 一区二区三区在线| 一区二区三区91| 久久精品一区二区影院| 亚洲AV成人精品日韩一区18p| 在线免费视频一区| 视频一区二区三区人妻系列| 国产激情一区二区三区在线观看| 亚洲av无码一区二区三区人妖 | 国精品无码一区二区三区左线| 香蕉一区二区三区观| 另类一区二区三区| 久久亚洲一区二区| 国产精品香蕉在线一区| 国产欧美一区二区精品仙草咪| 国产乱码精品一区二区三区 | 清纯唯美经典一区二区| 亚洲一区二区三区香蕉| 亚洲一区二区三区91| 精品亚洲av无码一区二区柚蜜| 老湿机一区午夜精品免费福利|