HTML5+CSS3基础

目录

 

一、HTML5

1.1 语义化标签

1.2 多媒体标签

1.3 inpute表单、表单属性

1.4 表单其他属性

二、CSS3

2.1 CSS3 属性选择器

2.2 CSS3 结构伪类选择器

2.3 CSS3 伪元素选择器

2.4 CSS3 2D转换

2.4.1 移动(translate)

2.4.2 旋转(rotate)

2.4.3 旋转中心点 (transform-origin)

 2.4.4 缩放(scale)

2.5 CSS3 过渡(transition)

2.5.1 transition-delay

2.5.2 transition-duration

2.5.3 transition-property

2.5.4 transition-timing-function

2.6 CSS3 动画

2.6.1 制作动画分为两步:

2.6.2 动画常用属性

2.6.3 动画简写属性

2.6.4 速度曲线细节

2.7 CSS3 3D转换

2.7.1 3D移动translate3d

2.7.2 透视perspective

2.7.3 3D旋转rotate3d 

2.7.4 3D呈现transfrom-style

2.8 浏览器私有前缀

2.8.1 私有前缀

2.8.2 提倡的写法

一、HTML5

1.1 语义化标签

  • <header>:头部标签
  • <nav>:导航标签
  • <main>:主体标签
  • <article>:内容标签
  • <section>:块级标签
  • <aside>:侧边栏标签
  • <footer>:尾部标签

1.2 多媒体标签

  • 音频:<audio>        支持格式(ogg、mp3、wav)
  • 视频:<video>        支持格式(ogg、mp4)

1.3 inpute表单、表单属性

  • type="email"                限制用户输入必须为Email类型
  • type="url"                     限制用户输入必须为URLl类型
  • type="date"                  限制用户输入必须为日期类型
  • type="time"                  限制用户输入必须为时间类型
  • type="month"               限制用户输入必须为月类型
  • type="week"                 限制用户输入必须为周类型
  • type="number"             限制用户输入必须为数字类型    
  • type="tel"                     手机号码
  • type="search"              搜索框
  • type="color"                 生成一个颜色选择表单

1.4 表单其他属性

属性说明
requiredrequired表单内容不能为空
placeholderplaceholder提示文本
autofocusautofocus自动聚焦到指定的表单
autocompleteoff / on需要有name属性,提示输入过的值
multiplemultiple多选文件提交

二、CSS3

2.1 CSS3 属性选择器

选择符简介
E[att]

选择具有att属性的E元素。

如:button[disabled] { }

E[att="val"]

选择具有att属性且属性值等于val的E元素。

如:inpute[type="search"] { }

E[att^="val"]

选择具有att属性、且值以val开头的E元素。

如:div[class^="icon"] { }; (class="icon1")  

E[att$="val"]

选择具有att属性、且值以val结尾的E元素。

如:div[class$="icon"] { }; (class="abcicon")  

E[att*="val"]

选择具有att属性、且值中含有val的E元素。

如:div[class*="icon"] { }; (class="abcicon123")  

2.2 CSS3 结构伪类选择器

选择符简介
E:first-child

匹配父元素中的第一个子元素E。

如:ul li:first-child { }

E:last-child

匹配父元素中的最后一个子元素E。

如:ul li:last-child { }

E:nth-child(n)

匹配父元素中的第n个元素E。

n做数字使用

如:ul li:nth-child(8) { }

n做关键字使用

偶数项:ul li:nth-child(even) { }

基数项:ul li:nth-child(odd) { }

n也可以是公式

E:first-of-type

指定类型E的第一个。

如:div span:first-of-type { }

E:last-of-type

指定类型E的最后一个。

如:div span:last-of-type { }

E:nth-of-type(n)

指定类型E的第n个。

如:div span:nth-of-type(2) { }

2.3 CSS3 伪元素选择器

选择符简介
::before在元素内部的前面插入内容
::after在元素内部的后边插入内容

注意:

  • before 和 after 必须有 content 属性
  • before 在内容的前面,after 在内容的后面
  • before 和 after 创建一个元素,但是属于行内元素
  • 因为在 dom 里面看不见创建的元素,所以称为伪元素
  • 伪元素和标签选择器一样,权重为1

 

2.4 CSS3 2D转换

转换(transform)

  • 移动(translate)
  • 旋转(rotate)
  • 缩放(scale)

2.4.1 移动(translate)

语法

transform: translate(x,y);
transform: translateX(n);
transform: translateY(n);

重点

  • 定义2D转换中的移动,沿着X和Y轴移动元素
  • translate最大的优点:不会影响到其他元素的位置
  • translate中的百分比单位是相对于自生元素的translate:(50%,50%);
  • 对行内标签没有效果

2.4.2 旋转(rotate)

2D旋转指的是让元素在2维平面内顺时针或逆时针旋转

语法

transform: rotate(度数);

重点

  • rotate里面跟度数,单位是deg,如rotate(45deg)
  • 角度为正,顺时针,为负,逆时针
  • 默认旋转的中心点是元素的中心点
  • 转换中心点

2.4.3 旋转中心点 (transform-origin)

可以设置元素转换的中心点

语法

transform-origin: x y;

重点

  • 注意后面的参数 x 和 y 用空格隔开
  • x y 默认转换的中心点是元素的中心点(50% 50%)
  • 还可以给 x y 设置像素或者方位名词(top bottom left right center)

 2.4.4 缩放(scale)

语法

transform: scale(x,y);

注意

  • 注意其中的 x 和 y 用逗号分隔
  • transform:scale(1,1);:宽和高都放大一倍,相对于没有放大
  • transform:scale(2,2);:宽和高都是放大了2倍
  • transform:scale(2);:只写一个参数,第二个参数则和第一个参数一样,相当于 scale(2,2);
  • transform:scale(0.5,0.5);:缩小
  • scale 缩放的最大优势:可以设置转换中心点缩放,默认以中心点缩放,而且不影响其他盒子

2.5 CSS3 过渡(transition)

经常和 :hover 一起搭配使用

transition  简写属性,用于将四个过渡属性设置为单一属性。谁做过渡给谁加。

语法

transition: 要过渡的属性 花费时间 运动曲线 何时开始

 

  • transition-delay——规定过渡效果的延迟(以秒计)
  • transition-duration——规定过渡效果要持续多少秒或毫秒
  • transition-property——规定过渡效果所针对的 CSS 属性的名称
  • transition-timing-function——规定过渡效果的速度曲线

2.5.1 transition-delay

语法

transition-delay: time;

2.5.2 transition-duration

语法

transition-duration: time;

2.5.3 transition-property

  • all——所有属性都将获得过渡效果
  • none——没有属性会获得过渡效果
  • property——定义应用过渡效果的CSS属性名称列表,列表以逗号分隔

2.5.4 transition-timing-function

  • ease - 规定过渡效果,先缓慢地开始,然后加速,然后缓慢地结束(默认)
  • linear - 规定从开始到结束具有相同速度的过渡效果
  • ease-in -规定缓慢开始的过渡效果
  • ease-out - 规定缓慢结束的过渡效果
  • ease-in-out - 规定开始和结束较慢的过渡效果
  • cubic-bezier(n,n,n,n) - 允许在三次贝塞尔函数中定义自己的值

2.6 CSS3 动画

动画(animation)相比过渡,动画可以实现更多变化,更多控制,连续自动播放等效果。

2.6.1 制作动画分为两步:

  1. 先定义动画
  2. 再使用(调用)动画

用 keyframes 定义动画(类似定义类选择器)

@keyframes 动画名称 {
    0% {
            width:100px;
    }
    100% {
            width:200px;
    }
}

 动画序列

  • 0%是动画的开始,100%是动画的结束。这种规则就是动画序列。
  • 在 @keyframes 中规定某项 CSS 样式,就能创建由当前样式逐渐改为新样式的动画效果。
  • 动画是使元素从一种样式逐渐变化为另一种样式的效果。可以改变任意多的样式任意多的次数。
  • 用百分比来规定变化发生的时间,或用关键词 "from"和"to",等同于0%和100%。

元素使用动画

div{
    width:200px;
    height:200px;
    background-color:aqua;
    margin:100px auto;
    /* 调用动画 */
    animation-name:动画名称;
    /* 持续时间 */
    animation-duration:持续时间;
}

2.6.2 动画常用属性

属性描述
@keyframes规定动画
animation所有动画属性的简写属性,除了animation-play-state属性
animation-name规定@keyframes动画的名称(必须的)
animation-duration规定动画完成一个周期所花费的秒或毫秒,默认是0(必须的)
animation-timing-function规定动画的速度曲线,默认是"ease"
animation-delay规定动画何时开始,默认是0
animation-iterration-count规定动画被播放的次数,默认是1,还有infinite
animation-direction规定动画是否在下一周期逆向播放,默认是"normal",alternate逆播放
animation-play-state规定动画是否正在运行或暂停。默认是"running",还有"paused"
animation-fill-mode规定动画结束后状态,保持forwards回到起始backwards

2.6.3 动画简写属性

animation: 动画名称  持续时间  运动曲线  何时开始 播放次数 是否反方向 动画起始或者结束的状态;

animation: myfirst 5s linear 2s infinite alternate;
  •  简写属性里面不包含 animation-play-state
  • 暂停动画:animation-play-state:puased;经常和鼠标经过等其他配合使用
  • 想要动画走回来,而不是直接跳回来:animation-direction: alternate
  • 盒子动画结束后,停在结束位置:animation-fill-mode: forwards

2.6.4 速度曲线细节

animation-time-function:规定动画的速度曲线,默认是"ease"

描述
linear动画从头到尾的速度是相同的。匀速
ease默认。动画以低速开始,然后加快,在结束前变慢
ease-in动画以低速开始
ease-out动画以低速结束
ease-in-out动画以低速开始和结束
steps()指定了时间函数中的间隔数量(步长)

2.7 CSS3 3D转换

三维坐标系

  • x轴:水平向右        注意:x右边是正值,左边是负值
  • y轴:垂直向下        注意:y下面是正值,上面是负值
  • z轴:垂直屏幕        注意:往外面是正值,往里面是赋值

主要知识点

  • 3D位移:translate3d(x,y,z)
  • 3D旋转:rotate(x,y,z)
  • 透视:perspective
  • 3D呈现:transfrom-style

2.7.1 3D移动translate3d

  • translform:translateX(100px):仅在X轴上移动
  • translform:translateY(100px):仅在Y轴上移动
  • translform:translateZ(100px):仅在Z轴上移动(注意:translateZ一般用px单位)
  • translform:translate3d(x,y,z):其中x、y、z分别指要移动的轴的方向的距离

2.7.2 透视perspective

  • 如果想要在网页上产生3D效果需要透视(理解成3D物体投影在2D平面内)
  • 模拟人类的视觉位置,可认为安排一只眼睛去看
  • 透视也称为视距:视距就是人的眼睛到屏幕的距离
  • 距离视觉点越近的在电脑平面成像越大,越远成像越小
  • 透视的单位是像素

透视写在被观察元素的父盒子上面的

d:就是视距,视距就是一个距离人的眼睛到屏幕的距离

z:就是z轴,物体距离屏幕的距离,z轴越大(正值),看到的物体就越大。

2.7.3 3D旋转rotate3d 

3D旋转指可以让元素在三维平面内沿着x轴,y轴,z轴或者自定义轴进行旋转。

语法

  • transform: rotateX(45deg):沿着x轴正方向旋转45度
  • transform: rotateY(45deg):沿着y轴正方向旋转45度
  • transform: rotateX(45deg):沿着z轴正方向旋转45度
  • transform: rotate3d(x,y,z,deg):沿着自定义轴旋转

transform: rotate3d(x,y,z,deg)

x,y,z是表示旋转轴的矢量

  • transforn: rotate3d(1,0,0,45deg)  沿着x轴旋转45deg
  • transform: rotate3d(1,1,0,45deg)  沿着对角线旋转45deg

2.7.4 3D呈现transfrom-style

  • 控制子元素是否开启三维立体环境
  • transform-style: flat; 子元素不开启3d立体空间 默认的
  • transform-style: preserve-3d; 子元素开启立体空间
  • 代码写给父级,但是影响的是子盒子

2.8 浏览器私有前缀

浏览器私有前缀是为了兼容老版本的写法,比较新版本的浏览器无需添加

2.8.1 私有前缀

  • -moz-:代表firefox浏览器私有属性
  • -ms-:代表ie浏览器私有属性
  • -webkit-:代表safari、chrome私有属性
  • -o-:代表Opera私有属性

2.8.2 提倡的写法

-moz-border-radius: 10px;
-webkit-border-radius: 10px;
-o-border-radius: 10px;
border-radius: 10px;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值