css学习笔记

css学习笔记

层叠样式表:网页实际上是一个多层的结构,通过css可以分别为网页的每一个层来设置样式 最终看到的只是网页的最上边一层 css用来设置网页中的元素样式

第一种方式(行内样式):标签内部通过style设置元素样式(不推荐)
使用行内样式 只对一个标签生效 并且当样式发生变化时 不易维护
第二种方式(内部样式表):将样式写在head中的style标签里,可以同时为多个标签设置样式,并且只需要修改一处即可全部应用。内部样式更加方便对样式进行复用 缺点是只能对一个网页起作用,不能跨页面复用
第三种方式 (外部样式表):可以将css样式编写到一个外部的css文件中 然后通过link标签引入外部css文件 外部样式表需要通过link标签进行引入 只要想使用这些样式的网页都可以进行引用 使样式可以在不同的页面之间复用(最佳实践)将样式编写到外部的css文件中,可以用到浏览器的缓存机制从而加快网页的加载速度,提高用户的体验

基本语法

选择器 声明块(.class)
通过选择器可以选中页面中的指定元素
声明块
通过声明块来指定要为元素设置的样式 由一个一个的声明组成
生命是一个名值对结构 一个样式名对应一个样式值,名和值之间以:连接 以;结尾

常用选择器

元素选择器
id选择器 根据id属性值选中一个元素 #id属性值
类选择器 根据class属性值来选择一组元素 语法 .class属性值
class是一个标签的属性 和id类似 不同的是class可以重复使用可以通过class属性来为元素分类 可以同时为一个元素指定多个class 多个class之间空格隔开
通配选择器
选中页面中所有元素 语法*
交集选择器
选中同时满足多个条件的元素 选择器1选择器2选择器3选择器n{}
注意:交集选择器中如果有元素选择器,必须使用元素选择器开头
并集选择器
同时选择多个选择器对应的元素 选择器间,隔开
关系选择器
父子元素 祖先元素 后代元素 兄弟元素
直接包含子元素的元素叫做父元素 子元素直接被父元素包含
直接或间接包含后代元素的元素叫做祖先元素
一个元素的父元素也是他的祖先元素
直接或间接被祖先元素包含的元素叫做后代元素 子元素也是后代元素
拥有相同父元素的元素是兄弟元素

子元素选择器
选中指定父元素的指定子元素 语法:父元素>子元素
后代元素选择器
选中指定元素内的指定后代元素 语法: 祖先 后代
选择下一个兄弟
语法:前一个+后一个
选择下边所有兄弟
语法:兄~弟

[属性名]选择含有指定属性的元素
[属性名=属性值]选择含有指定属性和属性值的元素
[属性名∧=属性值]选择属性值以指定值开头的元素
[属性名¥=属性值]选择属性值以指定值结尾的元素
[属性名*=属性值]选择属性值中含有某值的元素的元素

伪类选择器

不存在的类,特殊的类
伪类用来描述一个元素的特殊状态:比如第一个子元素,被点击的元素
伪类一般情况下都是使用:开头
:first-child 第一个子元素 last—child最后一个子元素
nth—child()选中第n个子元素 特殊值n 第n个 n的范围0-正无穷
2n或even表示选中偶数位的元素 2n+1或odd 奇数位
以上伪类根据所有子元素进行排序
:first-of-type 功能相似 但是在同类型元素进行排序
:not 否定伪类将符合条件的元素从选择器中去除

a元素伪类
1.没有访问过的链接
2.访问过的链接
:link用来表示没访问过的链接(正常的链接)
:visited 用来表示访问过的链接 这两个伪类只适用于a类
由于隐私原因所以visted伪类只能修改链接的颜色
:hover表示鼠标移入的状态
active用来表示鼠标点击

伪元素选择器

表示页面中一些特殊的并不真实的存在的元素(特殊的位置)
伪元素使用::开头
::first-letter表示第一个字母:: first-line表示第一行 ::selection表示选中的内容 ::after元素的最后 ::before表示元素的开始
before和after必须结合content属性来使用永远在最前和最后

继承

样式的继承 为一个元素设置的样式也会应用到他的后代元素
继承是发生在祖先和后代之间的继承的设计是为了方便开发
利用继承可以将一些通用的样式统一设置到共同的祖先元素上
注意并不是所有的样式都会被继承 比如背景相关布局相关等这些样式都不会被继承

选择器的权重

样式的冲突,当我们通过不同选择器选中相同元素并且为相同样式设置不同的值时,发生了样式的冲突,应用哪个样式由选择器的权重决定

权重
内联样式
id选择器
类和伪类选择器
元素选择器
通配选择器
继承的样式(没有优先级)
比较优先级时将所有选择器优先级相加,最后优先级越高,越优先显示
分组优先级单独计算
选择器的累加不会超过最大的数量级 类选择器再高也不会超过id选择器
如果优先级计算后相同 优先使用靠下的样式
可以在某一个样式后边添加!import,则此时该样式会获取到最高的优先级甚至超过内联样式,注意在开发中 !import慎用

长度单位:

像素
像素越小的屏幕显示的效果更清晰
百分比
可以将属性值设置为相对于其父元素属性的百分比
设置百分比可以让子元素跟随父元素的改变而改变

em和rem
em是相对于元素的字体大小来计算的
1em=1font-size
em会根据字体大小的改变而改变
rem是相对于根元素的字体大小来计算的

颜色单位

在css中可以使用颜色名设置各种颜色
RGB值 语法RGB(红色,绿色,蓝色)值0-255之间
RGBA在rgb基础上加入a表示不透明度 1 表示完全不透明,0表示完全透明
十六进制rgb值 语法#红绿蓝

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值