<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        詳解.vue文件中style標簽的幾個標識符

        來源:懂視網 責編:小采 時間:2020-11-27 22:11:26
        文檔

        詳解.vue文件中style標簽的幾個標識符

        詳解.vue文件中style標簽的幾個標識符:.vue文件中style標簽的幾個標識符 在人生就要絕望的時候, 被編輯器所提示的一個scopedSlots所拯救. 臥槽, 寫到最后才發現這個屬性的具體卵用. 詳情見最后解決辦法. 問題背景 問題由來 項目中使用了elementUI框架, 與.vue文件. 現狀: <te
        推薦度:
        導讀詳解.vue文件中style標簽的幾個標識符:.vue文件中style標簽的幾個標識符 在人生就要絕望的時候, 被編輯器所提示的一個scopedSlots所拯救. 臥槽, 寫到最后才發現這個屬性的具體卵用. 詳情見最后解決辦法. 問題背景 問題由來 項目中使用了elementUI框架, 與.vue文件. 現狀: <te
      1. vue-laoder會解析組件, 提取語言塊. 在需要的時候, 經過其他的loader處理, 最后組裝成一個commonjs模塊.
      2. 其實就是export default出來一個對象 然后呢, 上面的<template>, 掛載在 這個對象的template屬性上
      3. 之前, 直接import引近來一些樣式文件也是可行的, 但當時并未思考這些標識如何實現.
      4. <style>可以有module和scoped屬性, 來將樣式封裝到組件中. 具有不同封裝模式的多個<style>標簽, 可以在一個組件中混合使用
      5. 默認情況下, style-loader會提取內容, 并通過<style>標簽, 加入到文檔的<head>中. 也可以通過配置webpack形成單個.css文件.
      6. $style配合<module>如何工作

        參考: https://vue-loader-v14.vuejs.org/zh-cn/features/css-modules.html

        <style>中使用一個module屬性, 可以形成名為$style的計算屬性從而在節點中動態綁定樣式.

        <span :class="$style.text">
         ...
        </span>

        形成的計算屬性可以綁定:class的object/array語法.

      7. 在html中 class綁定的事一個object語法.
      8. 如果在data上面的isRed這個屬性是true的話, 就會添加上red這個屬性名
      9. 從而形成了一個屬性控制
      10. <span :class="{[$style.red] : isRed}">
         測試
        </span>
        <script>
         data() {
         return {
         entries: [],
         isRed: true,
         };
         },
        </script>
        <style module>
         .red {
         color: red;
         }
        </style>
      11. 可以在js中通過console.log(this.$style.red)進行訪問
      12. 可以使用module=''來更改$style這個名稱
      13. <div :class="aaa.root">
        </div>
        <style lang="less" module="aaa">
        </style>

        scoped的作用域是如何的

        <style></style>標簽有scoped屬性的時候, 他的css樣式只作用在當前作用域

        使用了scoped之后, 父組件的樣式不會再深入到自組件.

      14. 不過子組件的根節點同時受到 父組件有作用域的CSS 和 子組件有作用域的影響
      15. 但是有一點: 如果我們在子組件上面添加了一個類樣式 就能向下一層層的進行修改
      16. 深度作用選擇器: >>> 或者是 /deep/

      17. 已驗證: 在less下面不起作用
      18. 已驗證: 在普通的css下才起作用.
      19. 據網上說, stylus起作用, scss不起作用, 并未驗證
      20. v-html動態生成的樣式不受作用域內樣式影響, 但我想應該加個類樣式名稱,可以解決.(未驗證)

        css的作用域的渲染方式, 遠不如class的渲染速度

        遞歸組件中, 小心使用CSS樣式.

        element中樣式的混入方式 (todo)

      21. 通過打包進行樣式的使用, 故使用方式在build的文件夾中
      22. 樣式目錄為: element/packages/theme-chalk/src/menu.scss, 以方便后期的具體查看
      23. 解決過程

        使用scopedSlots解決

        我擦哦, 再次測試后, 發現添加scopedSlots并沒有什么卵用, 和什么都不寫是他媽一個樣子啊.. 我說怎么, 怎么查了半天, 也沒人用.
        還被這玩意所拯救, 也真是夠了..
        當時還驕傲了半天, 還以為是發現了新天地, 也真是6了.

        添加scoped之后, 在子組件上面添加類樣式名, 發現并沒有卵用

        錯誤依舊: 只是在表面層上的有一些data-v的注入

        沒有找到需要注入到里面的條件, 發現自己前面大部分的判斷都是錯誤的.

        解決方案一:scoped方案

      24. 將無法進行樣式覆蓋的部分拿出來
      25. 使用原生的css樣式, 添加scoped
      26. 使用 >>> 語法糖進行樣式的注入
      27. <style scoped>
        
        .main_nav .el-menu .el-submenu >>> .el-submenu__title {
         background-color: red;
        }
        </style>

        解決方案二: module方案

      28. 使用module進行屬性的選擇
      29. 然后是用:global()進行這個屬性下面的全部選擇
      30. 進而選中這個沒有在作用域下面但是可以選擇到的元素
      31. 個人始終認為這種選擇方案, 可以做到css作用域的區分, 但是, 并不靈活
      32. 具體的以后再分析
      33. <style lang="less" module="aaa">
        .red {
         .item {
         :global(.el-submenu__title) {
         background: red;
         }
         }
        }
        </style>

        總結

      34. .vue文件中的<style></style>只有modulescoped, 沒有其他取巧方案
      35. module形成一個代表屬性的計算屬性, 默認名稱為$style, 其中的:global()可以進行這個區域下面的所有元素的選擇.
      36. scoped形成的作用域, 可以通過>>>來進行子組件的樣式覆蓋, 帶只要原生的css支持.
      37. 聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        詳解.vue文件中style標簽的幾個標識符

        詳解.vue文件中style標簽的幾個標識符:.vue文件中style標簽的幾個標識符 在人生就要絕望的時候, 被編輯器所提示的一個scopedSlots所拯救. 臥槽, 寫到最后才發現這個屬性的具體卵用. 詳情見最后解決辦法. 問題背景 問題由來 項目中使用了elementUI框架, 與.vue文件. 現狀: <te
        推薦度:
        標簽: VUE style vue文件
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲毛片αv无线播放一区| 国产一精品一AV一免费孕妇| 免费看一级做a爰片久久| 亚洲最大av资源站无码av网址| 亚洲一级毛片免费在线观看| 亚洲黄色免费观看| 亚洲三级在线免费观看| 亚洲男人天堂2018av| 女人张开腿给人桶免费视频 | 女人与禽交视频免费看| 亚洲精品理论电影在线观看| 国产精品色午夜视频免费看| 美女被免费网站视频在线| 亚洲男人的天堂在线va拉文| a免费毛片在线播放| 无码欧精品亚洲日韩一区| 亚洲综合免费视频| 亚洲色大成网站www永久男同| 四虎成人免费网站在线| 国产AV无码专区亚洲AV琪琪 | 久久精品国产亚洲av麻豆小说| 国产成人精品免费视频大| 亚洲午夜成人精品无码色欲| 亚洲成av人片在线观看天堂无码| 在线看片免费人成视频福利| 亚洲日本在线免费观看| 国产精品色午夜视频免费看| 久久免费99精品国产自在现线 | 一级中文字幕乱码免费| 亚洲Av无码精品色午夜| 91情侣在线精品国产免费| 香蕉97碰碰视频免费| 亚洲色图国产精品| 免费在线观看你懂的| 最近免费中文字幕大全免费| 色五月五月丁香亚洲综合网| 图图资源网亚洲综合网站| 在线a毛片免费视频观看| 3344在线看片免费| 亚洲精品无码日韩国产不卡av| 久久精品国产亚洲网站|