html5和css3学习笔记
HTML5针对移动端,移动端的浏览器主要是chrome,是webkit内核;
app(applicatin):应用;
native app:原生的app
sadsadsadad
单标签可以省略结尾标记; 比如input和br, /可以不写;
新增的标签
header,nav,footer,section,video,audio···
功能性标签:video,audio,canvas···
结构标签:header,nav,footer,section···
- 页眉;不兼容IE8—;
- 页脚;不兼容IE8—;
- 标题的组合; 不兼容IE9—;
- 区块;不兼容IE8—;
- 文章;不兼容IE8—;
- 侧边栏;不兼容IE8—;
- 放到article之外,section之内,一般表达(推荐文章,热门评论,友情链接,广告位);
- 放到article之内,一般表达跟此文章相关的东西(相关文章,相关人物介绍,引用连接等);
- 用于对元素进行组合,一般用于图片或者视频;
figure的子元素,用于对figure的内容进行说明,一般配合figure使用;
用来表现时间或者日期;
选项(数据)列表,与input元素配合使用,来定义input可能的值;一般配合input使用,里面放各种option选项;
- 描述;展开状态:open,
- 简介;和detail配合使用;
对话框;默认隐藏,需要现实的话加open;
-
地址;
标记;
进度条;
进度条;IE完全不兼容;
如果想让标签支持IE低版本,需要引入html5shiv.js,下载地址:https://en.wikipedia.org/wiki/HTML5_shiv
JS新增选择器
document.querySelectorAll('.box ul li input');//返回一组元素; 注意前面要加选择符
document.querySelector('input');//返回一个元素;其实就是queryselectorall加完下标0的结果;注意前面要加选择符
自定义属性规范
实例:index就是自定义属性;之前没有规范,随便写;
<input type="button" index="1" />
规范:以data-开头;获取和设置可以用getAttribute和setAttribute;
<input type="button" index="1" /> ---> <input type="button" data-index="1" />
好处:
使用方便:
obj.dataset.index = 1;//设置;
alert(obj.dataset.index);//获取自定义属性;
方便循环:用for in循环,obj.dataset
class操作
obj.classList.add(className);添加className;
obj.classList.remove(className);删除className;
obj.classList.contains(clasName);判断有没有className,有的话返回true,否则返回false;
obj.classList.toggle(clasName);判断有没有className,有的话删除,没有的话增加;
本地存储
cookie:缺点:
容量小,大约4KB;
需要放到服务器环境;
有过期时间;
HTML5本地存储: localStORage;仅仅不兼容IE6;
没有过期时间;
容量大(5MB);
localStroage三个操作:F12-->RESOURCES--->LOCALSTORAGE
存储:
方法1.localStorage.a = 12;
方法2. localStorage.setItem(name,value);
获取:
方法1.alert(localstorage.a);
方法2.alert(localstorage.getItem(name));
删除:
方法1.datele localstorage.a;
方法2.localStorage.removeItem(name);
删除多条localstorage:
方法1.for(var name in localstroage){
delete localstroage[name];
}
方法2.localstorage.clear();
以上方法可以混合使用,但是不建议.
共同点:
都不安全;不能跨域;不能夸浏览器;
sessionstroage
本地存储,和localstorage的区别就是关闭浏览器会消失,其他操作完全一样;
localstorage和sessionstorage和cookie的用法一样,能用cookie的地方都可以用localstorage和sessionstorage;
CSS3选择器
属性选择器
element[name=value];name=vlaue 的元素;
示例:input各种type
input[type=text]{background: red;}
element[name]:只要包含name的元素;
示例: <div type></div>
*[type]{background:red}
element[name~=vlaue]:包含value整个单词的元素;
示例:<div title="apple banana"></div>
div[title~=apple]{backgrund:red;}
element[name*=vlaue]:包含value这个字母的元素;
示例:<div title="apple a banana"></div>
div[title*=apple]{backgrund:red;}
element[name^=vlaue]:以value开头的元素;
element[name$=value]:以value结尾的元素;
element[name|=value]:以整个是value或者以value-开头的元素;
element[name1][name2]{background:red;}拥有多个name的元素;
伪类选择器
element:nth-child(n){}:正着数第n个element;
element:nth-last-child(n):倒着数第n个element;
element:nth-child(2n):偶数行;--->element:nth-child(even)
element:nth-child(2n-1):奇数行;--->element:nth-child(odd)
element:first-child{}第一个元素;
element:last-child{}最后一个元素;
element:empty{}空元素;没有内容的元素;
element:disabled{}不可用的元素,一般指的是表单元素;
element:enabled{}:激活的可用的元素,一般指的是表单元素;
element:checked{}选中的元素,指的是表单元素,比如:radio
element:target{}被选中的元素;比如选项卡;
element:nth-last-child(n){}:倒数第N个元素;--->element:nth-last-child(1):倒数第一个元素;
element:nth-of-type(1):所有类型里面的第N个元素;
element:nth-last-of-type(1):所有类型里面倒数第1个元素;
element~obj{}选择element下面的兄弟元素;
element>obj{}选择子元素;
element:not(.class){}不包含某个class的元素;
element:first-line{}第一行文字;
element:first-letter{}:第一个文字;
element::selection{}选中的文本,文字;
::selection{}所有选中的文字,--->*selection{}所有选中的文字;
element::after{}文本的前面添加东西,配合content:'asd'
element::before{}文本的后面的添加东西;配合content:'adsa'
CSS3新的样式
css3新的样式有些浏览器不兼容,需要加浏览器前缀:
-webkit-:chrome,opera,safari,
-moz-:firefox,
-ms-:microsoft,
-o-:opera,
s
transform:rotate(30deg)—->deg:角度;
案例:点击div旋转;
obj.style.transform = "rotate(30deg)";
js封装;
动画
运动形式:
linear
ease
ease-in
ease-out
ease-in-out 基础动画:transition,想运动谁,就把动画加给谁; transition: 时间 要运动的属性[width,height,background···] 运动形式; 运动多个属性,以逗号隔开;transition:1s width ease,1s height ease, 1s background ease-in; 高机动画: 定义动画: @keyframes 动画名称{
form {}
to{}
} 执行动画:animation: 时间 动画名称 运动形式
圆角
border-radius: 10px | 50%;
border-radius: 10px 20px; 上下10px,左右20px;
border-radius:100px 20px 50px ;上100px 左右20px,下50px;
border-radius: 100px 50px ;上下100px,左右50px;
border-radius: 10px/30px--->x/y: x轴[水平],y轴[垂直];
颜色的表达方式
rgba(0,0,0,.5);//黑色半透明;
文字阴影
text-shadow: 1px 1px 4px red;
x轴 y轴 模糊度 颜色;
文字描边
text-stroker: 1px red;
块阴影
box-shadow: 1px 1px 4px red;
x轴 y轴 模糊度 颜色;
box-shadow: insert 1px 1px 4px red;内阴影;
box-shadow: outer 1px 1px 4ps red ;外阴影;
box-shadow: 1px 1px 4px 5px red;
x轴 y轴 模糊度 扩展 颜色;
box-shadow: [insert] x轴 y轴 blur [spread] color ---->[]中的参数可有可无,insert为内阴影,spread为扩展;如果需要叠加多个颜色,以逗号隔开;
渐变
线性渐变:
background:linear-gradient(color1,color2···):
background:linear-gradient(left,top,right,bottom,color1,color2···)方向:left,right,top,bottom, left top···
background:linear-gradient(left,top,right,bottom,color1,color2···)方向:0deg:left,90deg:bottom;
渐变区域大小:
-webkit-gradient(方向,color 大小,color2 大小····); 径向渐变:
background:-webkit-radial-gradient(x y,color1,color2····)x,y代表的是形状,也可以用英文单词代替,圆形[circle]和椭圆形[ellipse];
background:-webkit-radial-gradient(x y,x y,color1,color2····):第一个xy代表的是圆心的位置,可以用left,right,top,bottom代替,也可以使用数值加单位的形式代替,第二个x y 代表的是形状,也可以用单词代替,圆形[circle]和椭圆形[ellipse] 重复渐变:
background:-webkit-repeating-liinear-gradient(red 0px,blue 10px):
蒙版
-webkit-mask:url(1.png);—->特点:有颜色的地方会显示出来,跟颜色无关;用PS做一个透明的图片,覆盖到div上就可以了.
倒影
-webkit-box-reflext: 方向 距离 渐变;
方向取值:
下:below, 上above 右right 左left
文字排列
direction: ltr | rtl |;left to right | right to left;
此样式需要配合Unicode-bidi:bidi-override才可以生效;
变形
transform:
rotate(30deg):旋转
scale(x,y):缩放--->scaleX();--->scaleY();
translate(x,y):平移--->translateX();--->translateY();
skew(x,y):倾斜度
以上样式,物体的本身并没有发生变化,盒子模型也没有发生变化,位置信息也没有发生变化;也就是说并不会引起浏览器重绘重排,性能比较高;只是视觉上发生了变化;
案例:CSS3时钟;
transform-origin: 旋转中心点;也可以理解成绕着哪个坐标开始转;
center center
left center
rigth center
***transform多个值同时写的时候,先写的后生效,比如:旋转60deg,缩放2倍,横向平移300px应该写成:
transform:translateX(300px) sclae(2) rotate(deg);
3D
坐标:
x:
y:
z:
**面朝坐标轴,顺时针旋转;
transform:
rotateX():
rotateY():
rotateZ():
3D需要配合透视(景深)来使用,透视/景深:观察物体的远近程度;
perspective:取值number+单位;此属性加给要变化的物体;比如:perspective(800px)
html5和css3学习笔记的更多相关文章
- CSS3学习笔记(3)-CSS3边框
p{ font-size: 15px; } .alexrootdiv>div{ background: #eeeeee; border: 1px solid #aaa; width: 99%; ...
- HTML5+CSS3学习笔记(一)
HTML5+CSS3概述 HTML5和CSS3不仅仅是两项新的Web技术标准,更代表了下一代HTML和CSS技术.虽然HTML5的标准规范还没有正式发布,但是未来的发展前景已经可以预见,那就是HTML ...
- HTML5+CSS3学习笔记(一) 概述
HTML5+CSS3概述 HTML5和CSS3不仅仅是两项新的Web技术标准,更代表了下一代HTML和CSS技术.虽然HTML5的标准规范还没有正式发布,但是未来的发展前景已经可以预见,那就 ...
- HTML5移动开发学习笔记之CSS3基础学习
CSS回顾 在学CSS3之前首先巩固下CSS的基础知识. 1.CSS框模型 举例子: #box { width: 70px; margin: 10px; padding: 5px; } 这个代码将出现 ...
- CSS3学习笔记之linear-gradient
我觉得CSS3很不错,自己也稍微看过,并且尝试过一些属性.对我自己而言,我没有勇气说我学过CSS3,我觉得任何自己看来很小的事情,也只是站在自己的角度来评判.就算的是"简单的"HT ...
- 【整理】HTML5游戏开发学习笔记(5)- 猜谜游戏
距上次学习笔记已有一个多月过去了,期间由于新项目赶进度,以致该学习计划给打断,十分惭愧.书本中的第六章的例子相对比较简单.所以很快就完成. 1.预备知识html5中video标签的熟悉 2.实现思路对 ...
- HTML5+CSS3学习笔记(二) 页面布局:HTML5新元素及其特性
HTML5的语义化标签以及属性,可以让开发者非常方便地实现清晰的web页面布局,加上CSS3的效果渲染,快速建立丰富灵活的web页面显得非常简单. 本次学习HTML5的新标签元素有: <head ...
- html5+css3学习笔记-prefixfree前缀补全插件
虽然现代浏览器支持CSS3,但是一些过往的版本或是目前有些CSS3属性的应用还是离不开前缀的.一些牛逼且执着于web技术且乐于分享的仁兄(Lea Verou)就搞了个名叫prefixfree.js的插 ...
- html5+css3学习笔记音频和视频
格式 IE Firefox Opera Chrome Safari Ogg No 3.5+ 10.5+ 5.0+ No MPEG 4 9.0+ No No 5.0+ 3.0+ WebM No 4.0+ ...
随机推荐
- B:Wordpress不同分类调用不同的模板
这里指的是默认文章类型的模板(single.php,category.php) 应用场景: 默认文章默认有2个大类(新闻资讯.游戏资料) 新闻资讯下的所有子分类调用"新闻资讯列表模板,新闻内 ...
- CSS gradient渐变之webkit核心浏览器下的使用
一.关于渐变 渐变是一种应用于平面的视觉效果,可以从一种颜色逐渐地转变成另外一种颜色,故可以创建类似于彩虹的效果渐变可以应用在任何可以使用图片的地方.例如,您可以指定一个这么一个渐变:顶部的颜色是红色 ...
- multipart/form-data和application/x-www-form-urlencoded的区别
在Form元素的语法中,EncType表明提交数据的格式 用 Enctype 属性指定将数据回发到服务器时浏览器使用的编码类型. 下边是说明: application/x-www-form-urle ...
- C和指针 第十一章 习题
1编写calloc,内部使用malloc函数获取内存 #include <stdio.h> #include <stdlib.h> void *myAlloc(unsigned ...
- 利用边框border的属性做小符号
前两天学习中,发现网站上的一个小符号,以为是插入的img,但找来找去也未发现img的地址.最后问了同学,才得知是用border属性做出来的. 符号如右: 其css代码如下: .fuhao { pos ...
- javascript数据结构-栈
github博客地址 栈(stack)又名堆栈,它是一种运算受限的线性表.遵循后进先出原则,像垃圾桶似的.功能实现依然按照增删改查来进行,内部数据存储可以借用语言原生支持的数组. 栈类 functio ...
- HMTL判断ie版本
html判断IE版本 1. <!--[if !IE]><!--> 除IE外都可识别 <!--<![endif]--> 2. <!--[if IE]> ...
- (转)android自定义组合控件
原文地址:http://mypyg.iteye.com/blog/968646 目标:实现textview和ImageButton组合,可以通过Xml设置自定义控件的属性. 1.控件布局:以Linea ...
- python3简单爬虫
最近在抽空学了一下python,于量就拿爬是练了下手,不得不说python的上手非常简单.在网上找了一下,大都是python2的帖子,于是随手写了个python3的.代码非常简单就不解释了,直接贴代码 ...
- MiniProfiler(MiniProfiler.EF6监控调试MVC5和EF6的性能)
git: https://github.com/MiniProfiler 以前开发Webform的时候可以开启trace来跟踪页面事件,这对于诊断程序的性能是有很大的帮助的,起到事半功倍的作用,今天 ...