公司网站的作用意义维护建设管理,者珠海市建设局网站,手机禁止网站跳转页面,门户网站建设策划目标能够说出 3~5 个 HTML5 新增布局和表单标签能够说出 CSS3 的新增特性有哪些HTML5新特性概述HTML5 的新增特性主要是针对于以前的不足#xff0c;增加了一些新的标签、新的表单和新的表单属性等。 这些新特性都有兼容性问题#xff0c;基本是 IE9 以上版本的浏览器才支持增加了一些新的标签、新的表单和新的表单属性等。 这些新特性都有兼容性问题基本是 IE9 以上版本的浏览器才支持如果不考虑兼容性问题可以大量使用这些新特性。语义化标签 ★★以前布局我们基本用 div 来做。div 对于搜索引擎来说是没有语义的div class“header” /div
div class“nav” /div
div class“content” /div
div class“footer” /div发展到了HTML5后新增了一些语义化标签这样的话更加有利于浏览器的搜索引擎搜索也方便了网站的seoSearch Engine Optimization搜索引擎优化下面就是新增的一些语义化标签header 头部标签nav 导航标签article 内容标签section 定义文档某个区域aside 侧边栏标签footer 尾部标签多媒体标签多媒体标签分为 音频 audio 和视频 video 两个标签 使用它们我们可以很方便的在页面中嵌入音频和视频而不再去使用落后的flash和其他浏览器插件了。因为多媒体标签的 属性、方法、事件比较多因此我们需要什么功能的时候就需要去查找相关的文档进行学习使用。视频标签- video★★★基本使用当前 video 元素支持三种视频格式 尽量使用 mp4格式使用语法video srcmedia/mi.mp4/video兼容写法由于各个浏览器的支持情况不同所以我们会有一种兼容性的写法这种写法了解一下即可video controlscontrols width300sourcesrcmove.oggtypevideo/oggsourcesrcmove.mp4typevideo/mp4您的浏览器暂不支持 video 标签播放视频
/video上面这种写法浏览器会匹配video标签中的source如果支持就播放如果不支持往下匹配直到没有匹配的格式就提示文本video 常用属性属性很多有一些属性需要大家重点掌握autoplay 自动播放注意 在google浏览器上面默认禁止了自动播放如果想要自动播放的效果需要设置 muted属性width 宽度height 高度loop 循环播放src 播放源muted 静音播放示例代码video srcmedia/mi.mp4 autoplayautoplay mutedmuted looplooppostermedia/mi9.jpg/video音频标签- audio基本使用当前 audio 元素支持三种视频格式 尽量使用 mp3格式使用语法audio srcmedia/music.mp3/audio兼容写法由于各个浏览器的支持情况不同所以我们会有一种兼容性的写法这种写法了解一下即可 audio controlscontrols source srchappy.mp3 typeaudio/mpeg source srchappy.ogg typeaudio/ogg 您的浏览器暂不支持 audio 标签。/audio上面这种写法浏览器会匹配audio标签中的source如果支持就播放如果不支持往下匹配直到没有匹配的格式就提示文本audio 常用属性示例代码audio src文件地址 controlscontrols/audio小结音频标签和视频标签使用方式基本一致浏览器支持情况不同谷歌浏览器把音频和视频自动播放禁止了我们可以给视频标签添加 muted 属性来静音播放视频音频不可以可以通过JavaScript解决视频标签是重点我们经常设置自动播放不使用 controls 控件循环和设置大小属性新增的表单元素 ★★在H5中帮我们新增加了很多类型的表单这样方便了程序员的开发HTML5 新增的 input 类型 常见输入类型text password radio checkbox button file hidden submit reset image新的输入类型重点记住 number tel search 这三个HTML5 新增的表单属性可以通过以下设置方式修改placeholder里面的字体颜色input::placeholder {color: pink;
}课堂案例在这个案例中熟练了新增表单的用法案例代码!-- 我们验证的时候必须添加form表单域 --!-- 我们验证的时候必须添加form表单域 --
form actionulli邮箱: input typeemail //lili网址: input typeurl //lili日期: input typedate //lili时间: input typetime //lili数量: input typenumber //lili手机号码: input typetel //lili搜索: input typesearch //lili颜色: input typecolor //li!-- 当我们点击提交按钮就可以验证表单了 --li input typesubmit value提交/li/ul
/formCSS3新特性CSS3 的现状新增的CSS3特性有兼容性问题ie9才支持移动端支持优于 PC 端 不断改进中 应用相对广泛现阶段主要学习新增选择器和盒子模型以及其他特性 CSS3 新增选择器 CSS3 给我们新增了选择器可以更加便捷更加自由的选择目标元素。 属性选择器结构伪类选择器伪元素选择器属性选择器★★属性选择器按照字面意思都是根据标签中的属性来选择元素示例代码 /* 只选择 type text 文本框的input 选取出来 */
input[typetext] {color: pink;
}
/* 选择首先是div 然后 具有class属性 并且属性值 必须是 icon开头的这些元素 */
div[class^icon] {color: red;
}
/* 选择首先是section 然后 具有class属性 并且属性值 必须是 data结尾的这些元素 */
section[class$data] {color: blue;
}属性选择器按照字面意思都是根据标签中的属性来选择元素属性选择器可以根据元素特定属性的来选择元素。 这样就可以不用借助于类或者id选择器属性选择器也可以选择出来自定义的属性注意类选择器、属性选择器、伪类选择器权重为 10。结构伪类选择器结构伪类选择器主要根据文档结构来选择器元素 常用于根据父级选择器里面的子元素注意类选择器、属性选择器、伪类选择器权重为 10。E:first-child匹配父元素的第一个子元素E styleul li:first-child{background-color: red;}/styleulli列表项一/lili列表项二/lili列表项三/lili列表项四/li/ulE:last-child 则是选择到了最后一个li标签E:nth-child(n)★★★匹配到父元素的第n个元素匹配到父元素的第2个子元素 ul li:nth-child(2){}匹配到父元素的序号为奇数的子元素ul li:nth-child(odd){} /* odd 是关键字 奇数的意思3个字母 */匹配到父元素的序号为偶数的子元素ul li:nth-child(even){} /* even4个字母 */匹配到父元素的前3个子元素ul li:nth-child(-n3){} 选择器中的 n 是怎么变化的呢因为 n是从 0 123.. 一直递增所以 -n3 就变成了 n0 时 -033n1时 -132n2时 -231n3时 -330 ...一些常用的公式 公式不是死的在这里列举出来让大家能够找寻到这个模式能够理解代码这样才能写出满足自己功能需求的代码常用的结构伪类选择器是 nth-child(n) {...}E:nth-child 与 E:nth-of-type 的区别这里只讲明 E:nth-child(n) 和 E:nth-of-type(n) 的区别 剩下的 E:first-of-type E:last-of-type E:nth-last-of-type(n) 同理做推导即可styleul li:nth-child(2){/* 字体变成红色 */color: red;}ul li:nth-of-type(2){/* 背景变成绿色 */background-color: green;}/styleulli列表项一/lip乱来的p标签/pli列表项二/lili列表项三/lili列表项四/li/ul也就是说E:nth-child(n) 匹配父元素的第n个子元素E也就是说nth-child 对父元素里面所有孩子排序选择序号是固定的 先找到第n个孩子然后看看是否和E匹配E:nth-of-type(n) 匹配同类型中的第n个同级兄弟元素E也就是说对父元素里面指定子元素进行排序选择。 先去匹配E 然后再根据E 找第n个孩子小结结构伪类选择器一般用于选择父级里面的第几个孩子nth-child 对父元素里面所有孩子排序选择序号是固定的 先找到第n个孩子然后看看是否和E匹配nth-of-type 对父元素里面指定子元素进行排序选择。 先去匹配E 然后再根据E 找第n个孩子关于 nth-childn 我们要知道 n 是从 0 开始计算的要记住常用的公式如果是无序列表我们肯定用 nth-child 更多类选择器、属性选择器、伪类选择器权重为 10伪元素选择器★★★伪元素选择器可以帮助我们利用CSS创建新标签元素而不需要HTML标签从而简化HTML结构示例demostylediv {width: 200px;height: 200px;background-color: pink;}/* div::before 权重是2 */div::before {/* 这个content是必须要写的 */content: 我;}div::after {content: 小猪佩奇;}
/style
bodydiv是/div
/body注意before 和 after 创建一个元素但是属于行内元素新创建的这个元素在文档树中是找不到的所以我们称为伪元素语法 element::before {} before 和 after 必须有 content 属性 before 在父元素内容的前面创建元素after 在父元素内容的后面插入元素伪元素选择器和标签选择器一样权重为 1应用场景一 字体图标在实际工作中字体图标基本上都是用伪元素来实现的好处在于我们不需要在结构中额外去定义字体图标的标签通过content属性来设置字体图标的 编码步骤结构中定义div盒子在style中先申明字体 font-face在style中定义after伪元素 div::after{...}在after伪元素中 设置content属性属性的值就是字体编码在after伪元素中 设置font-family的属性利用定位的方式让伪元素定位到相应的位置记住定位口诀子绝父相!DOCTYPE html
html langenheadmeta charsetUTF-8meta nameviewport contentwidthdevice-width, initial-scale1.0meta http-equivX-UA-Compatible contentieedgetitle伪元素选择器使用场景-字体图标/titlestylefont-face {font-family: icomoon;src: url(fonts/icomoon.eot?1lv3na);src: url(fonts/icomoon.eot?1lv3na#iefix) format(embedded-opentype),url(fonts/icomoon.ttf?1lv3na) format(truetype),url(fonts/icomoon.woff?1lv3na) format(woff),url(fonts/icomoon.svg?1lv3na#icomoon) format(svg);font-weight: normal;font-style: normal;font-display: block;}div {position: relative;width: 200px;height: 35px;border: 1px solid red;}div::after {position: absolute;top: 10px;right: 10px;font-family: icomoon;/* content: ; */content: \e91e;color: red;font-size: 18px;}/style
/headbodydiv/div
/body/html应用场景二 仿土豆效果把之前的代码进行了改善步骤找到之前写过的仿土豆的结构和样式拷贝到自己的页面中删除之前的mask遮罩在style中给大的div盒子类名叫tudou的设置 before伪元素这个伪元素充当的是遮罩的角色所以我们不用设置内容但是需要设置content属性属性的值为空字符串给这个遮罩设置宽高背景颜色默认是隐藏的当鼠标移入到 div盒子时候让遮罩显示利用 hover 来实现!DOCTYPE html
html langenheadmeta charsetUTF-8meta nameviewport contentwidthdevice-width, initial-scale1.0meta http-equivX-UA-Compatible contentieedgetitle伪元素选择器使用场景2-仿土豆网显示隐藏遮罩案例/titlestyle.tudou {position: relative;width: 444px;height: 320px;background-color: pink;margin: 30px auto;}.tudou img {width: 100%;height: 100%;}.tudou::before {content: ;/* 隐藏遮罩层 */display: none;position: absolute;top: 0;left: 0;width: 100%;height: 100%;background: rgba(0, 0, 0, .4) url(images/arr.png) no-repeat center;}/* 当我们鼠标经过了 土豆这个盒子就让里面before遮罩层显示出来 */.tudou:hover::before {/* 而是显示元素 */display: block;}/style
/headbodydiv classtudouimg srcimages/tudou.jpg alt/divdiv classtudouimg srcimages/tudou.jpg alt/divdiv classtudouimg srcimages/tudou.jpg alt/divdiv classtudouimg srcimages/tudou.jpg alt/div
/body/html应用场景三 清除浮动回忆一下清除浮动的方式额外标签法也称为隔墙法是 W3C 推荐的做法。父级添加 overflow 属性父级添加after伪元素父级添加双伪元素额外标签法也称为隔墙法是 W3C 推荐的做法注意 要求这个新的空标签必须是块级元素后面两种伪元素清除浮动算是第一种额外标签法的一个升级和优化盒子模型★★★CSS3 中可以通过 box-sizing 来指定盒模型有2个值即可指定为 content-box、border-box这样我们计算盒子大小的方式就发生了改变可以分成两种情况box-sizing: content-box 盒子大小为 width padding border 以前默认的box-sizing: border-box 盒子大小为 width如果盒子模型我们改为了box-sizing: border-box 那padding和border就不会撑大盒子了前提padding和border不会超过width宽度其他特性★图标变模糊 -- CSS3滤镜filterfilter CSS属性将模糊或颜色偏移等图形效果应用于元素语法filter: 函数(); -- 例如 filter: blur(5px); -- blur模糊处理 数值越大越模糊计算盒子宽度 -- calc 函数calc() 此CSS函数让你在声明CSS属性值时执行一些计算语法width: calc(100% - 80px);括号里面可以使用 - * / 来进行计算CSS3 过渡★★★过渡transition)是CSS3中具有颠覆性的特征之一我们可以在不使用 Flash 动画或 JavaScript 的情况下当元素从一种样式变换为另一种样式时为元素添加效果。过渡动画 是从一个状态 渐渐的过渡到另外一个状态可以让我们页面更好看更动感十足虽然 低版本浏览器不支持ie9以下版本 但是不会影响页面布局。我们现在经常和 :hover 一起 搭配使用。语法transition: 要过渡的属性 花费时间 运动曲线 何时开始;属性 想要变化的 css 属性 宽度高度 背景颜色 内外边距都可以 。如果想要所有的属性都变化过渡 写一个all 就可以花费时间 单位是 秒必须写单位 比如 0.5s 运动曲线 默认是 ease 可以省略何时开始单位是 秒必须写单位可以设置延迟触发时间 默认是 0s 可以省略后面两个属性可以省略记住过渡的使用口诀 谁做过渡给谁加过渡练习步骤创建两个div的盒子属于的嵌套关系外层类名叫 bar里层类名叫 bar_in给外层的bar 这个盒子设置边框宽高圆角边框给里层的bar_in 设置 初试的宽度背景颜色过渡效果给外层的 bar 添加 hover事件当触发了hover事件 让里层的bar_in 来进行宽度的变化代码!DOCTYPE html
html langen
headmeta charsetUTF-8meta nameviewport contentwidthdevice-width, initial-scale1.0meta http-equivX-UA-Compatible contentieedgetitleCSS3过渡练习-进度条/titlestyle.bar {width: 150px;height: 15px;border: 1px solid red;border-radius: 7px;padding: 1px;}.bar_in {width: 50%;height: 100%;background-color: red;/* 谁做过渡给谁加 */transition: all .7s;}.bar:hover .bar_in {width: 100%;}/style
/head
bodydiv classbardiv classbar_in/div/div
/body
/html广义H5说法 了解狭隘H5广义H5广义的 HTML5 是 HTML5 本身 CSS3 JavaScript 。这个集合有时称为 HTML5 和朋友通常缩写为 HTML5 。虽然 HTML5 的一些特性仍然不被某些浏览器支持但是它是一种发展趋势。HTML5 MDN 介绍https://developer.mozilla.org/zh-CN/docs/Web/Guide/HTML/HTML