vue局部样式和全局样式

插槽选择器

默认情况下,作用域样式不会影响到 <slot/> 渲染出来的内容,因为它们被认为是父组件所持有并传递进来的。使用 :slotted 伪类以明确地将插槽内容作为选择器的目标:

vue

<style scoped>
:slotted(div) {
  color: red;
}
</style>

全局选择器

如果想让其中一个样式规则应用到全局,比起另外创建一个 <style>,可以使用 :global 伪类来实现 (看下面的代码):

vue

<style scoped>
:global(.red) {
  color: red;
}
</style>

混合使用局部与全局样式

你也可以在同一个组件中同时包含作用域样式和非作用域样式:

vue

<style>
/* 全局样式 */
</style>

<style scoped>
/* 局部样式 */
</style>
### CSS公共样式的引入方法 #### 使用HTML `<link>` 标签引入外部CSS文件 最常见的方式是在 HTML 文件头部通过`<link>`标签引入外部 CSS 文件。这种方式适用于任何前端项目,无论是纯静态页面还是基于框架的应用程序。 ```html <link rel="stylesheet" href="/path/to/common.css"> ``` 此方式简单明了,适合于大多数场景下的样式表加载[^1]。 #### JavaScript 动态设置根元素字体大小 对于移动端适配方案,可以通过JavaScript动态调整文档根元素(`html`)的字体大小,从而实现灵活布局: ```javascript var docEl = document.documentElement; var clientWidth = docEl.clientWidth; if (clientWidth) { docEl.style.fontSize = 20 * (clientWidth / 320) + 'px'; } else { docEl.style.fontSize = "40px"; } ``` 这段脚本能够根据不同设备屏幕宽度自动计算并应用合适的字体尺寸。 #### Vue项目中的全局样式导入 在Vue CLI构建工具创建的应用里,可以在入口JS文件(main.js)中直接import公共样式文件,使其在整个应用程序范围内生效: ```javascript // main.js import './assets/css/global.css'; // 假设global.css是你项目的公共样式文件路径 ``` 另外,在单文件组件(SFC)内部也可以声明要使用的全局样式资源,只需将其放在<style>标签内,并加上scoped属性即可让这些样式仅作用于此组件局部;如果不加,则成为真正意义上的全局样式[^2]。 #### 定义使用CSS变量作为公共样式的一部分 为了提高可维护性灵活性,建议采用自定义属性(CSS Variables),即所谓的“CSS变量”。它们允许在一个地方定义颜色、间距等常用值,并可在整个样式表甚至多个文件之间重复利用。例如: ```css /* common.css */ :root { --main-bg-color: #fff; --text-primary: #333; } body { background-color: var(--main-bg-color); color: var(--text-primary); } ``` 这种方法不仅简化了代码编写过程,而且便于后续修改统一风格[^3]。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值