从今天开始,一天都不能断。

今天学HTML5和CSS提高。

目标:

  1. 能说出3-5个HTML5新增布局和表单标签;
  2. 能够说出CSS3的新增特性有哪些

一、HTML5的新特性

增加了新的标签,新的表单,新的表单属性等。

新特性都有兼容性问题,基本IE9以上版本的浏览器才支持;

1.1 HTML5新增的语义化标签

  1. <header>  头部标签
  2. <nav> 导航标签
  3. <article> 内容标签
  4. <section>定义文档某个区域
  5. <aside>侧边栏标签
  6. <footer>尾部标签

注意:

  1. 这种语义化标准主要针对搜索引擎
  2. 这种新标签页面中可以使用多次
  3. 在IE9,需要把这些元素转换为块级元素(小米官网)
  4. 移动端更喜欢这些标签
  5. HTML5还增加了很多其他标签
 <title>HTML5新增语义化标签</title><style>header,nav,footer {height: 120px;width: 800px;background-color: green;border-radius: 15px;margin: 15px auto;}section,aside {width: 500px;height: 300px;background-color: green;}</style>
</head><body><header>头部标签</header><nav>导航栏标签</nav><section>某个区域</section><aside>侧边栏</aside><footer>尾部标签</footer>
</body>

1.2 HTML5新增的多媒体标签

  • 音频:<audio>   Mp3   WAV  Ogg
<audio src="文件地址" controls="controls"></video>

  • 视频: <video>   MP4  Ogg  WebM,尽量MP4    低版本不支持MP4,比如火狐
<video src="文件地址" controls="controls"></video>

1.3 HTML 5 新增的input类型

  1. type=“email”
  2. type=“url”
  3. type=“data”
  4. type=“time”
  5. type=“month”
  6. type=“week”
  7. type=“number”
  8. type=“tel”
  9. type=“search”
  10. type="color"
  <title>input</title>
</head><body><!-- 我们验证的时候必须添加form表单域 --><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="month"></li><li>周:<input type="week"></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>
</body>

1.4 HTML5新增的表单属性

  • required——内容不能为空
  <input type="search" name="" id="" required="required">
  • placeholder——表单提示信息
  <input type="search" name="" id="" placeholder="胖胖的葡萄籽">

修改placeholder里的字体样式:

 input::placeholder {color: pink;}
  • autofocus——自动聚焦
 <input type="search" name="" id="" autofocus="autofocus">
  • autocomplete——显示键入过的值

<input type="search" name="sear" id="" autocomplete="on">
<input type="search" name="sear" id="" autocomplete="off">
  •  multiple——多选文件提交

 <input type="file" multiple="multiple">

二、CSS3 新特性

2.1 CSS3的现状

  1. 有兼容性问题,IE9以上才支持;
  2. 移动端支持优于PC端
  3. 不断改进中
  4. 应用相对广泛
  5. 现阶段学习:新增选择器盒子模型以及其他特性

 
2.2 CSS3新增选择器

  • 属性选择器
  • 结构伪类选择器
  • 伪元素选择器

2.3属性选择器

属性选择器可以根据元素特定属性来选择元素。这样就可以不用借助类或者id选择器。

1.利用属性选择器可以不借助类选择器或者id选择器

input[value] {color: green;}

2.属性选择器可以选择属性=值的某些元素

 input[type=password] {color: pink;}

3.属性选择器可以选择属性值开头的某些元素

div[class^=icon] {color: red;}

4.属性选择器可以选择属性值结尾的某些元素

 section[class$=data] {color: blue;}

5.属性选择器可以选择包含属性值的某些元素

 section[class*=icon] {color: purple;}

注意:类选择器,属性选择器,伪类选择器权重都是10

2.4 结构伪类选择器

结构伪类选择器主要根据文档结构部来选择元素,常用 根据 父级选择器 里面的子元素

  •  选第一个子元素
ul li:first-child {background-color: green;}
  •  选最后一个子元素

ul li:last-child {background-color: pink;}
  • E :nth-child(n)
  1. n可以是数字,关键字和公式;
  2. n如果是数字,就是选择第n个元素;
  3. n可以是关键字,even偶数,odd奇数;

 数字:

 /* 3 选择第几个的li */ul li:nth-child(3) {background-color: blue;}/* 选择第五个 */ul li:nth-child(5) {background-color: red;}

 关键字:

  ul li:nth-child(even) {background-color: red;}

公式:

  1. n——全选——从0开始,第0个元素没有,第9个没有,自动忽略
  2. 2n——等价于even
  3. 2n+1——等价于odd
  4. 5n——选中5的倍数
  5. n+6——从第6个(包含第6个)到最后
  6. -n+5——前5个,包含第5个
<title>结构伪类选择器nth-child()</title><style>/* 1. 选择奇数 *//* ul li:nth-child(odd) { *//* 2. 选择偶数 */ul li:nth-child(even) {background-color: red;}/* 3. 从0开始,第0个元素没有,第9个没有,自动忽略 */ol li:nth-child(n) {background-color: pink;}/* 4. 2n——等价于even */ol li:nth-child(2n) {background-color: green;}/* 5. 2n+1 ——等价于odd */ol li:nth-child(2n+1) {background-color: blue;}/* 6. 5n ——5的倍数 */ol li:nth-child(5n) {background-color: black;}/* 7. n+6 ——从第6个(包含第6个)到最后 */ol li:nth-child(n+6) {background-color: blueviolet;}/* 8. -n+5 ——前5个,包含第5个 */ul li:nth-child(-n+5) {background-color: aqua;}</style>
</head><body><ul><li>我是第1个孩子</li><li>我是第2个孩子</li><li>我是第3个孩子</li><li>我是第4个孩子</li><li>我是第5个孩子</li><li>我是第6个孩子</li><li>我是第7个孩子</li><li>我是第8个孩子</li></ul><ol><li>我是第1个孩子</li><li>我是第2个孩子</li><li>我是第3个孩子</li><li>我是第4个孩子</li><li>我是第5个孩子</li><li>我是第6个孩子</li><li>我是第7个孩子</li><li>我是第8个孩子</li></ol>
</body>
  • 第一个  E:first-of-type
 ul li:first-of-type {background-color: red;}
  • 最后一个 E:last-of-type
 ul li:last-of-type {background-color: black;}
  • E:nth-of-type(n)    用法和nth-child(n)一样

 ol li:nth-of-type(n) {background-color: green;}

E :nth-child(n)和E:nth-of-type(n) 的区别

nth-child会把所有的孩子都排序,它执行的时候先看序号,再去看元素div,匹配不上就不执行;

nth-of-type 会把先看指定元素,给指定元素排序,再选序号。

小结:

  1. 结构伪类选择器一般用于选择父级里的第几个孩子;
  2. nth-child 先对父元素里面所有的孩子排序,找到第n个孩子,看标签是否匹配;
  3. nth-of-type先找到标签,再对标签排序;
  4. nth-child(n) n从0开始;
  5. 无序列表 我们用nth-child 更多
  6. 类选择器,属性选择器,伪类选择器,权重都是10

2.5 伪元素选择器(重点)

用CSS创建新标签元素,不需要HTML标签,简化HTML结构。

  • ::before
  • ::after

注意:

  1. beforeafter创建一个元素,属于行内元素
  2. 新创建的元素在文档树中找不到,所以叫伪元素
  3. 语法:E::before{}
  4. before和after必须有content属性
  5. before在父元素内容前面创建元素;after在父元素内容后面插入元素
  6. 伪元素选择器和标签选择器一样,权重为1
  • 伪元素选择器使用场景1:伪元素字体图标
 <title>伪元素选择器使用场景——伪元素字体图标</title><style>@font-face {font-family: 'icomoon';src: url('fonts/icomoon.eot?u3stqe');src: url('fonts/icomoon.eot?u3stqe#iefix') format('embedded-opentype'),url('fonts/icomoon.ttf?u3stqe') format('truetype'),url('fonts/icomoon.woff?u3stqe') format('woff'),url('fonts/icomoon.svg?u3stqe#icomoon') format('svg');font-weight: normal;font-style: normal;font-display: block;}div {position: relative;width: 300px;height: 50px;border: 1px solid #CCC;}div::after {position: absolute;right: 20px;line-height: 50px;content: '';font-family: 'icomoon';font-size: 20px;color: #CCC;}</style>
</head><body><div></div>
</body>
  • 伪元素选择器使用场景2:仿土豆效果
 <title>伪元素仿土豆</title><style>.tudou {position: relative;width: 444px;height: 320px;margin: 50px auto;}.tudou img {width: 100%;height: 100%;}.tudou::before {display: none;position: absolute;top: 0;left: 0;content: '';width: 100%;height: 100%;background: url(images/hot.png) no-repeat center rgba(0, 0, 0, .3);}.tudou:hover::before {display: block;}</style>
</head><body><div class="tudou"><img src="data:images/sk.webp" alt=""></div><div class="tudou"><img src="data:images/sk.webp" alt=""></div><div class="tudou"><img src="data:images/sk.webp" alt=""></div>
</body>
  • 伪元素选择器使用场景3:清除浮动
 <title>伪元素清除浮动</title><style>/* .clearfix::after {content: '';display: block;height: 0;clear: both;visibility: hidden;} */.clearfix::before,.clearfix:after {content: "";display: table;}.clearfix:after {clear: both;}.clearfix {/* I6 I7专有 */*zoom: 1}.box div {float: left;width: 200px;height: 200px;}.box .a {background-color: pink;}.box .b {background-color: green;}.footer {width: 500px;height: 300px;background-color: antiquewhite;}</style>
</head><body><div class="box clearfix"><div class="a">什么</div><div class="b">好家伙</div></div><div class="footer"></div>
</body>

2.6 CSS3盒子模型

  box-sizing: border-box;

<title>CSS3盒子模型</title><style>* {margin: 0;padding: 0;box-sizing: border-box;}div {width: 200px;height: 200px;background-color: green;border: 20px solid red;padding: 15px;box-sizing: content-box;}p {width: 200px;height: 200px;background-color: green;border: 20px solid red;padding: 15px;/* 不会撑开盒子 */box-sizing: border-box;}</style>
</head><body><div>胖胖的葡萄籽</div><p>小猪佩奇</p>
</body>

2.7 CSS3其他特性

  • CSS3滤镜 filter:
filter: 函数();    例如:filter: blur(5px);   blur模糊处理,数值越大越模糊
  • CSS3  calc函数

让你在声明CSS属性值时执行一些计算

width: calc(100%-80px);
​
<title>calc函数</title><style>.father {width: 300px;height: 200px;background-color: pink;}.son {/* calc(符号之间打空格) *//* width: calc(150px + 30px); *//* 子盒子永远比父盒子小30像素 */width: calc(100% - 30px);height: 30px;background-color: green;}</style>
</head><body><!-- 需求:子盒子永远比父盒子小30像素 --><div class="father"><div class="son"></div></div>
</body>​

2.8 CSS过渡 (重点)

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

从一个状态 渐渐过渡另外一个效果,IE9以下版本不支持

经常和 : hover 一起搭配使用

谁做过渡给谁加

  1. 属性:宽高 背景颜色 内外边框 all
  2. 花费时间: 0.5s
  3. 运动曲线:默认ease
  4. 何时开始:默认0s
  <title>CSS3之过渡transition</title><style>div {height: 100px;width: 200px;background-color: pink;/* transition: width .5s ease .5s, height .5s ease .5s; *//* transition: width .5s, height .5s; *//* transition: height .5s ease .5s; *//* 变所有的 */transition: all .5s;}div:hover {width: 400px;height: 200px;background-color: green;}</style>
</head><body><div></div>
</body>

进度条案例:

  1. 进度条如何布局
  2. 过渡的使用
 <title>进度条</title><style>.ba {width: 200px;height: 20px;border: 1px solid red;border-radius: 7px;padding: 1px;}.bar {width: 50%;height: 100%;background-color: red;border-radius: 7px;transition: all .7s;}.ba:hover .bar {width: 100%;}</style>
</head><body><div class="ba"><div class="bar"></div></div>
</body>

广义的H5:HTML5+CSS3+javascript

狭义的HTML5 CSS3:HTML5结构标签本身

DAY 10 | 自学前端第十天相关推荐

  1. 自学前端第二十九天 CSS高级之细节技巧

    第二十九天 css高级细节技巧 一.background-color :属性设置元素的背景颜色. 定义和用法 background-color 属性设置元素的背景颜色. 元素背景的范围 backgro ...

  2. 自学前端第十九天:云道页面综合练习

    CSS之 reset.css模板 *{word-wrap:break-word} html,body,h1,h2,h3,h4,h5,h6,hr,p,iframe,dl,dt,dd,ul,ol,li,p ...

  3. 自学前端第二十五:web字体图标使用

    web字体图标:本质是字体,伪元素联用的 出现一个白色框即字体失效的检查: ①路径那里是不是fonts文件夹的第一子路径就是全部的文件. ②/+unicode编码 和 转义编码 有没有弄棍 (一个给c ...

  4. 自学前端第十五天:伪类伪元素和属性选择器和精灵图

    #一.基础伪类选择器(也是交集选择器一种,优先级也要叠加) 1.概念:某个选择器的镜像,当光标移动到盒子时会触发新的一面不同的效果,但是是短暂的而已 2.作用:伪类选择器用于向某些选择器添加特殊的效果 ...

  5. 自学前端第十天 : CSS怪异盒子模型

    一.怪异盒子模型 怪异盒模型是IE盒子模型 我们可以通过 css 样式 box-sizing来进行切换 select {box-sizing: border-box; /* 怪异盒子模型 */box- ...

  6. 自学前端第二十六天:flex弹性盒子

    CSS3 弹性布局 flex(给父盒子挂flex帅,让子元素排布练阵) 1.摘自 http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html 布局 ...

  7. 自学前端第二十四天:Animation动画栈帧效果

    CSS3 帧动画 amimation @keyframes amimation 是transition过渡的高级升级版 1.为什么要 amimation 一帧一帧的具体动画,因为transition进 ...

  8. 自学前端,需要学习哪些知识点?学多久可以入职前端工程师?

    假如有那么残酷的一天,我不小心喝错了一瓶药,一下子抹掉了我这十多年的编程经验,把我变成了一只小白.我想自学 前端,并且想要找到一份工作,我预计需要 6 个月的时间,前提条件是每天都处于高效率的学习状态 ...

  9. 自学Python第二十六天- Tornado 框架

    自学Python第二十六天- Tornado 框架 安装及基础引用 创建.配置.初始化应用及简单运行服务 创建应用 对 app 进行设置 另一种设置方法 一些其他的配置 关于调试模式 设置路由处理器 ...

最新文章

  1. linux查看某个端口是被哪个进程占用的
  2. Linux系统文件I/O编程(一)---open()等基本函数
  3. PAT 1013 数素数 (20)
  4. [Android Pro] 内容提供者ContentProvider的基本使用
  5. [知识竞赛策划方案][图]何用PPT制作知识竞赛所需要的题库?作为一个普通的单位,由于不具备电视台专用的比赛平台,如果要搞一场极致专业的知识竞赛?同时花钱最少?
  6. 企业级多用户发卡平台源码 源码完全开源 无任何加密
  7. 火山pc实现找图找色模块
  8. 为什么我星际争霸画面是窗口_为什么我喜欢看全球星际联盟
  9. 大赛来袭 | 千万项目商机+超40W大赛奖金,快来报名吧!
  10. 压缩算法——FLAC (Free Lossless Audio Codec)编码原理
  11. 普通麦克风和多阵列麦克风的区别
  12. 哥伦比亚大学 NLP 第三章(第二部分)
  13. C/C++ 回调函数的使用
  14. T/CAGIS 1—2019《空间三维模型数据格式》
  15. 蓝桥杯 STEMA 考试 C++ 编程题模拟题
  16. linux平台搭建ftp,Linux快速搭建FTP服务器
  17. C语言--判断一个大于或等于3的正整数是不是素数
  18. 计算飞机跑道长度C语言,中国各个机场跑道长度?
  19. Queue 中 add() 和 offer() 区别
  20. 吴恩达:AI 在2022年创造了这些奇迹

热门文章

  1. java基础 day12-FileInputStream类,文件的复制,缓冲流,Propertes文件,xml文件读写,网络socket编程(构建TCP客户端),内部类
  2. lgv20刷twrp_LG V30+ 日版 L-01K 刷机解锁BL 刷入TWR 回复日版基带
  3. 美国人眼中的大数据法律问题
  4. mars3d中时间的转换
  5. 图形 1.1渲染流水线(知识梳理笔记)
  6. uni-app 调用讯飞语音。
  7. 学计算机用游戏本好吗,学设计的用什么笔记本好呢
  8. 能处理姓氏异读的汉字转拼音工具:hanz2piny
  9. 数据挖掘与机器学习——数据挖掘概述
  10. 春节假期和幺儿一起玩xbox360的体感游戏