(二)HTML5 + CSS3学习笔记


前言

本次学习参考黑马程序员《HTML5+CSS3移动端系》系列网课


一、语义化标签(HTML5)

1.新增标签<header> <nav> <article> <section> <aside> <footer>

2.移动端(webkit内核,不需要兼容)

二、音频视频(HTML5)

1.<video>(视频)
-.mp4(常见)
-autoplay = “autoplay”(chrome禁用了,可用muted=“muted”(静音播)解决)
-controls(js)
-loop(循环)
-preload= “auto/none(忽略)”
-poster(海报)

2.<audio>(音频)
-.mp3(常见)
-controls
-autoplay(Chrome禁用 js)
-loop

三、表单(HTML5)

1.新增type = “email” “url” “date” “time” “month” “week” “number” “tel” “search” “color”
(限制用户输入)

2.表单属性
-repuired 表单内容不为空
-placeholder 提示文本
-autofocus 自动聚焦
-autocomplete on/off 记录输入内容
-multiple 多选文件
-readonly 只读

四、选择器(CSS3)

1.属性选择器
-input [type = text] {…} //所有input标签type等于text
-<div [class^ =icon] {…} //类名以icon开头的
-\section [class$ =data} {…} //以data结尾的类名
注:属性选择器、类、伪类选择器 权重为 10

2.结构伪类选择器

ul li :first-child、:last-child
ul li :nth-child(n)  //(-n+3)前三个、(2n)偶数项
div :first-of-type / :last-of-type
div :nth-of-type(n) //区别:不指定标签排列序号,first-child必须是第一个

3.伪元素选择器(简化HTML结构,不需要父元素中插入div)

::before //元素内部的前面插入内容
::after //元素内部的后面插入内容

注:before和after创建一个元素,属于行内元素
-在文档树中找不到,so叫伪元素
-必须有content属性
-伪元素选择器与标签选择器一样权重为1	

五、CSS函数(CSS3)

1.滤镜(模糊或颜色偏差)

filter: 函数();
filter:blur(5px);

2.calc函数(计算/也可用less)

width: calc(10%-30px);
//括号中使用+、-、*、/ 来计算

代码如下(示例):

六、动画与过渡

1.过渡(transition)

transition: 过渡元素 花费时间 运动曲线 何时开始;

-属性:想要变化的CSS属性,要所有属性变化可以写all
-花费时间:单位s(必须有单位)
-运动曲线:ease(default;逐渐变慢)/linear(匀速)/ease-in(加速)/ease-out(减速)/ease-in-out(先加速后减速)
-何时开始:单位s(必需)设置延迟触发时间

2.动画(animation)

//相比过渡,动画实现更多、连续自动
-定义动画
@keyframes 动画名 {
	0%{...}
	100%{...}
}
-调用动画
animation:
animation-name //动画名
animation-duration //动画持续时间
animation-time-function  (函数steps(4,end)//运动曲线
animation-delay //动画何时开始
animation-iteration-count (1/infinite)//动画播放次数
animation-direction (normal/alternate逆向)//动画是否下一周期逆向播放
animation-fill-mode (backwards恢复/forwards保持)//动画结束后状态
animation-play-state (running/paused) //动画是否在运行

六、2D转换

1.移动(2D转换)

transform: translate(x,y) / transformX(n) / transformY(n);

-2D转换中移动X、Y轴
-最大优点:不影响其他元素位置
-百分比单位相对于自身元素 translate(50%,50%)
-对行内标签没有效果

2.旋转(2D转换)

transform: rotate(..deg);

//设置元素中心点
transform-origin: x y; //默认中心点(50% 50%);也可用方位词top..

-必需带deg单位
-角度为正,顺时;负,为逆时针
-默认中心点为元素中心点
代码如下(示例):

3.缩放(2D转换)

transform: scale(x y); //数字不跟单位,倍数的意思

-scale不会影响其他元素
-可设中心点

4.2D转换综合写法

-transform:translate(x y) rotate() scale();
-顺序会影响效果
-同时有位移其他属性,需要把位移写在前面

六、3D转换

·近大远小,后面遮挡后看不见
·三维坐标系
·x轴:水平向右 注:x向右为正,向左为负
·y轴:垂直向下 注:y向下是正,向上是负
·z轴:垂直屏幕 注:向外是正,向内是负

1.3D移动

transform: translate(x,y,z);

2.3D旋转

transform: rotate(x,y,z,deg);
transform: rotateX();
transform: rotateY();
transform: rotateZ();

3.3D呈现

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

七、其他

1.浏览器私有前缀(兼容老版本浏览器写法)

-moz- :代表Firefox浏览器私有属性
-ms- :代表IE浏览器私有属性
-webkit- :代表Safari、Chrome浏览器私有属性
-o- :代表Opera浏览器私有属性

2.CSShack
-尽量避免使用危及用户体验实现
a.CSS前缀法(在CSS属性名前加上一些只有特定浏览器才能识别的hack前缀
b.条件注释法(IE浏览器专有)


总结

通过本次黑马程序员的网课教学,让我对网页设计层面的结构与渲染了解更加深入。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值