目录
Html5 + Css3知识点Gitee地址
html5css3知识点: 尚硅谷—HTML5+CSS3知识点
介绍
属性
有些属性有属性值,有些没有,如果有属性值,属性值一个使用引号引起来
进制:
-特点:满10进1
–计数:0 1 2 3 4 5 6 7 8 9 19 11 12 13 …19 20
-单位数字:10个 (0-9)
-特点:满2进1
–计数:0 1 10 11 100 101 110 111
-单位数字:2个(0-1)
–扩展:
-可以将内存想象为一个有多个小格子组成的容器,每一个小格子中可以存储一个1或者一个0
八进制(很少用)
-特点:满8进1
–计数:0 1 2 3 4 5 6 7 10 12 … 17 20
-单位数字:8个(0-7)
-特点:满16进1
–计数:0 1 2 3 4 5 6 7 8 9 a b c d e f 10 11 12 … 1a 1b 1c 1d 1e 1f 20…
-所有的数据在计算机中存储时都是以二进制形式存储的,文字也不例外。
-编码
–解码
ASCII
ISO88591
GB2312
GBK
2、实体
如果我们需要在网页中书写这些特殊字符,则需要使用html中的实体(转义字符)
< 小于号
3、 meta标签
meta标签主要用于设置网页中的一些元数据,元数据不是给用户看
keywords 表示网站的关键字,可以同时指定多个关键字,关键字间使用,隔开
4、语义化标签
使用在使用html标签时,应该关注的是标签的语义,而不是它的样式
标题标签:
h1在网页中的重要性仅次于title标签,一般情况下一个页面中只会有一个h1
在页面中独占一行的元素称为块元素(block element)
hgroup标签用来为标题分组,可以将一组相关的标题同时放入到hgroup
在页面中不会独占一行的元素称为行内元素(inline elment)
表单标签
form表单域
label标签
input标签
textarea标签
5、6、语义化标签
–
– 一般情况下会在块元素中放行内元素,而不会再行内元素中放块元素
– p元素中不能放任何的块元素
比如:
标签写在了根元素的外部
布局标签(语义化标签)
section 表示一个独立的区块,上边的标签都不能表示时使用section
div 没有语义,就用来表示一个区块,目前来讲div还是我们主要的布局元素
span 行内元素,没有任何语义,一般用于在网页中选中的文字
7、 列表
列表(list)
1.铅笔
2.尺子
3.橡皮
1、有序列表
2、无序列表
3、定义列表
使用li表示列表项
使用li表示列表项
列表之前可以互相嵌套
8、超链接
属性:
超链接也是一个行内元素,在a标签中可以嵌套除它自身外的任何元素
可选值:
_blank 在一个新的页面中打开超链接
可以使用 javascript:; 作为href属性,此时点击这个超链接什么也不会发生
可以跳转到页面的指定位置,只需将href属性设置 #目标元素的id属性值
– id属性就是元素的唯一标识,同一个页面中不能出现重复的id属性
11、图片标签
img这种元素属于替换元素(基于块和行内元素之间,具有两种元素的特点)
属性:
src 属性指定的是外部图片的路径(路径规则和超链接是一样的)
alt 图片的描述,这个描述默认情况下不会显示,有些浏览器会在图片无法加载时显示
搜索引擎会根据alt中的内容来识别图片,如果不写alt属性则图片不会被搜索引擎所失败
注意:
一般情况在pc端,不建议修改图片的大小,需要多大的图片就裁多大
图片的格式:
gif
– 颜色单一的图片,动图
– 这种格式是谷歌新推出的专门用来表示网页中的图片的一种格式
– 缺点:兼容性不好
base64
– 将图片使用base64进行编码,这样可以将图片转换为字符,通过字符的形式来引入图片
– 一般都是一些需要和网页一起加载的图片才会使用base64
效果一样,用小的
12、内联框架
13、音视频
属性:
– 如果设置了autoplay 则音乐在打开页面时自动会播放
除了通过src来指定外部文件的路径以外,还可以通过source来指定文件的路径
(多个source,浏览器先选择第一个,若第一个不支持则展示第二个,第二个不支持,第三个embed不推荐使用,很旧的标签, 若都不支持,最后展示文字)
CSS
CSS简介
网页分成三个部分:
结构(HTML)
表现(CSS)
CSS
– 网页实际上是一个多层的结构,通过CSS可以分别为网页的每一个层来说设置样式
– 总之一句话,CSS用来设置网页中元素的样式
– 问题:
使用内联样式,样式只能对一个标签生效,
并且当样式发生变化时,我们必须要一个一个的修改,非常的不方便
02、CSS语法
声明块由一个一个的声明组成
声明是一个名值对结构
03、常用选择器
字体属性
文本属性
CSS引入
元素选择器
语法:标签名{}
类选择器
通配选择器
作用:选中页面中的所有元素
语法: *
class 是一个标签属性,它和id类似,不同的是class可以重复使用
4、复合选择器
交集选择器
语法:选择器1选择器2选择器3选择器n{}
注意点:
选择器分组(并集选择器)
作用:同时选择多个选择器对应的元素
语法:选择器1,选择器2,选择器3,选择器n{}
5、关系选择器
子元素选择器
作用:选中指定元素的指定元素
语法: 父元素 > 子元素
后代元素选择器:
作用:选中指定元素内的指定后代元素
语法:祖先 后代
选择下一个兄弟
语法:前一个 + 下一个
选择下边所有的兄弟
语法: 兄 ~ 弟
父元素
– 直接包含子元素的元素叫做父元素
子元素
– 直接被父元素包含的元素是子元素
祖先元素
– 直接或间接包含后代元素的元素叫做祖先元素
– 一个元素的父元素也是它的祖先元素
后代元素
– 直接或间接被祖先元素包含的元素叫做后代元素
– 子元素也是后代元素
兄弟元素
– 拥有相同父元素的元素是兄弟元素
6、属性选择器
[属性名] 选择含有指定属性的元素
[属性名=属性值] 选择含有指定属性和属性值的元素
[属性名^=属性值] 选择属性值以指定值开头的元素
[属性名$=属性值] 选择属性值以指定值结尾的元素
[属性名*=属性值] 选择属性值中含有某值元素的元素
7、伪类选择器
特殊值:
– 这几个伪类的功能和上述的类似,不同点是他们是在同类型元素中进行排序
8、a元素的伪类
9、伪元素选择器(重点)
伪元素,表示页面中一些特殊的并不真实存在的元素(特殊的位置)
伪元素使用 :: 开头
::selection 表示选中的内容
::before 元素的开始
– before 和 after 必须结合content属性来使用
其它特性
CSS3滤镜——filter函数(了解)
calc函数(了解)
10、样式的继承
样式的继承,我们为一个元素设置的样式同时也会应用到它的后代元素上
利用继承我们可以将一些通用的样式统一设置到共同的祖先元素上,
注意:并不是所有的样式都会被继承:
11、选择器的权重
样式的冲突
– 当我们通过不同的选择器,选中相同的元素,并且为相同的样式设置不同的值,此时就发生了样式的冲突。
选择器的权重
内联样式 1000
id选择器 100
类和伪类选择器 10
元素选择器 1
通配选择器 0
比较优先级时,需要将所有的选择器的优先级进行相加计算,最后优先级越高,则越优先显示(分组选择器是单独计算的),
选择器的累加不会超过其最大的数量级,类选择器再高也不会超过id选择器
可以在某一个样式的后边添加 !important,则此时该样式会获取到最高的优先级,甚至超过内联样式
12、单位
– 不同屏幕的像素大小是不同的,像素越小的屏幕显示的效果越清晰
– 设置百分比可以使子元素随父元素的改变而改变
13、颜色
在CSS中可以直接使用颜色名来设置各种颜色
比如:red、orange、yellow、blue、gree……
但是在css中直接使用颜色名是非常的不方便
RGB值:
– RGB通过三种颜色的不同浓度来调配出不同的颜色
– 每一种颜色的范围在 0 – 255(0% – 100%)之间
– 语法:RGB(红色,绿色,蓝色)
RGBA
十六进制的RGB值:
– 语法:#红色绿色蓝色
– 颜色浓度通过 00-ff
– 如果颜色两位两位重复可以进行简写
HSL值 HSLA值
H 色相(0-360)
S 饱和度,颜色的浓度 0% – 100%
背景
CSS三大特性
layout
1、文档流
– 通过CSS可以分别为每一层来设置样式
– 这些层中,最底下的一层称为文档流,文档流是网页的基础
在文档流中
不在文档流中(脱离文档流)
– 元素在文档流中有什么特点:
– 块元素
– 块元素在页面中独占一行
– 行内元素
– 行内元素不会独占一行,只占自身的大小
– 行内元素在页面中自左向右水平排列,如果一行之中不能容纳下所有的行内元素
2、盒模型
– 将元素设置为矩形的盒子后,对页面的布局就变成将不同的盒子摆放到不同的位置
– 每一个盒子都由以下几个部分组成:
内容区(content)
内容区(content),元素中的所有的子元素和文本内容都在内容区中排列
边框(border),边框属于盒子边缘,边框里面属于盒子内部,出了边框都是盒子的外部
3、盒子模型——边框
边框
值的情况
四个值:上 右 下 左
三个值:上 左右 下
两个值:上下 左右
一个值:上下左右
除了border–width还有一组 border–xxx–width
用来单独指定某一个边的宽度
border–color用来指定边框的颜色,同样可以分别指定四个边的边框
border–color也可以省略不写,如果省略则自动使用color的颜色值
border简写属性,通过该属性可以同时设置边框所有的相关样式,并且没有顺序要求
border-bottom
border-left
4、盒子模型——内边距
– 一共有四个方向的内边距
– 内边距的设置会影响到盒子的大小
– 背景颜色会延伸到内边距上
一个盒子的可见框的大小,由内容区 内边距 和边框共同决定,
padding 内边距的简写属性,可以同时指定四个方向的内边距
5、盒子模型——外边距
– 左外边距,设置一个正值,元素会向右移动
–margin也可以设置负值,如果是负值则元素会向相反的方向移动
而设置下和右外边距会移动其他元素
margin 可以同时设置四个方向的外边距,用法和padding一样
6、盒子的水平布局
元素的水平方向的布局:
border-left
width
border-right
一个元素在其父元素中,水平布局必须要满足以下的等式
margin-left+border-left+padding-left+width+padding-right+border-right+margin-right = 其父元素内容区的宽度(必须满足)
0 + 0 + 0 + 200 + 0 + 0 + 0 = 800
0 + 0 + 0 + 200 + 0 + 0 + 600 = 800
– 以上等式必须满足,如果相加结果使等式不成立,则称为过渡约束,则等式会自动调整
– 调整的情况:
– 如果这七个值中没有为 auto 的情况,则浏览器会自动调整margin-right值以使等式满足
– 这七个值中有三个值可设置为auto
width
margin-left
margin-right
– 如果某个值为auto,则会自动调整为auto的那个值以使等式成立
0 + 0 + 0 + auto + 0 + 0 + 0 = 800 auto=800
0 + 0 + 0 + auto + 0 + 0 + 200 = 800 auto=600
200 + 0 + 0 + auto + 0 + 0 + 200 = 800 auto=400
auto + 0 + 0 + 200 + 0 + 0 + 200 = 800 auto=400
auto + 0 + 0 + 200 + 0 + 0 + auto = 800 auto=300
– 如果将一个宽度和一个外边距设置为auto,则宽度会调整到最大,设置为auto的外边距会自动为0
– 如果将三个值都设置为auto,则外边距都是0,宽度最大
– 如果将两个外边距设置为auto,宽度固定值,则会将外边距设置为相同的值
实例:
margin:0 auto;
7、垂直方向的布局
子元素在父元素的内容区中排列的
如果子元素的大小超过了父元素,则子元素会从父元素中溢出
使用 overflow 属性来设置父元素如何处理溢出的子元素
可选值:
visible,默认值 子元素会从父元素中溢出,在父元素外部的位置显示
8、外边距的折叠
– 兄弟元素
– 兄弟元素间的相邻垂直外边距会取两者之间的较大值(两者都是正值)
– 特殊情况:
如果相邻的外边距一正一负,则取两者的和
– 兄弟元素之间的外边距的重叠,对于开发是有利的,所以我们不需要进行处理
– 父子元素
– 父子元素间相邻外边距,子元素的会传递给父元素(上外边距)
9、行内元素的盒模型
行内元素的盒模型
– 行内元素不支持设置宽度和高度
– 行内元素可以设置padding,但是垂直方向padding不会影响页面的布局
– 行内元素可以设置border,垂直方向的border也不影响页面的布局
– 行内元素可以设置margin,垂直方向的margin不会影响布局
可选值:
inline 将元素设置为行内元素
block 将元素设置为块元素
行内块,即可以设置宽度和高度又不会独占一行
visibility 用来设置元素的显示状态
可选值:
hidden 元素在页面中隐藏不显示,但是依然占据页面的位置
10、默认样式
默认样式:
– 通常情况下,浏览器都会为元素设置一些默认样式
– 默认样式的存在会影响到页面的布局,
通常情况下编写网页时必须要去除浏览器的默认样式(PC端的页面)
11、盒子的尺寸
默认情况下,盒子可见框的大小由内容区、内边距和边框共同决定
box–sizing 用来设置盒子尺寸的计算方式(设置width和height的作用)
可选值:
content–box 默认值,宽度和高度用来设置内容区的大小
border-box 宽度和高度用来设置整个盒子可见框的大小
width 和 height 指的是内容区 和内边框 和 边框的总大小
12、轮廓和圆角
box–shadow 用来设置元素的阴影效果,阴影不会影响页面布局
第一个值 左侧偏移量 设置阴影的水平位置 正值向右移动 负值向左移动
第二个值 垂直偏移量 设置阴影的水平位置 正值向下移动 负值向上移动
第四个值 阴影的颜色
outline 用来设置元素的轮廓线,用法和border一模一样
border-radius 用来设置圆角 圆角设置的圆的半径大小
border-radius 可以分别指定四个角的圆角
四个值 左上 右上 右下 左下
三个值 左上 右上/左下 右下
两个值 左上/右下 右上/左下
将元素设置为一个圆形
border-radius: 50%;
浮动
1、浮动的简介
通过浮动可以使一个元素向其父元素的左侧或右侧移动
使用 float 属性来设置于元素的浮动
可选值:
none 默认值,元素不浮动
left 元素向左移动
right 元素向右移动
注意:元素设置浮动以后,水平布局的等式便不需要成立
元素设置浮动以后,会完全从文档流中脱离,不再占用文档流的位置,
所以元素下边的还在文档流的元素会自动向上移动
浮动的特点:
1、浮动元素会完全脱离文档流,不再占据文档流中的位置
2、设置浮动以后元素会向父元素的左侧或右侧移动
3、浮动元素默认不会从父元素中移出
4、浮动元素向左或向右移动时,不会超过它前边的其他浮动元素
5、如果浮动元素的上边是一个没有移动的块元素,则浮动元素无法上移
6、浮动元素不会超过它上边的浮动的兄弟元素,最多最多就是和它一样高
浮动目前来讲它的主要作用就是让页面中的元素可以水平排列
2、浮动的其他的特点
浮动元素不会盖住文字,文字会自动环绕在浮动元素的周围
元素设置浮动以后,将会从文档流中脱离,从文档流中脱离后,元素的一些特点也会发生改变
脱离文档流的特点:
块元素:
1、块元素不会独占页面的一行
2、脱离文档流以后,块元素的宽度和高度默认都被内容撑开
行内元素:
行内元素脱离文档流以后会变成块元素,特点和块元素一样
脱离文档流以后,不需要再区分块和行内了
3、网页的布局
4、BFC、高度塌陷的问题
BFC(Block Formatting Context) 块级格式化环境
– BFC是一个CSS中一个隐含的属性,可以为一个元素开启BFC
– 元素开启BFC后的特点:
1、开启BFC的元素不会被浮动元素所覆盖
2、开启BFC的元素子元素和父元素外边距不会重叠
3、开启BFC的元素可以包含浮动的子元素
– 可以通过一些特殊方式来开启元素的BFC:
1、设置元素的浮动(不推荐)
2、将元素设置为行内块元素(不推荐)
– 常用的方式 为元素设置 overflow:hidden 开启其BFC
以使其可以包含浮动元素
高度塌陷的问题:
在浮动布局中个,父元素的高度默认是被子元素撑开的
当子元素浮动后,其会完全脱离文档流,子元素从文档流中脱离
将会无法撑起父元素的高度,导致父元素的高度丢失
父元素高度丢失以后,其下的元素会自动上移,导致页面的布局混乱
所以高度塌陷是浮动布局中比较常见的一个问题,这个问题我们必须要进行处理!
6、清除浮动
由于box1的浮动,导致box3位置上移
也就是说box3受到了box1浮动的影响,位置发生了编号
如果我们不希望某个元素因为其它元素浮动的影响而改变位置,
clear
– 可选值:
原理:
设置清除浮动以后,浏览器会自动为元素添加一个上外边距,
以使其位置不受其他元素的影响
clearfix 这个样式可以同时解决高度塌陷和外边距重叠的问题,当你遇到这些问题,直接使用clearfix这个类即可
clear
高度塌陷最终解决方案
cleafix
清除浮动本质
清除浮动方法
清除浮动——额外标签法
清除浮动——父级别添加overflow
清除浮动—— :after伪元素法
清除浮动——双伪元素清除浮动
清除浮动总结
CSS属性属性顺序(重点)
定位
1、定位的简介
– 使用position属性设置定位
可选值:
static 默认值,元素是静止的没有开启定位
sticky 开启元素的粘滞定位
– 相对定位
– 当元素的position属性值设置为relative时则开启了元素的相对定位
– 相对定位的特点:
1.元素开启相对定位以后,如果不设置偏移量元素不会发生任何的变化
2.相对定位是参照于元素在文档流中的位置进行定位的
3.相队定位会提升元素的层级
4.相队定位不会使元素脱离文档流
– 当元素开启了定位以后,可以通过偏移量来设置元素的位置
top
– 定位元素和定位位置上边的距离
– 定位元素和定位位置下边的距离
-定位元素垂直方向的位置由top和bottom两个属性来控制
通常情况下我们只会使用其中一个
– top值越大,定位元素越向下移
left
– 定位元素和定位位置的左侧距离
right
– 定位元素水平方向的位置由left和right两个属性控制
通常情况下只会使用一个
– left越大元素越靠右
– right越大元素越靠左
静态定位(了解)
相对定位(重要)
2、绝对定位(重要)
绝对定位
– 当元素的position属性设置为absolute时,则开启了元素的绝对定位
-绝对定位的特点:
1.开启绝对定位后,如果不设置偏移量的位置不会发生变化
2.开启绝对定位后,元素会从文档流中脱离
3.绝对定位会改变元素的性质,行内变成块,块的宽高被内容撑开
4.绝对定位会使元素提示一个层级
5.绝对定位元素是相对于其包含块进行定位的
– 正常情况下:
包含块就是离当前元素最近的祖先块元素
<div><div></div></div> —包含块div
<div><span><em>hello</em></span></div> –包含块div,em、span是行内元素
– 绝对定位的包含块:
包含块就是离它最近的开启了定位的祖先元素(只要position值不是static都是开启了定位)
如果所有的祖先元素都没有开启定位则相对于根元素就是它的包含块
子绝父相的由来
3、 固定定位(重要)
固定定位:
– 将元素的position属性设置为fixed则开启了元素的固定定位
– 固定定位也是一种绝对定位,所以固定定位的大部分特点都和绝对定位一样
固定定位的元素不会随网页的滚动条滚动
4、 粘性定位(了解)
粘滞定位
– 当元素的position属性设置为sticky时则开启了元素的粘滞定位
– 粘滞定位和相对定位的特点基本一致,
不同的是粘滞定位可以在元素到达某个位置时将其固定
定位总结
5、绝对定位的页面布局
水平布局
left + margin-left + border-left + padding-left = width + padding-right + border-right + margin-right + right= 包含块的内容区的宽度
– 当我们开启了绝对定位后:
水平方向的布局等式就需要添加left 和 right 两个值
此时规则和之前只是多添加了两个值:
如果9个值中没有 auto 则自动调整right值以使等式满足
如果有auto,则自动调整auto的值以使等式满足
– 可设置auto的值
margin width left right
– 因为left 和 right 的值默认是auto,所以如果不知道left和right
则等式不满足时,会自动调整这两个值
垂直方向布局的等式的也必须要满足
top + margin-top/bottom + padding-top/bottom + border-top/bottom + height = 包含块的高度
6、元素的层级
对于开启了定位元素,可以通过z-index属性来指定元素的层级
元素的层级越高越优先显示
如果元素的层级一样,则优先显示靠下的元素
祖先元素的层级再高也不会盖住后代元素
扩展
扩展—绝对定位的盒子居中
扩展—定位的特殊性
扩展—脱标的盒子不会触发外边距塌陷
网页布局总结
元素显示与隐藏
didisplay属性
visibility属性
overflow属性
字体和背景
1、字体
问题:
2.版权
3.字体格式
字体相关的样式
color 用来设置字体颜色
可选值:
serif 衬线字体
sans-serif 非衬线字体
– font-family 可以同时指定多个字体,多个字体间使用,隔开
字体生效时优先使用第一个,第一个无法使用则使用第二个 以此类推
Microsoft YaHei,Heiti SC,tahoma,arial,Hiragino Sans GB,”5B8B4F53″,sans-serif;
2、图标字体
但是图片大学本身比较大,并且非常的不灵活
– 这样我们就可以通过使用字体的形式来使用图标
2.解压
5.使用图标字体
– 直接通过类名来使用图标字体
class=”fab fa-accessible–icon” ((固定名称:fas或者fab))
3、图标字体
通过伪元素来设置图标字体
2.在content中设置字体的编码 (( 编码前需要加上 ))
3.设置字体的样式
fab
font-family: ‘Font Awesome 5 Brands’;
fas
font-family: ‘Font Awesome 5 Free’;
font-weight: 900;
通过实体来使用图标字体:
&#x图标的编码;
CSS三角
鼠标的样式cursor
5、行高
可以将行高设置为和高度一样的值,使单行文字在一个元素中垂直居中
– 行高指的是文字占有的实例高度
行高可以直接指定一个大小(px em)
也可以直接为行高设置一个整数
行间距 = 行高 – 字体大小
字体框
– 字体框就是字体存在的格子,设置font-size实际上就是在设置字体框的高度
行高会在字体格的上下平均分配
6、字体的简写属性
font 可以设置字体相关的所有属性
语法:
font: 字体大小/行高 字体族
行高 可以省略不写 如果不写使用默认值
可选值:
normal 正常的
7、文本的样式
可选值:
left 左侧对齐
justify 两侧对齐
可选值:
top 顶部对齐
text–decoration 设置文本修饰
可选值:
可选值:
normal 正常
单行文本溢出显示省略号
多行文本溢出显示省略号
9、背景
background–color 设置背景颜色
– 可以同时设置背景图片和背景颜色,这样背景颜色将会成为图片的背景色
– 如果背景的图片小于元素,则背景图片会自动在元素中平铺将元素铺满
– 如果背景的图片大于元素,将会一个部分背景无法完全显示
– 如果背景图片和元素一样答,则会直接正常显示
background–repeat 用来设置背景的重复方式
可选值:
repeat 默认值,背景会沿x轴 y轴双方向重复
repeat-x 沿着x轴方向重复
repeat-y 沿着y轴方向重复
background–position 用来设置背景图片的位置
设置方式:
通过 top left right bottom center 几个表示方位的词来设置背景图片的位置
使用方位词时必须要同时指定两个值,如果只写一个则第二个默认就是center
10、背景2
设置背景的范围
可选值:
border-box 默认值,背景会出现在边框的下边
padding-box 背景不会出现在边框,只出现在内容区和内边框
content-box 背景只会出现在内容区
background–origin 背景图片的偏移量计算的原点
padding-box 默认值,background–position从内边距处开始计算
background–size设置背景图片的大小
第一个值表示宽度
第二个值表示高度
– 如果只写一个,则第二个值默认是 auto
cover 图片的比例不变,将元素铺满
background-attachment
– background 背景相关的简写属性,所有背景相关的样式都可以通过该样式来设置
并且该样式没有顺序要求,也没有哪个属性是必须写的
注意:
background-size必须写在background-position的后边,并且使用/隔开
background-position/background-size
background-origin background-clip两个样式,orgin要在clip的前边
背景总结
HTML
HTML5新增的语义标签
多媒体标签总结
HTML5新增的input类型
HTML5新增的表单属性
表格
同样在网页中我们也需要使用表格,我们通过table标签来创建一个表格
可以将一个表格分成三个部分
底部 tfoot
默认情况下元素在td中是垂直居中的 可以通过 vertical-align 来修改
如果表格中没有使用tbody而是直接使用tr,
那么浏览器会自动创建一个body,并且将tr全都放到tbody中
tr不是table的子元素((tr是tbody、theader、tfoot的子元素)
4、 表单
表单:
– 在网页中也可以使用表单,网页中的表单用于将本地的数据提交给远程的服务器
– 使用form标签来创建一个表单
form的属性(必须要有的一个属性)
注意:数据要提交到服务器,必须要为元素指定一个name属性值
– 像这种选择框,必须要指定一个value属性,value属性最终会作为用户的填写的值传递给服务器
5、表单
input表标签
label标签
select标签
textarea标签
总结
动画
1、过渡
过渡 (transition)
transition-property: 指定要执行的过渡属性
多个属性使用,隔开
大部分属性都支持过渡效果,注意过渡时必须是从一个有效数值向另外一个有效数值进行过渡
transition-timing-function: 过渡的时序函数
可选值:
ease 默认值,慢速开始,先加速,再减速
linear 匀速运动
ease-in 加速运动
可以设置一个第二个值:
transition-delay: 过渡效果的延迟,等待一段时间后再执行过渡
transition 可以同时设置过渡相关的所有属性,只有一个要求,如果要写延迟,则两个时间中第一个是持续时间,第二个是延迟时间
2、3、动画
animation–name: 要对当前元素生效的关键帧的名字
animation-iteration-count: 动画执行的次数
可选值:
指定动画运行的方向
可选值:
normal 默认值 normal 从 from 向 to 运行 每次都是这样
alternate 从 from 向 to 运行 重复执行动画时反向执行
alternate-reverse 从 to 向 from 运行 重复执行动画时反向执行
animation–play–state: 设置动画的执行状态
可选值:
running 默认值 动画执行
pause 动画暂停
可选值:
none 默认值 动画执行完毕元素回到原来的位置
动画
不同的是过渡需要在某个属性发生变化时才会触发
设置动画效果,必须先要设置一个关键帧,关键帧设置了动画执行每一个步骤
3D转换
4、变形
变形就是指通过CSS来改变元素的形状或位置
– 变形不会影响页面的布局
– transform 用来设置元素的变形效果
– 平移
5、z轴平移
z轴平移,调整元素在z轴的位置,正常情况就是调整元素和人眼之间的距离,
距离越大,元素离人越近
z轴平移属于立体效果(近大远小),默认情况下网页是不支持透视,如果需要看见效果
必须要设置网页的视矩
6、旋转
rotateX()
rotateY()
rotateZ()
否显示元素的背面 backface–visibility
7、缩放
对元素进行缩放的函数:
scaleY() 垂直方向的缩放
scale() 双方向的缩放
less
– less是一个css的增强版,通过less可以编写更少的代码实现更强大的样式
– 在less中添加了许多的新特性:像对变量的支持、对mixin的支持… …
– less的语法大体上和css语法一致,但是less中增添了许多对css的扩展,
所以浏览器无法直接执行less代码,要执行必须向将less转换为css,然后再由浏览器执行
1、less简介
/*
*/
变量,在变量中可以存储一个任意的值
并且我们可以在需要时,任意的修改变量中的值
变量的语法: @变量名
作为类名,或者一部分值使用时必须以 @{变量名} 的形式使用
变量发生重名时,会优先使用比较近的变量
可以在变量声明前就使用变量
& 就表示外层的父元素
:extend() 对当前选择器扩展指定选择器的样式(选择器分组)
使用类选择器时可以在选择器后边添加一个括号,这时我们实际上就创建了一个mixins
flex弹性(重点)
!! flex布局未生效情况:
1、弹性盒
flex父项常见属性
flex子项常见属性
– 是CSS中的又一种布局手段,它主要用来代替浮动来完成页面的布局
– flex可以使元素具有弹性,让元素可以跟随页面的大小的改变而改变
– 要使用弹性盒,必须先将一个元素设置为弹性容器
display:inline-flex 设置诶行内的弹性容器
– 弹性元素
– 弹性容器的子元素是弹性元素(弹性项)
– 弹性元素可以同时是弹性容器
可选值:
– 主轴 自左向右
row-reverse 弹性元素在容器中反向水平排列(右向左)
– 主轴 自右向左
– 主轴 自上向下
column-reverse 弹性元素方向反向纵向排列(自下向上)
– 主轴 自下向上
主轴:
弹性元素的排列方式称为主轴
侧轴
与主轴垂直方向的称为侧轴
弹性元素的属性:
– 当父元素中的空间不足以容纳所有的子元素时,如何对子元素进行收缩
2、弹性容器的样式
flex-wrap
可选值:
– 可选值:
flex-start 元素沿着主轴起边排列
flex-end 元素沿着主轴终边排列
center 元素居中排列
3、弹性容器的样式
– 元素在辅轴上如何对齐
– 元素间的关系
– 可选值
stretch 默认值,将元素的长度设置为相同的值((一行相同的高度))
flex-end 沿着辅轴的终边对齐
center 居中对齐
baseline 基线对齐
4、弹性元素的样式
元素基础长度
flex-basis 指定的是元素在主轴上的基础长度
如果主轴是 横向的 则 该值指定的就是元素的宽度
如果主轴是 纵向的 则 该值指定的就是元素的高度
– 默认值是 auto,表示参考元素自身的高度或宽度
flex 可以设置弹性元素所有的三个样式
flex 增长 缩减 基础;
initial “flex: 0 1 auto”
auto “flex: 1 1 auto”
none “flex: 0 0 auto” 弹性元素没有弹性
order 决定弹性元素的排列顺序
颜色渐变
5、像素
像素:
– 分辨率:1920 x 1080 说的就是屏幕中小点的数量
– 在前端开发中像素要分成两种情况讨论:CSS像素 和物理像素
– CSS像素,编写网页时,我们所用像素都是CSS像素
– 浏览器在显示网页时,需要将CSS像素转换为物理像素然后再呈现
– 可以通过查看视口的大小,来观察CSS像素和物理像素的比值
– 默认情况下:
视口宽度 1920px(CSS像素)
1920px(物理像素)
– 此时,css像素和物理像素的比是 1:1
– 放大两倍的情况:
视口宽度 960px(CSS像素)
1920px(物理像素)
– 此时,css像素和物理像素的比是1:2
– 我们可以通过改变视口的大小,来改变CSS像素和物理像素的比值
6、移动端
在不同的屏幕,单位像素的大小是不同的,像素越小屏幕会越清晰
24寸 1920×1080
iphone6 4.7寸 750 x 1334
https://material.io/resources/devices/
问题:一个宽度为900px的网页在iphone6中要如何显示呢?
默认情况下,移动端的网页都会将视口设置为980像素(css像素)
以确保pc端网页可以在移动端正常访问,但是如果网页的宽度超过了980,
移动端的浏览器会自动对网页缩放以完整显示网页
所以基本大部分的pc端网站都可以在移动端中正常浏览,但是往往都不会有一个好的体验
7、移动端页面
移动端默认的视口大小是980px(css像素)
默认情况下,移动端的像素比就是 980/移动端宽度 (980/750)
如果我们直接在网页中编写移动端代码,这样在980的视口下,像素比是非常不好,
导致网页中的内容非常非常的小
编写移动页面时,必须要确保有一个比较合理的像素比:
1css像素 对应 2个物理像素
1css像素 对应 3个物理像素
– 可以通过meta标签来设置视口大小
一般我们只需要将像素比设置为该值即可得到一个最佳效果
将像素比设置为最佳像素比的视口大小我们称其为完美视口
将网页的视口设置为完美视口
<meta name=”viewport” content=”width=device-width, initial–scale=1.0″>
结论:以后再写移动端的页面,就把上边这个玩意先写上
<meta name=”viewport” content=”width=device-width, initial–scale=1.0″>
8、视口
不同的设备完美视口的大小是不一样的
iphone6 –375
由于不同设备视口和像素比不同,所以同样的375个像素在不同的设备下意义是不一样,
比如在iphone6中 375就是全屏,而到了plus中375就会缺一块
所以在移动端开发时,就不能再使用px来进行布局了
vw 表示的是视口的宽度(viewport width)
– 100vw = 一个视口的宽度
– 1vw = 1%视口宽度
vw这个单位永远相当于视口宽度进行计算
设计图的宽度
750px 1125px
设计图
750px
使用vw作为单位
100vw
创建一个 48px x 35px 大小的元素
100vw = 750px(设计图的像素) (100vm/750px=1.333333=1px)
6.4vw = 48px(设计图的像素) (1.333333*48)
4.667vw = 35px
9、vw适配
网页中字体最小是12px,不能设置一个比12像素还小的字体
如果我们设置了一个小于12px的字体,则字体自动设置为12
0.13333vw = 1px
5.33333vw = 40px
10、响应式布局
响应式布局
– 使用响应式布局,可以使一个网页适用于所有设备
– 通过媒体查询,可以为不同的设备,或设备不同状态来分布设置样式
使用媒体查询
媒体类型:
screen 带屏幕的设备
– 可以使用,连接多个媒体类型,这样它们之间就是一个或的关系
11、媒体查询
媒体特性:
width 视口的宽度
height 视口的高度
min-width 视口的最小宽度(视口大于指定宽度时生效)
max-width 视口的最大宽度(视口小于指定宽度时生效)
样式切换的分界点,我们称其为断点,也就是网页的样式会在这个点时发生变化
小于768 超小屏幕 max-width: 768px
移动端解决解决方案
box-sizing
特殊样式
练习
画三角形箭头CSS
解决图片闪烁问题——精灵图
小三角
渐变
解决行内元素间缝隙——浮动
背景重复
渐变
京东轮播图
安装Live Server
浏览器查看less文件对应行部署
压缩css代码插件
原文地址:https://blog.csdn.net/weixin_50637054/article/details/130042575
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_39714.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!