前端知识十分钟预览之学习札记
1 HTML,描述网页的语言
——————————————————
编码 <meta charset="utf-8">
HTML5头标识 <!DOCTYPE html>
换行 <br/>
水平线 <hr/>
空格
超链接 未访问:蓝色下划线。访问过:紫色下划线。点击:红色下划线。
跳转 <a href="#C4">查看章节 4</a> <a id="C4">章节 4</a>
link <link rel="stylesheet" type="text/css" href="mystyle.css">
meta <meta name="keywords" content="HTML, CSS, XML, XHTML, JavaScript">
<meta name="description" content="免费 Web & 编程 教程">
<meta name="author" content="Runoob">
<meta http-equiv="refresh" content="30"> 每30秒中刷新当前页面
CSS <p style="color:blue;margin-left:20px;">This is a paragraph.</p>
文本对齐方式 text-align:center;
iframe
<iframe src="demo_iframe.htm" name="iframe_a"></iframe>
<a href="http://www.runoob.com" target="iframe_a">
颜色 rgb http://www.runoob.com/html/html-colors.html
2 HTML5
——————————————————
解决浏览器对html5兼容性
<!--[if lt IE 9]>
<script src="http://cdn.static.runoob.com/libs/html5shiv/3.7/html5shiv.min.js"></script>
<![endif]-->
canvas 标签定义图形,比如图表和其他图像。该标签基于 JavaScript 的绘图 API
自动填充 autocomplete="on"
pattern pattern="[A-Za-z]{3}
文本框内提示 placeholder="Last name"
required
不能空适用:text,search,url,telephone,email,assword,date,pickers,number, checkbox, radio 以及 file。
启动缓存 <html manifest="demo.appcache">
3 CSS3,叠样式表
——————————————
圆角
div
{
border:2px solid;
border-radius:25px;
}
盒阴影
div
{
box-shadow: 10px 10px 5px #888888;
}
边界图片
div
{
border-image:url(border.png) 30 30 round;
-webkit-border-image:url(border.png) 30 30 round; /* Safari 5 and older */
-o-border-image:url(border.png) 30 30 round; /* Opera */
}
background-image
#example1 {
background-image: url(img_flwr.gif), url(paper.gif);
background-position: right bottom, left top;
background-repeat: no-repeat, repeat;
}
定位背景图片:content-box, padding-box,和 border-box区域内可以放置背景图像
background-origin:border-box;
渐变
上下
#grad {
background: -webkit-linear-gradient(red, blue); /* Safari 5.1 - 6.0 */
background: -o-linear-gradient(red, blue); /* Opera 11.1 - 12.0 */
background: -moz-linear-gradient(red, blue); /* Firefox 3.6 - 15 */
background: linear-gradient(red, blue); /* 标准的语法 */
}
左右
#grad {
background: -webkit-linear-gradient(left, red , blue); /* Safari 5.1 - 6.0 */
background: -o-linear-gradient(right, red, blue); /* Opera 11.1 - 12.0 */
background: -moz-linear-gradient(right, red, blue); /* Firefox 3.6 - 15 */
background: linear-gradient(to right, red , blue); /* 标准的语法 */
}
对角
#grad {
background: -webkit-linear-gradient(left top, red , blue); /* Safari 5.1 - 6.0 */
background: -o-linear-gradient(bottom right, red, blue); /* Opera 11.1 - 12.0 */
background: -moz-linear-gradient(bottom right, red, blue); /* Firefox 3.6 - 15 */
background: linear-gradient(to bottom right, red , blue); /* 标准的语法 */
}
文本阴影
text-shadow: 5px 5px 5px #FF0000;
box-shadow: 10px 10px 5px #888888;
box-shadow: 10px 10px grey;
box-shadow: 10px 10px 5px grey;
旋转
-webkit-transform:rotate(20deg); /* Safari and Chrome */
动画
div
{
animation: myfirst 5s;
}
@keyframes myfirst
{
0% {background: red;}
25% {background: yellow;}
50% {background: blue;}
100% {background: green;}
}
column-count: 3;多列
column-gap:40px;列间隙
column-rule-style: solid; 列边框
column-rule-width 属性指定了两列的边框厚度:
column-rule-color 属性指定了两列的边框颜色:
outline-offset 属性对轮廓进行偏移,并在超出边框边缘的位置绘制轮廓。
4 DOM,文档对象模型
—————————————————
getElementById() 方法返回带有指定 ID 的元素
innerHTML - 节点(元素)的文本值
parentNode - 节点(元素)的父节点
childNodes - 节点(元素)的子节点
attributes - 节点(元素)的属性节点
getElementsByClassName()
document.getElementsByTagName("p");
下面的代码获取 id="intro" 的 <p> 元素的 innerHTML:
<script>
var txt=document.getElementById("intro").innerHTML;
document.write(txt);
</script>
——————————
<script>
x=document.getElementById("intro");
document.write(x.firstChild.nodeValue);
</script>
事件
<h1 onclick="this.innerHTML='Ooops!'">点击文本!</h1>
—————————
<script>
function changetext(id){
id.innerHTML="Ooops!";
}
</script>
</head>
<body>
<h1 onclick="changetext(this)">点击文本!</h1>
5 JS,脚本语言
——————————————————
输出 document.write("<h1>This is a heading</h1>");
提示 onclick="alert('Welcome!')
x=document.getElementById("demo") //查找元素
x.innerHTML="Hello JavaScript"; //改变内容
x.style.color="#ff0000"; //改变样式
<script src="myScript.js" /> // 外部调用
单行注释以 // 开头。多行注释以 /* 开始,以 */ 结尾。
var cars=["Audi","BMW","Volvo"]; //数组
var person={firstname:"Bill", lastname:"Gates", id:5566}; //对象
for (x in person)
全局变量 carname
条件运算符 variablename=(condition)?value1:value2
错误捕获:
try {
//在这里运行代码
}
catch(err) {
//在这里处理错误
}
邮箱验证:
function validate_email(field,alerttxt)
{
with (field)
{
apos=value.indexOf("@")
dotpos=value.lastIndexOf(".")
if (apos<1||dotpos-apos<2)
{alert(alerttxt);return false}
else {return true}
}
}
function validate_form(thisform)
{
with (thisform)
{
if (validate_email(email,"Not a valid e-mail address!")==false)
{email.focus();return false}
}
}
改变html属性
<script>
document.getElementById("image").src="landscape.jpg";
</script>
改变 HTML 样式
<script>
document.getElementById("p2").style.color="blue";
</script>
onload 和 onunload 事件会在用户进入或离开页面时被触发。
onload 和 onunload 事件可用于处理 cookie。
onmousedown, onmouseup 以及 onclick 构成了鼠标点击事件的所有部分。首先当点击鼠标按钮时,会触发 onmousedown 事件,当释放鼠标按钮时,会触发 onmouseup 事件,最后,当完成鼠标点击时,会触发 onclick 事件。
我们为日期对象设置了一个特定的日期 (2008 年 8 月 9 日):
var myDate=new Date()
myDate.setFullYear(2008,7,9)
设置为 5 天后的日期:
var myDate=new Date()
myDate.setDate(myDate.getDate()+5)
四舍五入:document.write(Math.round(4.7))
random() 方法来返回一个介于 0 和 1 之间的随机数:
document.write(Math.random())
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
正则
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
new RegExp(pattern, attributes);
pattern 字符串,正则表达式。
attributes 可选string,属性g:全局匹配、i:区分大小写
和 m:多行匹配。
[abc] 查找方括号之间的任何字符。
[^abc] 查找任何不在方括号之间的字符。
[0-9] 查找任何从 0 至 9 的数字。
[a-z] 查找任何从小写 a 到小写 z 的字符。
[A-Z] 查找任何从大写 A 到大写 Z 的字符。
[adgk] 查找给定集合内的任何字符。
[^adgk] 查找给定集合外的任何字符。
(red|blue|green) 查找任何指定的选项。
. 查找单个字符,除了换行和行结束符。
d 查找数字。
D 查找非数字字符。
s 查找空白字符。
S 查找非空白字符。
匹配单词边界。
B 匹配非单词边界。