美文网首页
00007.样式的模块化

00007.样式的模块化

作者: 笑着字太黑 | 来源:发表于2025-04-14 11:57 被阅读0次

1.Angular

通过组件的装饰器styleUrls引入(通常是.css或.scss文件),
Angular默认使用ViewEncapsulation.Emulated来封装组件的样式,这意味着样式会被限制在组件内部,不会影响到外部。但你可以改变这种封装方式,例如使用ViewEncapsulation.None或ViewEncapsulation.ShadowDom,这样可以让样式穿透封装,应用到父组件或其他组件上。例如:

import { Component } from '@angular/core';
 
@Component({
  selector: 'app-my-component',
  templateUrl: './my-component.component.html',
  encapsulation: ViewEncapsulation.None,
  styleUrls: ['./my-component.component.css']  // 引入CSS文件
})
export class MyComponent { }

2.Vue

在Vue单文件组件中,使用<style>标签定义样式
你可以使用<style>标签的scoped属性来确保样式只应用于当前组件,而不会影响到其他组件。
如果希望子组件也可以使用父组件定义的样式,那就不要使用<style>标签的scoped属性

<template>
  <div class="example">Hello World</div>
</template>
 
<script>
export default {
  name: 'ExampleComponent'
}
</script>
 
<style scoped>
.example {
  color: red;
}
</style>

在.vue文件中使用Sass

<style scoped lang="scss">
</style>

React

(React定义的式样好像默认是全局公用的,无法控制,学习中还不太确定)
将CSS文件定义为模块化文件xxx.module.css,然后在导入时可以指定导入的CSS模块名字来控制使用范围。

创建CSS文件:例如,Button.module.css。
/* Button.module.css */
.button {
  background-color: blue;
  color: white;
  padding: 10px;
  border: none;
  border-radius: 5px;
}
在React组件中导入并使用CSS模块:可以给导入的CSS模块指定个名字来使用(这里是styles)
import React from 'react';
import styles from './Button.module.css'; // 导入CSS模块
 
function Button() {
  return <button className={styles.button}>Click me</button>; // 使用模块化的类名
}
 
export default Button;

相关文章

  • 5分钟上手Sass

    用作变量 定义变量 使用变量 样式嵌套 Modules 样式模块化 通常命名以下滑线开头: _base.scss ...

  • React组件中的DOM样式

    React组件中的DOM样式 一、行内、class、模块化 二、根据不同的条件添加不同的样式 安装classnam...

  • style-components的使用

    style-components是使css实现模块化的使用:1 安装 2 (1)全局样式首先创建全局样式文件,以....

  • vue样式加scoped后不能覆盖组件的原有样式解决方法

    为了vue页面样式模块化,不对全局造成污染,建议每个页面的style标签加上scoped,表示他的样式只属于当前的...

  • .vue文件中引入单独的css文件

    问题描述 单页面应用中一般把样式文件写在.vue文件中,如下: // 如果引入单独的css样式文件,也实现模块化(...

  • React 样式模块化

    依赖模块 webpack.config.js 配置文件 导入CSS JSX 与 CSS的互转转换工具 : http...

  • 局部覆盖样式。不生效时。

    在我们使用第三方UI组件库开发时有时需要对这些组件进行一些样式修改。为了vue页面样式模块化,不对全局样式造成污染...

  • React — css 样式的模块化

    问题描述 当不同组件中的css规则,存在冲突时,高优先级的样式,就会覆盖低优先级的样式,示例如下: 目录结构 样式...

  • 2016.07.06

    conclusion 修改了一些样式 myblog 模块化了一些,添加了分页的80%功能 plan 关注进度,处理...

  • vue中的scoped底层怎么实现的,为何慎用

    scoped的作用: 在vue组件中,为了使样式私有化(模块化),不对全局造成污染,可以在 style 标签上添加...

网友评论

      本文标题:00007.样式的模块化

      本文链接:https://www.haomeiwen.com/subject/bvblbjtx.html