组件中 style 标签 lang 属性和 scoped 属性的介绍| 学习笔记

简介: 快速学习组件中 style 标签 lang 属性和 scoped 属性的介绍

开发者学堂课程前端自动化构建工具 Webpack组件中 style 标签 lang 属性和 scoped 属性的介绍】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/587/detail/8234


组件中 style 标签 lang 属性和 scoped 属性的介绍

基本内容

一、login.vue

二、Account.vue

 

一、login.vue

如果在登陆子组件写样式,写出来的样式只是写程序人员自己使用,副组件并不会使用到该样式;

<template>

<div>

<h3>这是Account的登陆子组件,使用vue.文件定义出来的-{ {msg}</h3>

问:这个组件能不能有自己的数据?

答:在网页中,每个组件都有对应的 method

</div>

</ template>

< script>

</ script>

<style >

div {

color: red

</style>

}

当一点击登陆,所以有组件都变红,这样显示的是全局样式;

image.png

首先检查根路由,程序上没有问题;“GoodList”没有问题;“Account”没有问题;点击“注册”没有问题;

提问:组件为什会变为红色?

解答:因为只有在登录的组件中写了红色,把所有 div 里面的颜色写成了红色;现在考虑只把登陆内部的颜色变为红色,但是外部 Account 也被变为了红色,也被套写,这是因为组件中的根容器,根元素决定的App也被套写,

那么,上述程序中的div是组件中私有的样式还是全局样式?根据上图可知,它是全局样式。

l 当加入scoped之后:

<template>

<div>

<h3>这是Account的登陆子组件,使用vue.文件定义出来的-{ {msg}</h3>

问:这个组件能不能有自己的数据?

答:在网页中,每个组件都有对应的 method

</div>

</ template>

< script>

</ script>

<style scoped >

div {

color: red

</style>

}

没有修改符元素;只有点击“登录”时,它才会变为红。

image.png

scoped 是将内部属性改变,而不改变外部属性;

 

二、Account.vue

<template>

<div>

<h3>这是Account 组件</h3>

<router-link to="/account/login">登陆</router-link>

<router-link to="/account/register">注册/router-link >

<router-view></router-view >

</div>

</ template>

<script>

</ script>

<style>

body {  //属于scss语法,但是不可以这样写,此时会发生报错。//

div {

font-style : italics;  

}

}

</style>     错误写法!请注意!

// 普通的style标签只支持普通的样式,如果想要启用scssless,需要为style元素设置lang 属性。//

<style lang=scssscoped>

body {

div {

font-style : italics;  

}

}

</style>

l  其他种类的 lang 属性

1、普通的:<style with css>

2、含有 scoped 的:<style with css scoped>

3、全局的:<style with less>

4、私有的:<style with less scoped>

只要写关于样式的程序,要是是关于全局的,一般都要加上“scoped”。

// 只要 style 标签,是在.vue 组件中定义的,那么推荐的都为 style 开启 scoped 属性。//

因为 style 是专门属于 Account 当前的组件,不应该让某个样式设置为全局的,只要让样式在组件内生效就可以了,这是推荐开启 scoped 属性的原因之一。


相关文章
|
前端开发 容器
CSS display属性的作用
CSS display属性
144 0
CSS display属性的作用
|
2月前
|
前端开发
如何处理 <style scoped> 中 CSS 类名的冲突问题?
如何处理 <style scoped> 中 CSS 类名的冲突问题?
|
5月前
|
前端开发 开发者
CSS列表属性:list-style系列属性详解
CSS列表属性:list-style系列属性详解
217 40
|
6月前
|
前端开发
CSS列表属性
CSS列表属性。
36 5
|
6月前
|
前端开发
CSS中class的样式赋值方法详解
CSS中class的样式赋值方法详解
137 0
|
前端开发 小程序
UniApp 解决 style 绑定 css 变量,支持 var() 使用
UniApp 解决 style 绑定 css 变量,支持 var() 使用
2162 0
|
JavaScript 开发者
veu 中通过属性绑定为元素绑定 style 行内样式|学习笔记
快速学习 veu 中通过属性绑定为元素绑定 style 行内样式
123 0
veu 中通过属性绑定为元素绑定 style 行内样式|学习笔记
|
Web App开发 XML 移动开发
JavaScript特性(attribute)、属性(property)和样式(style)
最近在研读一本巨著《JavaScript忍者秘籍》,里面有一篇文章提到了这3个概念。 书中的源码可以在此下载。我将源码放到了线上,如果不想下载,可以直接访问在线网址,修改页面名就能访问到相应示例代码。
JavaScript特性(attribute)、属性(property)和样式(style)
|
JavaScript 前端开发
css属性与js中style对象的属性对应表
css属性与js中style对象的属性对应表 CSS语法(不区分大小写) JavaScript语法(区分大小写) border border border-bottom borderBottom border-bottom-color borderBot...
1182 0