当前位置: 首页 > news >正文

做网站app需要多少钱百度明星人气榜入口

做网站app需要多少钱,百度明星人气榜入口,外贸公司管理系统,商城小程序 wordpresscss modules 什么是 css modules 因为 React 没有Vue的Scoped,但是React又是SPA(单页面应用),所以需要一种方式来解决css的样式冲突问题,也就是把每个组件的样式做成单独的作用域,实现样式隔离,而css modules就是一种…

css modules

什么是 css modules

因为 React 没有Vue的Scoped,但是React又是SPA(单页面应用),所以需要一种方式来解决css的样式冲突问题,也就是把每个组件的样式做成单独的作用域,实现样式隔离,而css modules就是一种解决方案,但是我们需要借助一些工具来实现,比如webpackpostcsscss-loadervite等。

如何在Vite中使用css modules

css modules,可以配合各种css预处理去使用,例如lesssassstylus等。

npm install less -D # 安装less 任选其一
npm install sass -D # 安装sass 任选其一
npm install stylus -D # 安装stylus 任选其一

在Vite中css Modules 是开箱即用的,只需要把文件名设置为xxx.module.[css|less|sass|stylus],就可以使用css modules了。

  • src/components/Button/index.module.scss
.button {color: red;
}
  • src/components/Button/index.tsx
//使用方法,直接引入即可
import styles from './index.module.scss';export default function Button() {return <button className={styles.button}>按钮</button>;
}
  • 编译结果, 可以看到button类名被编译成了button_pmkzx_6,这就是css modules的实现原理,通过在类名前添加一个唯一的哈希值,来实现样式隔离。
<button class="button_pmkzx_6">按钮</button>

修改css modules 规则

  • 在vite.config.ts中配置css modules的规则
export default defineConfig({css: {modules: {localsConvention: 'dashes', // 修改css modules的类名规则 可以改成驼峰命名 或者 -命名等generateScopedName: '[name]__[local]___[hash:base64:5]', // 修改css modules的类名规则},},
});

例子 例如设置为(localsConvention:camelCaseOnly)驼峰命名

camelCase 和 camelCaseOnly 区别在于,camelCase 会把非驼峰的命名转为驼峰,并保留之前的类名,而 camelCaseOnly 只会把非驼峰的命名转为驼峰,并删除之前的类名。

  • src/components/Button/index.module.scss
.button-red {color: red;
}
  • src/components/Button/index.tsx

设置为驼峰之后,使用的时候需要使用驼峰命名,例如buttonRed,而不是button-red

import styles from './index.module.scss';export default function Button() {return <button className={styles.buttonRed}>按钮</button>;
}

例子 例如设置为(localsConvention:dashesOnly)会将所有-的类名转化为驼峰,并且原始的类名会被删除

dashes 和 dashesOnly 区别在于,dashes 会保留原始的类名,而 dashesOnly 会删除原始的类名。

  • src/components/Button/index.module.scss
.button-red {color: red;
}
  • src/components/Button/index.tsx

设置为原始命名之后,使用的时候需要使用驼峰命名,例如buttonRed,而不是button-red

import styles from './index.module.scss';export default function Button() {return <button className={styles.buttonRed}>按钮</button>;
}

如果想同时支持驼峰命名和-连接的命名,可以设置为localsConvention:[camelCase|dashes],这样就可以同时支持驼峰命名和-连接的命名。

例子 修改css modules的类名规则

  • 在vite.config.ts中配置css modules的规则
export default defineConfig({css: {modules: {generateScopedName: '[local]_[hash:base64:5]' // 只保留类名和哈希值// 或者generateScopedName: '[hash:base64:8]' // 只使用哈希值// 或者generateScopedName: '[name]_[local]' // 只使用文件名和类名,没有哈希// 或者generateScopedName: '[local]--[hash:base64:4]' // 自定义分隔符},},
});

编译结果

<button class="button_pmkzx_6">类名 + 哈希值</button>
<button class="pmkzx_6">哈希值</button>
<button class="index-module_button">文件名 + 类名</button>
<button class="button--pmkzx_6">类名 + 分隔符 + 哈希值</button>

维持类名

意思就是说在样式文件中的某些样式,不希望被编译成css modules,可以设置为global,例如:

.app{background: red;width: 200px;height: 200px;:global(.button){background: blue;width: 100px;height: 100px;}
}
//在使用的时候,就可以直接使用原始的类名 button
import styles from './index.module.scss';
const App: React.FC = () => {return (<><div className={styles.app}><button className='button'>按钮</button></div></>);
}
http://www.tj-hxxt.cn/news/126623.html

相关文章:

  • 汨罗网站建设做网站需要什么技术
  • 如何做网站预览免费引流推广工具
  • 没有网站可以做备案吗小红书软文推广
  • 网站建设框架都有哪些内容如何建网站详细步骤
  • 自己如何做公司网站优化网站排名解析推广
  • 唐山网站搭建竞价外包托管费用
  • 网站反连接能去百度上班意味着什么
  • 用香港服务器建网站做微商餐饮营销方案
  • wordpress链接网盘网站seo外链平台
  • 好文案网站2022最新永久地域网名
  • 做解析视频网站违法莫百度云盘登录
  • 奇迹网页游戏排行太原seo培训
  • 网站栏目标题广州市口碑seo推广
  • 石家庄建设集团谷歌seo优化
  • 做黄色网站怎么防止被抓软文代写新闻稿
  • 公司网站建设开题报告品牌营销平台
  • 长沙整站优化广告营销策略
  • 做啤酒行业的网站长沙网站制作策划
  • 商城微网站建设方案今日军事新闻最新消息新闻报道
  • 落地页模板网站郑州网站建设推广优化
  • 怎么查看网站有没有做ssl网站案例分析
  • 网站运营团队哈尔滨seo网络推广
  • 英文b2c网站建设民生热点新闻
  • 蚌埠 网站制作网站seo优化徐州百度网络
  • 网站建设销售客户疑问微信推广软件
  • 在哪个网站做兼职淘宝客服谷歌浏览器官方app下载
  • 网站做调查需要考虑的内容专业网络推广
  • 做神马网站快速排网站推广和宣传的方法
  • dw做的网站能直接使用吗公司做网站推广
  • 做网站用微软雅黑百度公司好进吗