ホームページ >ウェブフロントエンド >jsチュートリアル >CSS モジュールのエレガント モードの使用法
今回は、エレガントモードでCSSモジュールを使用する方法と、エレガントモードでCSSモジュールを使用する際の注意事項
を紹介します。実際のケースを見てみましょう。 CSS モジュールは、コンポーネントのスタイルが相互に影響を与えないように、各ローカル クラスにグローバルに一意のクラス名を与えます。例:/* button.css */ .button { font-size: 16px; } .mini { font-size: 12px; }これは次のように変換されます:
/* button.css */ .buttonbutton--d8fj3 { font-size: 16px; } .buttonmini--f90jc { font-size: 12px; }CSS モジュール ファイルをインポートすると、ローカル クラス名からグローバル クラス名へのマッピング オブジェクトが提供されます。次のように:
import styles from './button.css' // styles = { // button: 'buttonbutton--d8fj3', // mini: 'buttonmini--f90jc' // } element.innerHTML = '<button class="' + styles.button + ' ' + styles.mini + '" />'vue-css-modules: 簡素化されたクラス名のマッピング
これは CSS モジュールを使用したボタン グループ
の部分です:<template> <button :class="{ 'global-button-class-name': true, [styles.button]: true, [styles.mini]: mini }">点我</button> </template> <script> import styles from './button.css' export default { props: { mini: Boolean }, data: () => ({ styles }) } </script>確かに、CSS モジュールは Vue コンポーネントの選択に適しています。 。ただし、次の欠点もあります:
<template> <button class="global-button-class-name" styleName="button :mini"> 点我 </button> </template> <script> import CSSModules from 'vue-css-modules' import styles from './button.css' export default { mixins: [CSSModules(styles)], props: { mini: Boolean } } </script>Now:
modifier
@button<button styleName="@button">按钮</button>これは次と同等です:
<button styleName="button" data-component-button="true">按钮</button>これにより、コンポーネントのスタイルを外部からリセットできます:
.form [data-component-button] { font-size: 20px; }$type
<button styleName="$type">按钮</button>これは次と同等です:
<button :styleName="type">按钮</button>:mini
<button styleName=":mini">按钮</button>これは次と同等です:
<button :styleName="mini ? 'mini' : ''">按钮</button> disabled=isDisabled <button styleName="disabled=isDisabled">按钮</button>これは次と同等です:
<button :styleName="isDisabled ? 'disabled' : ''">按钮</button>UsageVueテンプレートで使用するテンプレートの外にCSSモジュールを導入する
<template> <button class="global-button-class-name" styleName="button :mini"> 点我 </button> </template> <script> import CSSModules from 'vue-css-modules' import styles from './button.css' export default { mixins: [CSSModules(styles)], props: { mini: Boolean } } </script>テンプレート内で CSS モジュールを使用する
<template> <button class="global-button-class-name" styleName="button :mini"> 点我 </button> </template> <script> import CSSModules from 'vue-css-modules' export default { mixins: [CSSModules()], props: { mini: Boolean } } </script> <style module> .button { font-size: 16px; } .mini { font-size: 12px; } </style>Vue JSX で使用する
import CSSModules from 'vue-css-modules' import styles from './button.css' export default { mixins: [CSSModules(styles)], props: { mini: Boolean }, render() { return ( <button styleName="@button :mini">点我</button> ) } }Vue レンダリング関数で使用する
import CSSModules from 'vue-css-modules' import styles from './button.css' export default { mixins: [CSSModules(styles)], props: { mini: Boolean }, render(h) { return h('button', { styleName: '@button :mini' }, '点我') } }この記事の事例を読んだ後は、この方法を習得したと思います。関連記事はPHP中国語サイトにあります! 推奨読書: 🎜
以上がCSS モジュールのエレガント モードの使用法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。