在上述定义中,p标签将引用CSS文件中的title样式应用到整个p覆盖的范围。p将显示为一个上下左右margin各为10px,上下padding为2px,左右padding为5px的矩形。 请注意类别选择器CSS定义和标记选择器的区别:在CSS文件中,标记选择器前边没有"."号,下面大家还会讲到ID选择器,它的定义也不一样,每个ID选择器样式前有一个"#"号,以确定其为ID选择器,而在HTML中则用ID="style"引用。值得注意的是,一个标签可以同时应用多个class选择器,如,具体大家可以在下边思考并做下实验,笔者在这就不举例了。3.ID选择器(1)ID选择器用法和class基本没有区别,他们的不同之处就在于ID选择器只能在HTML页中使用一次,而class则可以任意多次调用,在CSS文件中,ID 选择器一般写成 #idname { bgcolor:#339; font-size:16px;}如果一个ID应用于多个HTML标记,则有可能造成IE编译错误,并且由于ID选择器可以被JAVASCRIPT等调用,所以多个ID会导致JAVA编译错误并崩溃! (2)HTML的引用 在HTML中引用ID选择器的代码如下所示: 并且ID选择器不能像类别选择器那样同时被一个标签调用。这也是完全错误的语法。 复合选择器就是基本选择器通过不同的链接方式构成的。 复合选择器就是两个或多个基本选择器,通过不同方式链接而成的选择器。
@ css复合选择器有哪三种?
1、元素选择器 标签名{ }
2、id选择器 #id属性值{ }
3、类选择器 .class属性值{ }
4、选择器分组(并集选择器)
作用:通过它可以同时选中多个选择器对应的元素(通常用于集体声明)
语法:选择器1,选择器2,选择器n{ }
5、复合选择器(交集选择器)
作用:选择更准确更精细的目标元素并为其设置属性
语法:选择器1选择器2选择器n{ }
!注意选择器之间不能有空格,要紧挨在一起
6、通配选择器
作用:用来选中页面中所有的元素
语法:*{ }
7、后代元素选择器
作用:选中指定元素的指定后代元素
语法:祖先元素 后代元素{ }
8、子元素选择器
作用:选中指定父元素的子元素
语法:父元素>子元素
9、伪类选择器
伪类表示元素的一种特殊状态
:hover 移入时元素的状态
:visited 已被访问过后的元素的状态
:active 被点击时元素的状态
10、 属性选择器
作用:根据元素中的属性或属性值来选取指定元素
语法:[属性名]选取含有指定属性的元素
? [属性名=“属性值”]选取含指定属性值的元素
? [属性名^="属性值"] 选取属性值以指定内容开头的元素
? [属性名$="属性值"] 选取属性值以指定内容结尾的元素
? [属性名*="属性值"] 选取属性值包含指定内容的元素
11、兄弟元素选择器
+选择器
作用:选中一个元素后紧挨着的指定的兄弟元素
语法:前一个+后一个(作用在后一个)
~选择器
作用:选中后边所有的制定兄弟元素
语法:前一个~后边所有
@ input标签中type怎么用css选择?
可以用css3中新增的选择器“[attribute=value]”来同时选中指定的属性的标签。
1、新建html文档,添加5个input标签,其中第一个和最后一个“type”属性的属性值为“text”:
2、在head标签和body标签之间添加style标签,添加代码“input[type=text]”,“input”指的是标签名,“type”指的是属性名,“text”指的是属性值,这个就会把所有属性名为“type”、属性值为“text”的input标签选中:
3、为被选择的标签设置背景色为红色,这时属性值为“text”的第一个标签和最后一个标签背景色都变成了红色:
@ postcss和cssmodule是什么?
postcss是什么?
根据官网的解释,它是一种javascript编写的工具,用来转化css的。可以认为它是处理css的插件集合,需要配合诸如webpack、gulp等编译工具才能展现它强大的能力。
目前社区提供了非常多的插件,比较有名的如下:
autoprefixer 可以为css的属性配置兼容性的前缀,不需要手动添加postcss-preset-env 允许你使用更加现代的css特性stylelint 检查css语法错误cssnano css的压缩器等等postcss的原理
如果大家了解babel的原理,那就应该听说过AST即抽象语法树。编译器将字符串进行词法分析、语法分析,再做转换,最终达到预期的结果。postcss也是同样的原理,这个包已经为使用者提供了解析的方法parse,并且也提供了很多转化的API,利用这些就可以自己开发一款postcss插件了。
css Module是什么?
先前呢,大家使用css选择器,它是对整个页面是有效的,也就是全局的,当你每次迭代需求的时候,需要考虑每次添加新的css是否会影响到其他地方,所以大家有时选择为样式表添加命名空间。css Module为大家提供了另外一种开发方式,它可以使css具有局部作用域。
用法如下:
用法是如此的简单,基本一看就会,css-loader为大家提供了css Module的开关,只要为css-loader添加参数选项modules就可以开启。注意:它必须放在less或者sass的loader之前。
那它如何做到局部作用域的呢?
打开element面板可以发现,它把class变成了md5戳,对应每个组件,保持唯一。
vue的scoped
由此大家联想到vue的scoped,它也解决了css局部作用域的问题!
它在dom上生成了一个data属性,并且给class选择器添加了属性选择器,类似于之前的md5戳。不过由于添加了属性选择器,使得选择器的优先级变高了,想在组件外面覆盖css属性就变得不那么容易了!
喜欢偶的回答就关注偶吧,有问题可以发表评论,大家一起学习,共同成长!
如果觉得《css选择器权值大小 熟练掌握并默写标记选择器的基本语法 – CSS – 前端 css 文字 换行》对你有帮助,请点赞、收藏,并留下你的观点哦!