基础-CSS

272 阅读27分钟

1.1 CSS(cascading style sheets):层叠样式表

给页面中的html标签设置样式

1.2 CSS语法规则

css写在style标签中,style标签一般写在head标签里面,title标签下面

c1.2.png

常见属性:

c1.2.1.png

注意点:

1.css标点符号都是英文状态下的
2.每一个样式键值对写完之后,最后需要些分号

2.1 CSS引入方式

内嵌式:CSS写在style标签中

提示:style标签虽然可以写在页面任意位置,但是通常约定写在head标签中

外联式:CS写在一个单独的.css文件中

提示:需要通过link标签在网页中引入

行内式:CSS写在标签的style属性中

22.1.png

二、基础选择器

1.1选择器的作用

选择页面中对应的标签,防备后续设置样式

1.2标签选择器

结构:标签名{css属性名:属性值;}

作用:通过标签名,找到页面中所有这类标签,设置样式

注意点:

1.标签选择器选择的是一类标签,而不是单独某一个

2.标签选择器无论嵌套关系有多深,都能找到对应的标签

2.1类选择器

结构:.类名{css属性名:属性值;}

作用:通过类名,找到页面中所有带有这个类名的标签,设置样式

注意点:

1.所有标签上都有class属性,class属性的属性值称为类名

2.类名可以由数字、字母、下划线、中划线组成,单不能以数字或者中划线开头

3.一个标签可以同时有多个类名,类名之间以空格隔开

4.类名可以重复,一个类选择器可以同时选中多个标签

3.1 id选择器

结构: #id属性值{css属性名:属性值;}

作用:通过id属性值,找到页面中带有这个id属性值的标签,设置样式

注意点:

1.所有标签上都有ID属性

2.Id属性值类似于身份证号码,在一个页面中是唯一的,不可重复的

3.一个标签上只能有一个id属性值

4.一个id选择器只能选中一个标签

4.1通配符选择器

结构: *{css属性名:属性值;}

作用:找到页面中所有的标签,设置样式

注意点:

开发中使用极少,只会在极特殊情况下才会用到

5.1选择器拓展

5.1.1链接伪类选择器

场景:常用于选中超链接的不同状态

选择器语法:

55.1.1.png

注意点: 如果需要同时实现以上四种伪类状态效果,需要按照LVHA顺序书写 其中:hover伪类选择器使用更为频繁,常用于选择各类元素的悬停状态

5.2.1焦点伪类选择器

场景:用于选中元素获得焦点时状态,常用于表单控件

选择器语法:

5.2.1.png

效果:表单控件获取焦点时默认会显示外部轮廓线

5.3.1属性选择器

场景:通过元素上的html属性来选中元素,常用于选中input标签

选择器语法: 55.3.1.png  

三、字体和文本样式

1.1字体大小

属性名:font-size

取值:数字+px

注意点:

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

1.2字体粗细

属性名:font-weight

取值:

关键字:

31.2.png

纯数字:100-900的整百数

31.3.png

注意点:

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

1.3字体样式(是否倾斜)

属性名:font-style

取值:

  • 正常:normal
  • 倾斜:italic

1.4常见字体系列

无衬线字体(sans-serif)

特点:文字笔画粗细均匀,并且首尾无装饰

场景:网页中大多采用无衬线字体

常见该系列字体:黑体、Arial

衬线字体(serif)

特点:文字笔画粗细不均,并且首尾有笔锋装饰

场景:报刊书籍中应用广泛

常见该系列字体:宋体、Tines New Roman

等宽字体(monospace)

特点:每个字母或者文字的宽度相等

场景:一般用于程序代码编写,有利于代码的阅读和编写

常见该系列字体:Consolas、fira code

1.5字体系列font-family

属性名:font-family

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

具体字体:Microsoft YaHei、微软雅黑、黑体、宋体、楷体等

字体系列:sans-serif、serif、monospace等

渲染规则:

1.从左往右按顺序查找,如果电脑中未安装该字体,则显示下一个字体

2.如果都不支持,此时会根据操作系统,显示最后字体系列的默认字体

  注意点:

1.如果字体鸣草中存在多个单词,推荐使用引号包裹

2.最后一项字体系列不需要引号包裹

3.网页开发时,尽量使用系统场景自带字体,保证不同用户浏览网页都可以正常正确显示

1.6字体font相关属性的连写

属性名:font

取值:font:style weight size family;

属性要求:

swsf

省略要求:

只能省略前2个,如果省略了相当于设置了默认值

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

2.1文本缩进

属性名:text-indent

取值:

数字+px

数字+em

2.2文本水平对齐方式

属性名:text-align

取值:

22.2.png

注意点:

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

 

可以通过直接给当前元素本身设置margin:0auto;来给div、p、h、(大盒子)来实现div、p、h、(大盒子)水平居中

margin:0auto一般针对于固定宽度的盒子,如果大盒子没有设置宽度,此时会默认占满父元素的宽度

22.3.png

2.3文本修饰

属性名:text-decoration

取值:

22.3.1.png

注意点:

开发中会使用text-decorationnone; 清除a标签默认的下划线

3.1行高

作用:控制行间距

属性名:line-height

取值:

数字+px

倍数(当前font-size的倍数)

应用:

1.让单行文本垂直居中可以设置line-height:文字父元素高度

2.网页精准布局时,会设置line-height:1可以取消上下间距

行高与font连写的注意点:

如果同时设置了行高和font连写,注意覆盖的问题

font:style weight size/line-height family;

4.1颜色常见取值

属性名:

文字颜色:color

背景颜色:background-color

属性值:

44.1.png

四、Chrome调试工具

444.png

444.0.png

五、选择器进阶

555.png

1.1后代选择器:空格

作用:根据html标签的嵌套关系,选择父元素后代中满足条件的元素

选择器语言:选择器1 选择器2{css}

结果:

在选择器1所找到标签的后代中,找到满足选择器2的标签,设置样式

注意点:

后代选择器中,选择器与选择器之间通过空格隔开

1.2子代选择器:>

作用:根据html标签的嵌套关系,选择父元素子代中满足条件的元素

选择器语法:选择器1>选择器2{css}

结果:

在选择器1所找到标签的子代中,找到满足选择器2的标签,设置样式

注意点:

子代只包括第一层中的标签

子代选择器中,选择器与选择器之间通过>隔开

1.3并集选择器:,

作用:同时选择多组标签,设置相同的样式

选择器语法:选择器1,选择器2{css}

结果:找到选择器1和选择器2选中的标签,设置样式

注意点:

1.并集选择器中的每组选择器之间通过,分隔

2.并集选择器中的每组选择器可以是基础选择器或者复合选择器

3.并集选择器中的每组选择器通常一行写一个,提高代码的可读性

1.4交集选择器:紧挨着

作用:选中页面中同时满足多个选择器的标签

选择器语法:选择器1选择器2{css}

结果:

(既又原则)找到页面中既能被选择器1选中,又能被选择器2选中的标签,设置样式

注意点:

1.交集选择器中的选择器之间是紧挨着的,没有东西分隔

2.交集选择器中如果有标签选择器,标签选择器必须写在最前面

2.1 emmet语法

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

语法:

类似于刚刚学校的选择器写法

22.1.1.png

3.1 hover伪类选择器

作用:选中鼠标悬停在元素上的状态,设置样式

选择器语法:选择器:hover{css}

注意点:

伪类选择器选中的元素的某种状态

六、背景相关属性

1.1背景颜色

属性名:background-color(bgc)

属性值:

颜色取值:关键字、rgb表示法、rgba表示法、十六进制

注意点:

背景颜色默认值是透明:rgba(0,0,0,0)、transparent

背景颜色不会影响盒子大小,并且还能看清盒子的大小和位置,一般在布局中会习惯先给盒子设置背景颜色

2.1背景图片

属性名:background-image(bgi)

属性值:

22.1.2.png

注意点:

背景图片中url中科院省略引号

背景图片默认是在水平和垂直方向平铺的

背景图片仅仅是指给盒子起到装饰效果,类似于背景颜色,是不能撑开盒子的

3.1背景平铺

属性名:background-repeat(bgr)

属性值:

33.1.png

4.1背景位置

属性名:background-position

属性值:

44.1.1.png

44.1.2.png

注意点:

方向名词取值和坐标取值可以混使用,第一个取值表示水平,第二个取值标签垂直

5.1背景图片大小

作用:设置背景图片的大小

语法:background-size:宽度 高度;

取值:

55.1.png

6.1背景相关属性的连写形式

属性名:background(bg)

属性值:

单个属性值的合写,取值之间以空格隔开

书写顺序:

推荐: background:color image repeat position/size

66.1.png 省略问题:

可以按照需求省略

 

特殊情况:在PC端,如果盒子大小和背景图片大小一样,此时可以直接写

background:url()

注意点:

如果需要设置单独的样式和连写

①要么把单独的样式写在连写的下面

②要么把单独的样式写在连写的里面

七、元素显示模式

1.1块级元素

属性:display:block

显示特点:

1.独占一行(一行只能显示一个)

2.宽度默认是父元素的宽度,高度默认由内容撑开

3.可以设置宽高

代表标签:

divp、h系列、ullidldtddformheader、anv、footer

 

2.1行内元素

属性:display:inline

显示特点:

1.一行可以显示多个

2.宽度和高度默认由内容撑开

3.不可以设置宽高

代表标签:

aspanb、u、i、s、stronginsemdel

 

3.1行内块元素

属性:display:inline-block

显示特点:

1.一行可以显示多个

2.可以设置宽高

代表标签:

inputtextareabutton。Select

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

 

4.1元素显示模式转换

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

语法:

44.1.1.1.png

 

5.1 html嵌套规范注意点

1.块级元素一般作为大容器,可以嵌套:文本、块级元素、行内元素、行内块元素等,但是p标签中不要嵌套divp、h等块级元素

2a标签内部可以嵌套任意元素但是a标签不能嵌套a标签

 

八、CSS三大特性

1.1继承性的介绍

特性:子元素有默认继承父元素样式的特点,可以在一定程度上减少代码

可以继承的常见属性:

1.Color

2.font-style、font-weight、font-size、font-family

3.text-indet、text-align

4.line-height

 

注意点:可以通过调试工具判断样式是否可以继承

 

如果元素有浏览器默认样式,此时继承性依然存在,但是优先显示浏览器的默认样式:

1.a标签的color会继承失效

2.h系列标签的font-size会继承失效

3.div的高度不能继承,但是宽度有类似于继承的效果

 

常见应用场景:

1.可以直接给ul设置list-style:none属性,从而去除列表默认的小圆点样式

2.直接给body标签设置统一的font-size,从而统一不同浏览器默认文字大小

 

2.1层叠性的介绍

特性:

1.给同一个标签设置不同的样式→此时样式会层叠叠加→会共同作用在标签上

2.给同一个标签设置相同的样式→此时样式会层叠覆盖→最终写在最后的样式会生效

注意点:

当样式冲突时,只有当选择器优先级相同时,才能通过层叠性判断结果

 

3.1优先级的介绍

特性:

不同选择器具有不同的优先级,优先级高的选择器样式会覆盖优先级低的选择器样式

优先级公式:

继承<通配符选择器<标签选择器<类选择器<id选择器<行内样式小于!important

注意点:

1.!important写在属性值的后面,分号的前面

2.!important不能提升继承的优先级,只要是继承优先级最低

3.实际开发中不建议使用!important

 

3.2权重叠加计算

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

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

33.2.png

比较规则:

1.先比较第一集数字,如果比较出来了,之后的统统不看

2.如果第一级数字相同,此时再去比较第二季数字,如果比较出来了,之后的统统不看

3.如果最终所有数字都相同,表示优先级相同,则比较层叠性(谁写在最后谁生效)

注意点:!important如果不是继承,则权重最高

 

注意点:

实际开发中选择标签需要精准,尽量避免多个选择器同时选中一个标签的情况。

先判断选择器是否能直接选中标签,如果不能直接选中→是继承,优先级最低。

 

九、盒子模型

1.1盒子模型的介绍

1.盒子的概念

①页面中的每一个标签,都可以看做是一个盒子,通过盒子的视角更方便进行布局

②浏览器在渲染网页时,会将网页中的元素看做是一个个的矩形区域,我们也称之为盒子

2.盒子模型

CSS中规定每个盒子分别由:内容区域(content)、内边距区域(padding)、边框区域(border)、外边距区域(margin)构成,这就是盒子模型

 

2.1内容的宽度和高度

作用:利用width和height属性默认设置是盒子内容区域的大小

属性:width/height

常见取值:数字+px

 

3.1边框(border)-单个属性

作用:给设置边框粗细、边框样式、边框颜色效果

单个属性:

333.1.png

3.2边框(border)-连写形式

属性名:border

属性值:单个取值的连写,取值之间以空格隔开

快捷键:bd+tab

3.3边框(border)-单方向设置

场景:只给盒子的某个方向单独设置边框

属性名:border-方位名词(上:top、下:bottom、左:left右right)

属性值:连写的取值

 

4.1内边距(padding)-取值

作用:设置边框与内容区域之间的距离

属性名:padding

常见取值:

44.1.2.1.png

 

4.2内边距(padding)-单方向设置

场景:只给盒子的某个方向单独设置内边距

属性名:

padding-方位名词(上:top、下:bottom、左:left右right)

属性值:数字+px

 

4.3不会撑大盒子的特殊情况

块级元素

1.如果子盒子没有设置宽度,此时宽度默认是父盒子的宽度

2.此时给子盒子设置左右的padding或者左右的border,此时不会撑大子盒子

 

4.4 CSS 3盒模型(自动内减)

属性名:box-sizing

属性值:border-box

 

5.1外边距(margin)-取值

作用:设置边框以外,盒子与盒子之间的距离

属性名:margin

常见取值:

555.1.png

 

5.2外边距(margin)-单方向设置

场景:只给盒子的某个方向单独设置外边距

属性名:

Margin-方位名词(上:top、下:bottom、左:left右right)

属性值:数字+px

 

5.3 margin单方向设置的应用

555.3.png

 

5.4清除默认内边距

场景:浏览器会默认给部分标签设置默认的margin和padding,但一般在项目开始前需要先清楚这些标签默认的margin和padding,后续自己设置

例如:

Body标签默认有margin:8px

p标默认有上下的margin

Ul标签默认有上下的margin和padding-left

解决方法:

1.选择需要去除的标签设置margin0padding02.直接把全部标签设置* {margin0padding0;}

 

5.5外边距折叠现象-①合并现象

场景:垂直布局的块级元素,上下的margin会合并

结果:最终两者距离为margin的最大值

解决方法:

只给其中一个盒子设置margin即可

 

5.6外边距折叠现象-②塌陷现象

场景:互相嵌套的块级元素,子元素的margin-top会作用在父元素上

结果:导致父元素一起往下移动

解决方法:

1.给父元素设置border-top或者padding-top(分隔父子元素的margin-top2.给父元素设置overflow:hidden

3.转换成行内块元素

4.设置浮动

 

5.7行内元素的margin和padding无效情况

场景:给行内元素设置margin和padding时:

1.水平方向的marginpadding布局中有效

2.垂直方向的marginpadding布局中无效

 

十、结构伪类选择器

1.作用与优势:

作用:根据元素在html中的结构关系查找元素

优势:减少对于html中类的依赖,有利于保持代码整洁

场景:常用于查找某父级选择器中的子元素

2.选择器

10.2.png

n的注意点:

1.n为:0、1、2、3、4、5、6、7、8、9、

2.通过n可以组成常见公式

10.2.2.png

 

3.  nth-of-type

选择器:

10.2.3.png

区别:

:nth-child→直接在所有中数个数

:nth-of-type→先通过该类型找到符合的一堆子元素,然后在这一堆子元素中数个数

 

十一、伪元素

一般页面中的非主体内容可以使用伪元素

区别:

1.元素:html设置的标签

2.伪元素:由CSS模拟出的标签效果

种类:

11.png

注意点:

1.必须设置content属性才能生效

2.伪元素默认是行内元素

 

十二、标准流

又称文档流,是浏览器在渲染显示网页内容时默认采用的一套排版规则,规定了应该以何种方式排列元素

常见标准流排版规则:

1.块级元素:从上往下,垂直布局,独占一行

2.行内元素或行内块元素:从左往右,水平布局,空间不够制动折行

 

十三、浮动

1.1浮动的作用

早期的作用:图文环绕

现在的作用:网页布局

场景:让垂直布局的盒子变成水平布局

 

2.1浮动的代码

属性名:float

属性值:

12.png

 

3.1浮动的特点

1.浮动元素会脱离标准流(简称:脱标),在标准流中不占位置

2.浮动元素比标准流高半个级别,可以覆盖标准流中的元素

3.浮动找浮动,下一个浮动元素会在上一个浮动元素后面左右浮动

4.浮动元素会收到上面元素边界的影响

5.浮动元素有特殊的显示效果

一行可以显示多个

可以设置宽高

注意点:

浮动的元素不能通过text-align:center或者margin:0 auto,让浮动元素本身水平居中

 

4.1清除浮动

含义:清除浮动带来的影响

影响:如果子元素浮动了,此时子元素不能撑开标准流的块级元素

原因:子元素浮动后脱标→不占位置

目的:

需要父元素有高度,从而不影响其他页面元素的布局

 

清除方法:

①直接设置父元素高度

特点:简单方便

缺点:有些布局中不能固定父元素高度,如:新闻列表、京东推荐模块

 

②额外标签法

操作:

1.在父元素内容的最后添加一个块级元素

2.给添加的块级元素设置clear:both

缺点:会在页面中添加格外的标签,会让页面的html结构变得复杂

 

③单伪元素清除法

操作:用伪元素替代了额外标签

基本写法:

13.4.png

补充写法:

13.5.png

优点:项目中使用,直接给标签加类即可清除浮动

 

④双伪元素清除法

操作:

13.6.png

优点:项目中使用,直接给标签加类即可清除浮动

 

⑤给父元素设置overflow:hidden

操作:

直接给父元素设置overflow:hidden

优点:方便

 

4.2 BFC的介绍

块格式化上下文(block formatting context):BFC

是web页面的可视CSS渲染的一部分,是块盒子的布局过程发生的区域,也是浮动元素与其他元素交互的区域

创建BFC方法:

1.html标签是BFC盒子

2.浮动元素是BFC盒子

3.行内块元素是BFC盒子

4.Overflow属性取值不为visible 如:auto、hidden

 

BFC盒子常见特点:

1.BFC盒子会默认包裹住内部子元素(标准流、浮动)→应用:清除浮动

2.BFC盒子本身与子元素之间不存在margin的塌陷现象→应用:解决margin的塌陷

 

十四、定位

1.1网页常见布局方式

1.标准流

①块级元素独占一行→垂直布局

②行内元素/行内块元素一行显示多个→水平布局

2.浮动

可以让原本垂直布局的块级元素变成水平布局

3.定位

①可以让元素自由的摆放在网页的任意位置

②一般用于盒子之间的层叠情况

1.2定位的常见应用场景

①可以解决盒子与盒子之间的层叠问题

定位之后的元素层级最高,可以层叠在其他盒子上面

②可以让盒子始终固定在屏幕中的某个位置

 

2.1使用定位的步骤

1.设置定位方式

属性名:position

常见属性:

14.1.png

2.设置偏移值

偏移值设置分为两个方向,水平和垂直方向各选一个使用即可

选取的原则一般是就近原则

14.2.png

 

3.1静态定位

介绍:静态定位是默认值,就是标准流

代码:position:static;

注意点:

静态定位就是标准流,不能通过方位属性进行移动

 

4.1相对定位

代码:position:relative

特点:

1.需要配合方位属性实现移动

2.相对于自己原来位置进行移动

3.在页面中占位置→没有脱标

应用场景:

1.配合绝对定位组CP

2.用于小范围的移动

 

5.1绝对定位

代码:position:absolute;

特点:

1.需要配合方位属性实现移动

2.默认相对于浏览器可视区域进行移动

3.在网页中不占位置→已经脱标

应用场景:

配合绝对定位组CP

注意点:

1.祖先元素没有定位→默认相对于浏览器进行移动

2.祖先元素中有定位→相对于最近的有定位的祖先元素进行移动

 

6.1子绝父相

场景:让子元素相对于父元素进行自由移动

含义:

子元素:绝对定位

父元素:相对定位

子绝父相好处:

父元素是相对定位,则对网页布局影响最小

 

特殊场景:

在使用子绝父相的时候,发现父元素已经有绝对定位了,此时直接子绝即可

原因:

父元素已经有定位满足要求,如果盲目修改父元素定位方式,可能会影响之前写好的布局

 

子绝父相水平居中

1.子绝父相

2.先让子盒子往右移动父盒子的一半

Left:50%;

3.再让子盒子往左移动自己的一半

普通做法:margin-left:负的子盒子宽度的一半

缺点:子盒子宽度变化后需要重新改代码

优化做法:transform:translateX(-50%)

 

子绝父相水平垂直居中

子绝父相

Left:50%;

Top:50%;

transform:translate(-50%,-50%)

 

7.1固定定位

代码:position:fixed;

特点:

1.需要配合方位属性实现移动

2.相对于浏览器可视区域进行移动

3.在页面中不占位置→脱标

应用场景:

让盒子固定在屏幕中的某个位置

 

8.1元素层级问题

不同布局方式元素的层级关系:

标准流<浮动<定位

不同定位之间的层级关系:

相对、绝对、固定默认层级相同

此时html中写在下面的元素层级更高,会覆盖上面的元素

 

8.2更改定位元素的层级

场景:改变定位元素的层级

属性名:z-index

属性值:数字

数字越大,层级越高

 

十五、装饰

1.1基线

浏览器文字类型元素排版中存在用于对齐的基线(baseline)

 

1.2文字对齐问题

场景:解决行内/行内块元素垂直对齐问题

 

1.3垂直对齐方式

属性名:vertical-align

属性值:

15.png

 

项目中vertical-align可以解决的问题

1.文本框和表单按钮无法对齐问题

2.Inputimg无法对齐问题

3.div中的文本框,文本框无法贴顶问题

4.div不设高度由img标签撑开,此时img标签下面会存在额外间隙问题

5.使用line-heightimg标签垂直居中问题

注意点:

学习浮动之后,不推荐使用行内块元素让div一行中显示,因为可能会出现垂直对齐问题

推荐优先使用浮动完成效果

 

2.1光标类型

场景:设置鼠标光标在元素上时显示的样式

属性名:cursor

常见属性值:

16.png

 

3.1边框圆角

场景:让盒子四个角变得圆润,增加页面细节,提升用户体验

属性名:border-radius

常见取值:数字+px,百分比

原理:

16.3.png

赋值规则:从左上角开始赋值,然后顺时针赋值,没有赋值的看对角

 

正圆:

1.盒子必须是正方形

2.border-radius:50%;

 

胶囊按钮:

1、盒子要求是长方形

2Border-radius:盒子高度的一半

 

4.1溢出部分显示效果

溢出部分:指的是盒子内容部分所超出盒子范围的区域

场景:控制内容溢出部分的显示效果,如:显示、隐藏、滚动条

属性名:overflow

常见属性值:

16.4.png

 

5.1元素本身隐藏

常见:让某元素本身在屏幕中不可见,如:鼠标:hover之后元素隐藏

常见属性:

1.visibility:hidden

2.displaynone

区别:

1.visibility:hidden 隐藏元素本身,并且在网页中占位置

2.displaynone  隐藏元素本身,并且在网页中不占位置

注意点:

开发中经常会通过display属性完成元素的显示隐藏切换

displaynone;(隐藏)、display:block;(显示)

 

5.2元素整体透明度

场景:让某元素整体(包括内容)一起变透明

属性名:opacity

属性值:0-1之间的数字

1:表示完全不透明

0:表示完全透明

注意点:

opacity会让元素整体透明,包括里面的内容,如文字、子元素等

 

5.3边框合并

场景:让相邻表格边框进行合并,得到细线边框效果

代码:border-collapse:collapse;

 

5.4用CSS画三角形

场景:在网页中战士出小三角形,出了可以使用图片外,还可以使用代码完成

实现原理:

利用盒子边框完成

实现步骤:

1.设置一个盒子

2.设置四周不同颜色的边框

3.讲盒子宽高设置为0,仅保留边框

4.得到四个三角形,选择其中一个后,其他三角形(边框)设置颜色为透明

 

注意点:通过调整不同边框的宽度,可以调整三角形的形态

 

十六、项目样式补充

1.1精灵图

项目中将多张小图片,合并成一张大图片,这张大图片称之为精灵图

优点:减少服务器发送次数,减轻服务器的压力,提高页面加载速度

 

1.2精灵图的使用步骤

1.创建一个盒子

2.通过PxCook量取小图片大小,将小图片的宽度设置给盒子

3.将精灵图设置为盒子的背景图片

4.通过PxCook测量小图片左上角坐标,分别取负值设置给盒子的backround-position:x y

 

2.1文字阴影

作用:给文字添加阴影效果,吸引用户注意

属性名:text-shadow

取值:

17.png

注意:

阴影可以叠加设置,每组阴影取值之间以逗号隔开

 

3.1盒子阴影

作用:给盒子添加阴影效果,吸引用户注意,体现页面的制作细节

属性名:box-shadow

取值:

17.3.png

 

4.1过渡

作用:让元素的样式慢慢的变化,常配合hover使用,增强网页交互体验

属性名:transition

常见取值:

17.4.png

注意点:

1.过渡需要:默认状态和hover状态样式不同,才能有过渡效果

2.transition属性给需要过渡的元素本身加

3.transition属性设置在不同状态中,效果不同的

    ①给默认状态设置,鼠标移入移出都有过渡效果

    ②给hover状态设置,鼠标移入有过渡效果,移出没有过渡效果

 

十七、项目前置认知

1.1 DOCTYPE文档说明

<!DOCTTPE>文档类型声明,告诉浏览器该网页的html版本

注意点:DOCTYPE需要卸载页面的第一行,不属于html标签

2.1网页语言

标识网页使用的语言

18.png

作用:搜索引擎归类+浏览器翻译

常见语言:zh-CN简体中文/en英文

 

2.2字符编码

18.2.png 标识网页使用的字符编码

作用:保存和打开的字符编码需要统一设置,否则可能会出现乱码

常见字符编码:

1.UTF-8:万国码,国际化的字符编码,收录了全球语言的文字

2.GB2312:6000+汉字

3.GBK:20000+汉字

注意点:开发中统一使用UTF-8字符编码即可

 

3.1 SEO简介

SEO(Search Engine Optimization):搜索引擎优化

作用:让网站在搜索引擎上的排名靠前

提示SEO的常见方法:

1.竞价排名

2.将网页制作成html后缀

3.标签语义化(在合适的地方使用合适的标签)

 

3.2 SEO三大标签

1.title:网页标题标签

2.description:网页描述标签

3.keywords:网页关键词标签

 

4.1 ico图标设置

场景:显示在标签页标题左侧的小图标,习惯使用.ico格式的图标

常见代码:

18.4.png

 

5.1版心的介绍

场景:把页面的主体内容约束在网页中间

作用:让不同大小的屏幕都能看到页面的主体内容

代码:

18.5.png

注意点:

版心类名常用:container、wrapper、w等

 

6.1 CSS书写顺序

18.6.png

注意点:

开发中推荐多用类+后代,单不是层级越多越好,一个选择器中的类选择器的个数推荐不要超过3个