CSS基本语法
css的定义方法是:
选择器 { 属性:值; 属性:值; 属性:值;}
选择器是将样式和页面元素关联起来的名称,属性是希望设置的样式属性每个属性有一个或多个值,如果一个属性有多个值,中间用空格隔开
代码示例:
div{ width:100px; height:100px; color:red }
用处:设置网页的显示效果(设置样式)
css将网页的显示效果和内容分离(降低了耦合性)
@ 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属性就变得不那么容易了!
喜欢偶的回答就关注偶吧,有问题可以发表评论,大家一起学习,共同成长!
@ dw中怎么定义新css?
1、在dreamweaver cc中可以直接创建css文件,或在内面内手写输入css代码定义规则等等。
2、如果要使用可视化css编辑,可以使用css设计器,在默认的界面下,在软件窗口右侧的活动窗口内就可以找到css设计器。
例如:新建一个html文件,点击css设计器的“源”窗口的“+”号,选择创建css的方式,包括:新建css;附件已有的css或在页面内创建css样式。
3、点击“选择器“窗口的”+“号,选择body,可以看到下面的”属性“窗口内显示出可以编辑的属性列表,鼠标点击相应的属性就可以选择或填写数值进行编辑了,在编辑的时候在”设计“窗口会显示样式的变化。
4、最后如果是新建的css文件,保存路径要正确。
@ css选择器中后代选择器与子选择器的区别?
css后代选择器和子选择器的区别介绍:
1 css后代选择器语法:h1 em {color:red;} 表示的是从h1开始里面包含的所有的em元素变成红色,h1为祖先,其他的em都是后代,即选中后代,不管是儿子还是孙子,只要是都会被选中,为后代选择器。2、css子元素选择器语法:h1>em{color:red;} 表示的是从h1开始里面的第一层em元素变成红色,h1为祖先,em为儿子,就像世袭制一样,只能传给儿子,孙子和其他堂亲都不行