Html5+CSS3复习

HTML5新特性

1、布局标签

<header>、<nav>、<article>、<section>、<aside>、<footer>

语义化标签主要是针对搜索引擎的;

IE9中,需要把这些元素转换为块级元素

2、多媒体标签

(1)<audio src="文件地址"></audio>

  • 属性:autoplay、controls
  • 兼容解决:
<video width="320" height="240" controls>
  <source src="movie.ogg" type="video/ogg">   
<source src="movie.mp3" type="video/mpeg">
您的浏览器不支持video标签
</video>

(2)<video src="文件地址"></video>

  • 属性:autoplay、muted(静音)、controls(播放控件)、loop(循环)、preload(预加载)、poster(加载等待的画面图片)

  • 兼容解决:

<video width="320" height="240" controls>
  <source src="movie.mp4" type="video/mp4">   
<source src="movie.ogg" type="video/ogg">
您的浏览器不支持video标签
</video>

谷歌把音视频的自动播放给禁用了

3、新增表单

(1)新增类型

email、url、date、time、month、week、number、tel、search、color

(2)新增属性

required、placeholder、autofocus、autocomplete(默认开启输入历史)、multiple

(3)修改placeholder里面的字体颜色

input::placeholder {
  color: #ccc;
}

CSS3新特性

1、新增选择器

(1)属性选择器

E[att] 选择具有att属性的E元素
E[att=val] 选择具有att属性且属性值等于val的E元素
E[att^=val] 匹配具有att属性且值以val开头的E元素
E[att$=val] 匹配具有att属性且值以val结尾的E元素
E[att*=val] 匹配具有att属性且值中含有val的E元素

(2)结构伪类选择器

E:first-child 匹配父元素的第一个字元素E
E:last-child 匹配父元素的最后一个E元素
E:nth-child(n) 匹配父元素中的第n个子元素E(多种元素类型)
E:first-of-type 指定类型E的第一个
E:last-of-type 指定类型E的最后一个
E:nth-of-type(n) 指定类型E的第n个

E:nth-child(n)

  • n可以是数字,关键字,公式
  • n如果是数字,就是选择第n个元素,n从1开始
  • n可以是关键字:even偶数,odd奇数
  • n可以是公式:只能是n(如果n是公式的话,则从0开始计算,第0个或者超出元素个数的会被忽略,即选中所有符合条件的标签)
  • 常用公式:2n、2n+1、5n、n+5(从第5个开始)、-n+5(前5个,包含第5个)

(3)伪元素选择器(利用CSS创建新标签元素,不需要HTML标签)

E::before 在元素E内部的前面插入内容
E::after 在元素E内部的后面插入内容
  • 会创建元素,但是文档树中找不到;必须具有content属性;权重为1

  • 使用场景:

    配合字体图标做表单的下拉三角

    视频播放的遮罩层

    清除浮动

    /* 1.额外标签法(在浮动元素的最后添加一个块级盒子,添加clear:both;)*/
    /* 2.父级添加overflow属性 */
    /* 3.父级添加after伪元素 */
    .clearfix:after {
        content: "";
        display: block;
        height: 0;
        clear: both;
        visibility: hidden;
    }
    /* 4.父级添加双伪元素 */
    .clearfix:after,
    .clearfix:before {
        content: "";
        display: table; /* 在一行显示 */
    }
    .clearfix:after {
        clear: both;
    }
    
2、盒子模型

box-sizing: border-box(padding和border不会撑大盒子)|content-box(默认);

3、图片变模糊——CSS滤镜
filter: blur(5px)    /* blur越大,图片越模糊 */
4、calc()函数
width: calc(100% - 30px)    /* 比父盒子小30像素 */
5、过渡
{
transition: 过渡的属性 花费时间 运动曲线 何时开始;  /* 后面2个可省略 */
/* 改变多个属性用,分割 */
transition: 属性1 时间1, 属性2 时间2;
/* 每个属性都过渡 */
transition: all 事件;
}

谁做过渡给谁加

6、2D转换(坐标:x朝右,y朝下)
  • translate(移动):不会影响其它盒子;百分比是相对于自身的;对行内标签没有效果
{
transform: translate(x, y)
transform: translateX(x)
transform: translateY(y)
}
  • rotate(旋转):顺时针或逆时针
{
/* transform: rotate(度数) */
transform: rotate(45deg)  /* 顺时针旋转45度 */
}
  • transform-origin:设置元素转换的中心点
{
/* x y默认转换的中心点是元素的中心点(50% 50%) */
transform-origin: x y;

/* 还可以给x y设置像素或者方位名词(top bottom left right center) */
transform-origin: left bottom; /* 左下角 */
transform-origin: 50px 50px;
}
  • scale(缩放):transform: scale(x, y)
{
transform: scale(1, 1) /* 宽高都放大1倍,没有放大 */
transform: scale(2, 2) /* 宽高都放大了2倍 */
transform: scale(2) /* x:2——y:2 */
transform: scale(0.5, 0.5) /* 缩小 */
/* scale缩放最大的优势:可以设置转换中心点缩放,默认以中心点缩放,而且不影响其它盒子 */
}
  • 综合写法
{
/*
transform: translate() rotate() scale()...
顺序会影响转换的效果(先旋转会改变坐标方向)  
同时有位移和其它属性时,位移放在最前面
*/
}
7、CSS3动画(先定义再使用)

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

/* 0%/100%即动画序列,设置时可以使用百分比,也可以使用from/to,等同于百分比 */
@keyframes 动画名称 {
  0% {
    /* 初始样式 */
  }
  ……
  100% {
    /* 完结样式 */
  }
}

(2)再在要使用的元素的样式中进行调用

{
/* 调用动画 */
animation-name: 动画名称;
/* 持续时间 */
animation-duration: 持续时间
}

(3)CSS3动画的常见属性

{
/* 规定动画 */
@keyframes
/* 动画名称 */
animation-name
/* 动画总时长 */
animation-duration
/* 规定动画运动曲线(默认-ease 匀速-linear) */
animation-timing-function
/* 延时 */
animation-delay
/* 重复次数 infinite 无限次 */
animation-iteration-count
/* 是否逆向播放(默认-normal  反向-alternate) */
animation-direction
/* 规定动画是否正在运行或暂停(默认-running  暂停-paused) */
animation-play-state
/* 结束返回起始状态(默认返回-backwards  停止结束状态-forwards) */
animation-fill-mode
/* 简写(前两个属性必填) */
animation: 动画名称 持续时间 运动曲线 开始时间 播放次数 是否反方向 起始结束状态;
}

(4)animation-timing-function速度曲线

{
linear          匀速
ease            低速开始,加快,结束前变慢
ease-in         动画以低速开始
ease-out        动画以低速结束
ease-in-out     动画以低速开始和结束
steps(n)        制定了时间函数中的间隔数量(步长)
}
8、3D转换(x-向右 y-向下 z-向外)

(1)3D移动:translate3d(3d中的x,y,z都不能省略)

{
transform: translateX(x)
transform: translateY(y)
transform: translateZ(z)  /* z一般用px单位 */
trsnaform: translate3d(x, y, z)
}

(2)perspective透视/视距(单位是像素)

透视写在被观察元素的父元素上 perspective: 100px;

(3)3D旋转:rotate3d——左手准则(x, y, y表示的是矢量)

{
transform: rotateX(deg)
transform: rotateY(deg)
transform: rotateZ(deg)
trsnaform: rotate3d(x, y, z, deg)
}

(4)3D呈现:transform-style

{
/* (默认)父元素设置控制字子元素是否开启3d空间 */
transform-style: flat;
/* 父元素设置子元素开启3d空间 */
transform-style: preserve-3d;
}
9、旋转木马案例(先旋转后移动)

(1)先将面前的一个在z轴上移动

(2)找到右边第二个盒子,旋转60度,向前移动

(3)依次设置位置,开启3d

(4)设置动画旋转

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

(1)私有前缀

  • -moz-:代表firefox浏览器私有属性

  • -ms-:代表ie浏览器私有属性

  • -webkit-:代表safari、chrome私有属性

  • -o-:代表Opera私有属性

(2)案例:

{
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
-o-border-radius: 10px;
border-radius: 10px;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,732评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,496评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,264评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,807评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,806评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,675评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,029评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,683评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,704评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,666评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,773评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,413评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,016评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,204评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,083评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,503评论 2 343

推荐阅读更多精彩内容

  • 1.1CSS 基础与选择器初识 | CSS 1. CSS 加载方式有几种? CSS样式加载一共有四种方式: 1、行...
    没糖_cristalle阅读 686评论 0 0
  • 1. box-sizing box-sizing属性主要用来控制元素的盒模型的解析模式。默认值是content-b...
    下下下个路口左转阅读 168评论 0 0
  • CSS参考手册 一、初识CSS3 1.1 CSS是什么 CSS3在CSS2.1的基础上增加了很多强大的新功能。目前...
    没汁帅阅读 3,555评论 1 13
  • 一、HTML5的新特性 HTML5的新增特性主要是针对于以前的不足,增加了一些新的标签、新的表单和新的表单属性等。...
    西红柿君呐阅读 188评论 0 0
  • 能够说出3~5个HTML5新增布局和表单标签 能够说出CSS3的新增特性有哪些 1. HTML5的新特性 HTML...
    皮皮章阅读 289评论 0 0