CSS.1-基础知识,选择器,字体和文本样式,Chrome调试工具,拓展,背景相关属性,元素显示模块,css特性

目录

一.基础知识

1.介绍

2.引入方式

(1)内嵌式

(2)外联式

(3)行内式

二.基础选择器

1.标签选择器

2.类选择器

3.id选择器

4.通配符选择器

三.字体和文本样式

1.字体大小

2.字体粗细

3.字体样式

4.字体

(1)字体样式

(2)文本样式

四.Chrome调试工具

五.拓展

1.颜色取值

2.标签水平居中

六.进阶选择器

1.复合选择器

(1)后代选择器( )

(2)子代选择器(>)

2.并集选择器(,)

3.交集选择器(紧挨)

4.hover伪类选择器

七.背景相关属性

1.背景颜色(bgr)        

2.背景图片(bgi)

3.背景平铺(bgr)

4.背景位置(bgp)

5.背景属性连写(bg)

6.背景图与img

八.元素显示模块

1.块级元素

2.行内元素

3.行内块元素

4.元素显示模式转换

5.标签的嵌套

九.CSS特性

1.继承

2.层叠性

3.优先级

(1)优先级

(2)权重叠加计算


一.基础知识

1.介绍

Cascading style sheets 层叠样式表 决定样式美观 给页面中的HTML标签设置样式

2.引入方式

(1)内嵌式

写在style标签中,style标签可写在页面任意 位置, 通常约定写在head标签里面,title标签的下面

(2)外联式

写在一个单独的.css文件中, 通过link标签在网页中引入 

(3)行内式

写在标签的style属性中, 配合js使用

二.基础选择器

        选择页面中对应的标签(找她),方便后续设置样式(改她)

1.标签选择器

标签名{css属性名:  属性值; }           通过标签名,找到页面中所有这类标签,设置样式                

注意:
  • 标签选择器选择的是一类标签,而不是单独某一个
  • 标签选择器无论嵌套关系有多深,都能找到对应的标签

2.类选择器

.类名 { css属性名:  属性值; }            通过类名,找到页面中所有带有这个类名的标签,设置样式 

注意:  

  • 所有标签上都有class属性,class属性的属性值称为类名(类似于名字)
  • 类名可以由数字、字母、下划线、中划线组成,但不能以数字开头
  • 一个标签可以同时有多个类名,类名之间以空格隔开 <p class="class1 class2">hh</p>
  • 类名可以重复,一个类选择器可以同时选中多个标签

3.id选择器

#id属性值{css属性名:  属性值; }      通过id属性值, 找到页面中带有这个id属性值的标签, 设置样式

注意:

  • 所有标签上都有id属性
  • id属性值类似于身份证号码,在一个页面中是唯一的,不可重复的!通常不做美化效果,而是配合js使用
  • 一个标签上只能有一个id属性值
  • 一个id选择器只能选中一个标签
  • id名可以由数字、字母、下划线、中划线组成,但不能以数字或者中划线开头

4.通配符选择器

*{css属性名:  属性值; }     找到页面中所有标签(未通过其他选择器设置样式的标签),设置样式

注意:

  • 开发中使用极少,只会在极特殊情况下才会用到
  • 在小页面中可能会用于去除标签默认的margin和padding

三.字体和文本样式

写在选择器中, 属性名,属性值

1.字体大小

font-size:  数字px;

注意:
  • 谷歌浏览器默认文字大小是16px
  • 单位需要设置,否则无效

2.字体粗细

font-weight:  数字px /单词;         

正常: normal = 400   加粗:bold =700      数字:100~900整百数

注意:

  • 不是所有字体都提供了九种粗细,因此部分取值页面中无变化
  • 实际开发中以:正常、加粗两种取值使用最多

3.字体样式

font-style:    normal正常(默认值) / italic倾斜

4.字体

(1)字体样式

font-family        常见取值:具体字体1,具体字体2,具体字体3,具体字体4,...,字体系列

  • 具体字体:"Microsoft YaHei"、微软雅黑、黑体、宋体、楷体等……
  • 字体系列:sans-serif、serif、monospace等……

渲染规则:

  • 从左往右按照顺序查找,如果电脑中未安装该字体,则显示下一个字体
  • 如果都不支持,此时会根据操作系统,显示最后字体系列的默认字体

注意:

  • 如果字体名称中存在多个单词,推荐使用引号包裹
  • 最后一项字体系列不需要引号包裹
  • 网页开发时,尽量使用系统常见自带字体,保证不同用户浏览网页都可以正确显示

常见字体​​​​​​​

①无衬线字体

  • 特点:文字笔画粗细均匀,并且首尾无装饰
  • 场景:网页中大多采用无衬线字体
  • 常见该系列字体:黑体、Arial

②衬线字体

  • 特点:文字笔画粗细不均,并且首尾有笔锋装饰
  • 场景:报刊书籍中应用广泛
  • 常见该系列字体:宋体、Times New Roman

③等宽字体

  • 特点:每个字母或文字的宽度相等
  • 场景:一般用于程序代码编写,有利于代码的阅读和编写
  • 常见该系列字体:Consolas、fira code

样式层叠

如果给同一个标签设置了相同的属性,此时样式会层叠(覆盖),写在最下面的会生效(后面的属性值覆盖前面的)

字体font相关属性连写

font(复合属性)      font : style weight size family;

省略要求: 只能省略前两个,如果省略了相当于设置了默认值

注意:  如果需要同时设置单独和连写形式 要么把单独的样式写在连写的下面 要么把单独的样式写在连写的里面

(2)文本样式

文本缩进 

text-indent:  数字px/ 数字em;        推荐:1em = 当前标签的font-size的大小

水平对齐方式

text-align:  left/center/right;       左对齐/居中对齐/右对齐

注意:  如果需要让文本水平居中,text-align属性给文本所在标签(文本的父标签)设置

text-align:  center;   可用于文本,span标签,a标签,input标签,img标签

文本修饰线

text-decoration:  underline/ line-through/ overline/ none; 下划线/删除线/上划线/无装饰线

注意:   开发中会使用 text-decoration : none ; 清除a标签默认的下划线

行高

line-height: 数字px/ 倍数(当前标签font-size的倍数);

应用:
  • 让单行文本垂直居中可以设置 line-height : 文字父元素高度
  •  网页精准布局时,会设置 line-height : 1 可以取消上下间距
行高与font连写的注意点:
  • 如果同时设置了行高和font连写,注意覆盖问题
  • font : style weight size/line-height family ;

四.Chrome调试工具

调试面板: 谷歌浏览器内右击+检查 / Fn+F12

常见问题:

  • Style中代码上有删除线,未生效,可能被同类属性层叠(覆盖)或注释, 前有黄色! 代码语法有误
  • 调节字体或面板等的大小 
  • 增加效果, 或筛选效果

 

查错:

五.拓展

1.颜色取值

文字颜色 color          背景颜色 background-color

#fff : 白色   #000黑色   #ffaabb两数字为一组

2.标签水平居中

margin : 0 auto

 注意:

  • 如果需要让 div、p、h(大盒子) 水平居中,直接给当前元素本身设置即
  • margin:0 auto 一般针对于固定宽度的盒子,如果大盒子没有设置宽度,此时会默认占满父元素的宽度

六.进阶选择器

1.复合选择器

(1)后代选择器( )

父选择器 后代选择器{css}

  • 根据HTML标签的嵌套关系, 选择父元素 后代中 满足条件的元素
  • 在选择器1所找到标签的后代(儿子、孙子、重孙子…)中,找到满足选择器2的标签,设置样式

(2)子代选择器(>)

父选择器 > 子选择器 { css }

  • 根据 HTML 标签的嵌套关系,选择父元素 子代中 满足条件的元素
  • 在选择器1所找到标签的子代(儿子)中,找到满足选择器2的标签,设置样式

2.并集选择器(,)

选择器1 , 选择器2{css}

  • 同时选择多组标签,设置相同的样式
  • 并集选择器中的每组选择器可以是基础选择器或者复合选择器

3.交集选择器(紧挨)

选择器1选择器2{css}

  • 紧挨着   选中页面中同时满足多个选择器的标签
  • (既又原则)找到页面中  既 能被选择器1选中,又  能被选择器2选中的标签,设置样式
  • 交集选择器中如果有标签选择器,标签选择器必须写在最前面

4.hover伪类选择器

选择器:hover{css}

  • 选中鼠标悬停在元素上的状态,设置样式 (e.g:鼠标放在文字上,文字就变色了)
  • 任何标签都可以添加伪类

Emmet语法

通过简写语法, 快速生成代码

七.背景相关属性

1.背景颜色(bgr)        

    background-color :  值;

  • 颜色取值:关键字、rgb表示法、rgba表示法、十六进制……
  • 背景颜色默认值是透明: rgba(0,0,0,0) 、transparent
  • 背景颜色不会影响盒子大小,并且还能看清盒子的大小和位置,一般在布局中会习惯先给盒子设置背景颜色

2.背景图片(bgi)

     background-image: url(路径);

  • 背景图片中url中可以省略引号
  • 背景图片默认是在水平和垂直方向平铺的
  • 背景图片仅仅是指给盒子起到装饰效果,类似于背景颜色,是不能撑开盒子的

3.背景平铺(bgr)

     background-repeat: repeat/no-repeat/repeat-x/repeat-y; 

(默认)水平和垂直方向都平铺 /  不平铺 / 沿水平(x轴)平铺 / 沿垂直(y轴)平铺

4.背景位置(bgp)

    background-position: 水平位置 垂直位置;

  • 方位名词取值和坐标取值可以混使用,第一个取值表示水平,第二个取值表示垂直
  • 背景色和背景图只显示在盒子里面

5.背景属性连写(bg)

复合属性  background:color image repeat position

  • 可以按照需求省略
  • 在pc端,如果盒子大小和背景图片大小一样,此时可以直接写 background:url()
  • 如果需要设置单独的样式和连写,要么把单独的样式写在连写的下面 ,要么把单独的样式写在连写的里面

6.背景图与img

区别: 

  • 背景图依赖div标签,需要设置宽高,背景图片只是装饰的CSS样式,不能撑开div标签
  • img是标签,不用设置宽高,默认会以原尺寸显示,通常用来实现比较重要的图片

八.元素显示模块

1.块级元素

块状标签:  div、p、h系列、ul、li、dl、dt、dd、form、header、nav、footer……

显示特点:

  • 独占一行(一行只能显示一个)
  • 宽度默认是父元素的宽度,高度默认由内容撑开
  • 可以设置宽高

2.行内元素

行内标签:  a、span 、b、u、i、s、strong、ins、em、del……

显示特点:

  • 一行可以显示多个
  • 宽度和高度默认由内容撑开
  •  不可以设置宽高(设置宽高不生效)

3.行内块元素

行内块标签:  input、textarea、button、select……

特殊情况:img标签有行内块元素特点,但是Chrome调试工具中显示结果是inline

显示特点:

  • 一行可以显示多个
  • 可以设置宽高

4.元素显示模式转换

改变元素默认的显示特点,让元素符合布局要求, 

5.标签的嵌套

  • 块级元素一般作为大容器,可以嵌套:文本、块级元素、行内元素、行内块元素等等……
  • p标签中不要嵌套div、p、h等块级元素
  • a标签内部可以嵌套任意元素 , 但是a标签不能嵌套a标签

九.CSS特性

1.继承

特性: 子元素有默认继承父元素样式的特点(子承父业)

  • 可以继承的常见属性(文字控制属性都可以继承,控制标签本身的都不能继承) color, font-style, font-weight, font-size, font-family,text-indent、text-align , line-height
  • 可以通过调试工具判断样式是否可以继承

继承失效的特殊情况

        如果元素有浏览器默认样式,此时继承性依然存在,但是优先显示浏览器的默认样式, e.g: a标签超链接的颜色, h系列的字号

好处:可以在一定程度上减少代码

  • 可以直接给ul设置 list-style:none 属性,从而去除列表默认的小圆点样式
  • 直接给body标签设置统一的font-size,从而统一不同浏览器默认文字大小

2.层叠性

  • 给同一个标签设置不同的样式 → 此时样式会层叠叠加 → 会共同作用在标签上  1+1=2
  • 给同一个标签设置相同的样式 → 此时样式会层叠覆盖 → 最终写在最后的样式会生效
  • 当样式冲突时,只有当选择器优先级相同时,才能通过层叠性判断结果

3.优先级

(1)优先级

  • 不同选择器具有不同的优先级,优先级高的选择器样式会覆盖优先级低选择器样式
  • 继承 < 通配符选择器 * < 标签选择器 < 类选择器 .abc< id选择器 # < 行内样式(标签里边写的 style)  < !important

注意:

  • !important写在属性值的后面,分号的前面
  • !important不能提升继承的优先级,只要是继承优先级最低
  • 实际开发中不建议使用 !important 

(2)权重叠加计算

如果是复合选择器,此时需要通过权重叠加计算方法,判断最终哪个选择器优先级最高会生效

权重叠加计算公式:(每一级之间不存在进位)

比较规则:

  • 将每一个复合选择器中的行内,id,类,标签选择器的个数均统计出来, 而后进行比较
  • 先比较第一级数字,如果比较出则之后的不看 ,如果第一级数字相同,此时再去比较第二级数字,如果比较出则之后的不看
  • 如果最终所有数字都相同,表示优先级相同,则比较层叠性(谁写在下面,谁说了算)
  • !important如果不是继承,则权重最高,天下第一

 全是继承的特殊情况:   看继承的哪个父级, 对应选择器生效

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mteee.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值