web前端基础 html5+css3(十.html5css3新特性)
1.html5新增的语义化标签(针对搜索引擎,提高优化)
<header>:头部标签
<nav>:导航标签
<active>:内容标签
<section>:定义文档某个内容
<aside>:侧边栏标签
<footer>:尾部标签
body{width: 800px;margin: 0 auto;}header,nav,footer{width: 800px;height: 120px;background: #c00;margin:15px auto 0;border-radius: 5px; float: left;}section{width: 500px;height: 120px;background: blue;margin-top:15px;border-radius: 5px;float: left;}aside{width: 300px;height: 120px;background: pink;margin-top:15px;border-radius: 5px;float: right;}
<header>头部</header>
<nav>导航</nav>
<section>左</section>
<aside>右</aside>
<footer>底部</footer>
2.HTML5新增的多媒体标签
(1)video
autoplay:视频就绪自动播放(谷歌浏览器需要添加muted来解决自动播放的问题)
controls:向用户显示播放控件
width:设置播放器宽度
height:设置播放器高度
loop:播放完是否继续播放该视频(循环播放)
preload:auto(预先加载视频)none(不应加载视频),规定是否预加载视频(如果有了autoplay,就忽略该属性)
src:视频url地址
poster:加载等待的画面图片
muted:静音播放
video{width: 100%;height:600px;}
<video src="data:images/mi.mp4" controls="controls" autoplay="autoplay" muted="muted" loop="loop" poster="images/mi.jpg"></video>
(2)audio
autoplay:音频就绪后马上播放
controls:播放按钮
loop:则每当音频结束时重新开始播放
src:播放的音频的url
<audio src="data:images/schj.mp3" autoplay="autoplay" controls="controls" loop="loop"></audio>
3.html5新增的input标签
<form action=""><ul><li>邮箱:<input type="email"/></li><li>网址:<input type="url"/></li><li>日期:<input type="date"/></li><li>日期:<input type="time"/></li><li>数量:<input type="number"/></li><li>手机号码:<input type="tel"/></li><li>搜索:<input type="search"/></li><li>颜色:<input type="color"/></li><li><input type="submit" value="提交"/></li></ul>
</form>
4.html5新增的表单属性
required:必填
placeholder:文本框默认值
autofocus:自动聚焦
autocomplete:off/on 记录之前键入的值(可关闭)
multple:多选文件提交
<form action=""><ul><li>文本域:<input type="search" placeholder="who is me" autofocus="autofocus" required="required" autocomplete="on"/></li><input type="file" multiple="multiple"/><li><input type="submit" value="提交"/></li></ul>
</form>
5.属性选择器
(1)E[att] 选择具有att属性的E元素
/*必须是input 但是同时具有value这个属性 选择这个元素*/
input[value]{color:#c00;}
<input type="text" value="who is me ?"/>
<input type="text" name="me"/>
(2)E[att=“val”]选择具有att属性且属性值等于val的E元素
input[type="password"]{color:#c00;}
<!--2.属性选择器可以选择属性=值的某些元素-->
<input type="text"/>
<input type="password"/>
(3)E[att∧=“val”]匹配具有att属性且值以val开头的E元素
/*选择首先是div 然后具有class属性 并且属性值必须是icon开头的这些元素*/
div[class^="icon"]{color:blue;}
<!--3.属性选择器可以选择属性值开头的某些元素-->
<div class="icon1">icon1</div>
<div class="icon2">icon2</div>
<div class="icon3">icon3</div>
<div class="icon4">icon4</div>
<div>AAAAAA</div>
(4)E[att$="val"]匹配具有att属性且值以val结尾的E元素
div[class$="data"]{color:yellow;}
<!--4.属性选择器可以选择属性值结尾的某些元素-->
<div class="icondata">icon1</div>
<div class="icondata">icon2</div>
<div class="iconwho">who is me ?</div>
(5)E[att*="val"]匹配具有att属性且值中含有val的E元素(开头/结尾中含有val的元素)
/*属性选择器可以选择属性值开头/结尾的某些元素*/
div[class*="icon"]{color:green;}
<div class="icon1">icon1</div>
<div class="icon2">icon2</div>
<div class="icon3">icon3</div>
<div class="icon4">icon4</div>
<div>AAAAAA</div>
<div class="icondata">icon1</div>
<div class="icondata">icon2</div>
<div class="iconwho">who is me ?</div>
类选择器,属性选择器,伪类选择器权重是10
6.结构伪类选择器
E:first-child 匹配父元素中的第一个子元素
E:last-child 匹配父元素中的最后一个子元素
E:nth-child(n) 匹配父元素中的第n个子元素
/*选择ul的第一个孩子*/
ul li:first-child{color:#c00;}
/*选择ul的最后一个孩子*/
ul li:last-child{color:yellow;}
<ul><li>1</li><li>2</li><li>3</li><li>4</li><li>5</li><li>6</li><li>7</li>
</ul>
nth-child(n) :n可以是数字,关键字或者公式
ul li:nth-child(2){color:green;}
/*选取奇数的孩子(odd)*/
ul li:nth-child(odd){color:blue;}
/*选取偶数的孩子(even)*/
ul li:nth-child(even){color:skyblue;}
/*nth-child(n)*从0开始,每次加1 往后面计算,这里面必须是n,不能是其他字母,选择了所有的孩子*/
ol li:nth-child(n){color:pink;}
/*选择所有偶数孩子相当even*/
ol li:nth-child(2n){color:yellow;}
/*选择所有奇数孩子相当odd*/
ol li:nth-child(2n-1){color:orange;}
/*从第三个元素开始*/
ol li:nth-child(n+3){color:#c00;}
/*从第三个元素往后数*/
ol li:nth-child(-n+3){color:skyblue;}
<ul><li>1</li><li>2</li><li>3</li><li>4</li><li>5</li><li>6</li><li>7</li>
</ul>
<ol><li>1</li><li>2</li><li>3</li><li>4</li><li>5</li><li>6</li><li>7</li>
</ol>
E:first-of-type 指定类型E的第一个
E:last-of-type 指定类型E的最后一个
E:nth-of-type(n) 指定类型E的第n个
/*nth-child 会把所有盒子排列序号*/
/*执行的时候首先看 :nth-child(1)找第一个元素,之后再回去看前面div*/
section span:nth-child(1){color:#c00;}
/*nth-of-type会把指定元素的盒子排列序号*/
/*执行的时候首先看div指定的元素,之后回去看:nth-of-type(1)第几个孩子*/
section span:nth-of-type(2){color:yellow;}
section span:first-of-type{color:red;}
section span:last-of-type{color:skyblue;}
<section><div>AAA</div><span>BBB</span><span>ccc</span><span>fff</span><span>ggg</span><span>hhhh</span>
</section>
7.伪元素选择器
1.文字
div{width:200px;height:200px;background: pink;}
div:before{display:inline-block;content:"我";width: 20px;height: 30px;background: purple;}/*content必须要写*/
div:after{content:"谁";}/*content必须要写*/
<div>是</div>
2.字体图标
@font-face {font-family: 'icomoon';src: url('fonts/icomoon.eot?p4ssmb');src: url('fonts/icomoon.eot?p4ssmb#iefix') format('embedded-opentype'),url('fonts/icomoon.ttf?p4ssmb') format('truetype'),url('fonts/icomoon.woff?p4ssmb') format('woff'),url('fonts/icomoon.svg?p4ssmb#icomoon') format('svg');font-weight: normal;font-style: normal;font-display: block;
}
div{width: 200px;height: 30px;border: 1px solid #c00;position: relative;}
div::after{font-family: 'icomoon';content: '\e900';font-size: 18px;position: absolute;right: 10px;top: 5px;}
<div></div>
3.土豆网显示隐藏遮罩层
.tudou{width: 300px;height: 200px;position: relative;}
.tudou img{width: 100%;height: 100%;}
.tudou:hover::before{content:'';background:rgba(0,0,0,.3);position: absolute;width: 100%;height: 100%;background: url("images/arr.png") center no-repeat rgba(0,0,0,.3);}
<div class="tudou"><img src="data:images/tudou.jpg"/>
</div>
4.伪元素清除浮动
.clearfix:after{content: '';/*伪元素必须写的属性*/display: block;/*插入的元素必须是块级*/height: 0;/*不要看到这个元素*/clear: both;/*核心代码清除浮动*/visibility: hidden;/*不要看到这个元素*/
}
.clearfix:after,.clearfix:before{content='';display: table;
}
.clearfix:after{clear: both;}
8.css3盒子模型border-box
box-sizing:content-box(默认)
box-sizing:border-box(加上边框不会撑大盒子)
div{width: 200px;height: 100px;background: #c00;border: 10px solid pink;padding: 20px;box-sizing: content-box;}
p{width: 200px;height: 100px;background: blue;border: 10px solid skyblue;padding: 20px;box-sizing: border-box;}
<div></div>
<p></p>
9.图片模糊处理filter
img{/*blur是一个函数 小括号里面数值越大,图片越模糊 注意数值要加px单位*/filter:blur(5px);
}
img:hover{filter:blur(0px);}
<img src="data:images/2.jpg"/>
10.css3宽度calc函数
.father{width:300px;height: 200px;background: #c00;}
.son{width: calc(100% - 30px);height: 30px;background:skyblue;margin:0 auto;}
<!--需求我们的子盒子宽度永远比父盒子小30像素-->
<div class="father"><div class="son"></div>
</div>
11.css过渡
transition :要过渡的属性 花费时间 运动曲线 何时开始;
1.属性:想要变化的css属性,宽度高度,背景颜色,内外边距都可以。如果想要所有的属性都变化过渡,写一个all就可以。
2.花费时间:单位是秒(必须写单位)比如0.5s
3.运动曲线:默认是ease(可以省略)
4.何时开始:单位是秒(必须是单位)可以设置延迟触发时间,默认是0s,可以省略
div{width: 200px;height: 100px;background: #c00;/*transition:变化的属性 花费时间 运动曲线 何时开始*/transition:width .5s;transition:width .5s,height .2s;transition:height .5s ease 1s;/*如果想要多个属性都变化,属性写all就可以了*//*谁要过渡,给谁加*/transition:all .6s;
}
div:hover{width:400px;height:200px;background: pink;}
12.css过渡练习
(1)进度条
.hg {width: 300px;height: 20px;border: 1px solid #c00;border-radius: 150px;padding: 1px;}
.hg .lyf{background: #c00;width: 50%;height: 100%;border-radius: 150px;transition:all .5s;}
.hg:hover .lyf{width: 100%;}
<div class="hg"><div class="lyf"></div>
</div>
(2)小米图标
.lyfhg{width: 200px;height: 100px;position: relative;overflow: hidden;}
.lyfhg::after{content: '';position: absolute;width: 100%;height: 100%;background: url(images/tudou.jpg);}
.lyfhg::before{content: '';position: absolute;width: 100%;height: 100%;background: url(images/2.jpg);}
.lyfhg:hover::after{opacity: 0;/*transform: translate3d(55px,0,0) scale(.9);*/transition:all 0.5s;}
<div class="lyfhg"></div>
<div class="hg"></div>
13.背景线性渐变
background:-webkit-linear-gradient(起始方向,颜色1,颜色2........);//颜色没有限制,多个也可以(必须加上浏览器的私有前缀-webkit-)
background:-webkit-linear-gradient(left,red,blue);
background:-webkit-linear-gradient(left top,red,blue);
div{width: 600px;height:200px;background: -webkit-linear-gradient(left top,red,purple);}
<div></div>
14.文本框提示(placeholder)
input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {color: #999;
}input:-moz-placeholder, textarea:-moz-placeholder {color: #999;
}input::-moz-placeholder, textarea::-moz-placeholder {color: #999;
}input:-ms-input-placeholder, textarea:-ms-input-placeholder {color: #999;
}
web前端基础 html5+css3(十.html5css3新特性)相关推荐
- web前端基础 html5+css3(十三.移动端)
目录 一.移动端基础 1.视口 2.meta视口标签 3.二倍图做法 4.背景缩放background-size 5.背景图片2倍图 6.css3盒子模型 7.移动端特殊样式 二.移动端的常见布局 三 ...
- web前端基础 html5+css3(十二.2D转换,动画,3D转换)
一.2D转换 1.2D转换之移动translate (1)transform:translate(x,y); transform:translate(100px,100px); (2)transfor ...
- web前端基础 html5+css3(九.精灵图,字体图标,css三角,鼠标样式cursor,.轮廓线 outline,vertical-align,文本溢出显示省略号)
1.精灵图(有效减少服务器介绍和发送请求的次数,提高页面的加载速度) 将网页的小背景图像整合到一张大图中,这样服务器只需要请求一次就可以了 background-position (图片往坐标左边走) ...
- 前端 input怎么显示null_小猿圈WEB前端之HTML5+CSS3面试题(一)
学习是一件非常充实的过程,特别是把自己的乐趣变成工作的时候,很多朋友就喜欢学习web前端,所以学习前端,也希望从事前端的工作,但是因为缺少实战经验,所以很多都是卡在面试这关上,下面小猿圈总结了web前 ...
- HTML5的十大新特性
原文网址:HTML5的十大新特性_IT利刃出鞘的博客-CSDN博客 简介 说明 本文介绍HTML5的十大新特性和一些废除的特性. HTML5总体比HTML4多了十个新特性,但其不支持IE8及IE8以下 ...
- 小猿圈WEB前端之HTML5+CSS3面试题(一)
越来越多人喜欢前端岗位,毕业季已经悄然来临,很多毕业生面临找工作,那你们在狂欢快乐最后恋恋不舍之际,是否想着过几天招工作的危机.如果想要毕业之后,走向前端的岗位,那看到小编的文章后好好做一下这套题,今 ...
- html5新特性 移除哪些,html5\CSS3有哪些新特性、移除了哪些元素?如何处理HTML5新标签的浏览器兼容问题?如何区分HTML和HTML5?...
(1)HTML5现在已经不是SGML的子集,主要是关于图像,位置,存储,地理定位等功能的增加. 绘画canvas元素: 用于媒介回放的video和audio元素: 本地离线存储localStorage ...
- web前端开发html5+css3学习笔记day1
软件分类: 系统软件:windows.linux.macOS等 应用软件:office.QQ等 游戏软件:王者荣耀.QQ飞车等 客户端与服务器 ·通常情况下,软件由两部分组成: ----客户端:用户通 ...
- 前端HTML5十大新特性详细总结
前端HTML5十大新特性总结 一 必须知道 写前端的都知道,在代码最前面都有这一行代码,大家都知道一定要把这东西写上去. <!DOCTYPE html> 但是!这是什么玩意儿?为什么要写上 ...
最新文章
- Leetcode 剑指 Offer 53 - I. 在排序数组中查找数字 I (每日一题 20210928)
- coding note-源码搜索
- 论文笔记:DeepID2
- OpenStack自动发现计算节点
- 二进制文件签名_二进制数的签名表示
- MsSql正反表达式
- 深藏不露!下拉列表设计灵感
- Linux tmux
- python面向对象编程指南 豆瓣_一文看懂Python面向对象编程(Python学习与新手入门必看)-绝对原创...
- 三元运算符 python_Python三元运算符
- openmv探索_2_追踪单颜色
- matlab常用函数解释,MATLAB常用函数总结
- S32K144(19)FlexIO
- 五个最佳FTP客户端工具
- Ubuntu 18.04安装全面战争三国游戏 (by quqi99)
- 编程实践--现有10元,每瓶饮料2元;2个空瓶换一瓶饮料;4个瓶盖换一瓶饮料;总共能喝多少瓶?
- Django创建app以及普通视图的建立
- Scala语法(一) 基础语法(变量常量判断循环数组集合)
- 利用SOP激活沉默用户
- pdf太大了怎么缩小?怎么能缩小pdf文件大小?
热门文章
- idea集成maven
- 快手“进城”难,只靠直播创收能顺利IPO吗?
- C#操作摄像头实现拍照监控录像功能
- vi编辑器使用方法(最详细)
- C/C++ 蛇形填数
- 使用tlink链接多个obj时会出现 Bad object file record in ..objxxx.obj near module file offset 0×00000000
- 4、MyBatis 框架适用场合:
- kubenetes(五)发布 阿里云仓库的镜像
- c语言fuc函数,CMocker
- php进程导致服务器cpu占用100%问题追查过程