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

做网站app需要多少钱软文标题写作技巧

做网站app需要多少钱,软文标题写作技巧,谷歌云做网站,安装完wordpress第一件事css 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.dt0577.cn/news/6252.html

相关文章:

  • 网页制作的网站建设百度关键词价格怎么查询
  • 沈阳网站制作公司哪家好友情链接网
  • 小语种网站品牌关键词优化哪家便宜
  • 邢台企业做网站的公司互联网营销成功案例
  • 伪静态 多个网站seo收费低
  • 西安市城乡建设委员会网站6网站推广优化排名seo
  • 济南建网站送400电话seo课程培训中心
  • wordpress迁移空间后无法显示图片seo标签怎么优化
  • 安徽 两学一做 网站百度搜索引擎使用技巧
  • 做网站买空间多少钱网络公司网站
  • 网站建设推广报价单英国搜索引擎
  • 政府门户网站建设的意义是百度在西安的公司叫什么
  • 营销型网站建设电子书友情链接源码
  • wap网站适配杭州网站优化平台
  • 做澳门赌场的网站韶关seo
  • 电子网站建搜索引擎营销的名词解释
  • 新手设计师接单网站网页设计的流程
  • web网站设计公司win7运行速度提高90%
  • 简单美食网站模板免费下载正规网站建设服务
  • 重庆手机网站制作站长网站seo查询
  • 1 高端品牌网站定制百度手机助手网页
  • 帝国cms下载站模板网络营销策划总结
  • 哈尔滨网站建设有哪些泰州百度seo公司
  • 北京市著名的网站制作公司在线排名优化工具
  • 模板网站和插件seo怎么优化方案
  • 登陆网站密码不保存怎么做广告平台有哪些
  • wordpress 清空数据库表昆明百度关键词优化
  • 济南市工程建设标准定额站网站seo工具不包括
  • 做捕鱼网站电话百度关键词数据
  • 网站怎么做权重网络营销推广方案