Python的平凡之路(15)
<style>
如果整个页面的宽度 > 900px时:
{
.c{
共有
}
.c1{
独有
}
}
.c2{
独有
}
</style>
<div class='c c1'></div>
<div class='c c2'></div>
宽度,百分比
页面最外层:像素的宽度 => 最外层设置绝对宽度
img{
border: 0;
}
d、作业中的数量输入框
| 值 | 描述 |
|---|---|
| absolute |
生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位。 元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。 |
| fixed |
生成绝对定位的元素,相对于浏览器窗口进行定位。 元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。 |
| relative |
生成相对定位的元素,相对于其正常位置进行定位。 因此,"left:20" 会向元素的 LEFT 位置添加 20 像素。 |
| static | 默认值。没有定位,元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明)。 |
| inherit | 规定应该从父元素继承 position 属性的值。 |
| 值 | 描述 | CSS |
|---|---|---|
| background-color | 规定要使用的背景颜色。 | 1 |
| background-position | 规定背景图像的位置。 | 1 |
| background-size | 规定背景图片的尺寸。 | 3 |
| background-repeat | 规定如何重复背景图像。 | 1 |
| background-origin | 规定背景图片的定位区域。 | 3 |
| background-clip | 规定背景的绘制区域。 | 3 |
| background-attachment | 规定背景图像是否固定或者随着页面的其余部分滚动。 | 1 |
| background-image | 规定要使用的背景图像。 | 1 |
| inherit | 规定应该从父元素继承 background 属性的设置。 | 1 |
未访问、已访问、悬浮和活动链接,并设置它们的样式:
a:link {color:blue;}
a:visited {color:blue;}
a:hover {color:red;}
a:active {color:yellow;}
| 值 | 描述 |
|---|---|
| auto | 默认。堆叠顺序与父元素相等。 |
| number | 设置元素的堆叠顺序。 |
| inherit | 规定应该从父元素继承 z-index 属性的值。 |
| 值 | 描述 | 测试 |
|---|---|---|
| value | 规定不透明度。从 0.0 (完全透明)到 1.0(完全不透明)。 | 测试 |
| inherit | 应该从父元素继承 opacity 属性的值。 |
JavaScript代码存在形式:
- Head中
<script>
//javascript代码
alert(123);
</script>
<script type="text/javascript">
//javascript代码
alert(123);
</script>
- 文件
<script src='js文件路径'> </script>
PS: JS代码需要放置在 <body>标签内部的最下方
多行注释 /* */
<script type="text/javascript"> // 全局变量 name = 'seven'; function func(){ // 局部变量 var age = 18; // 全局变量 gender = "男" }</script>a.chartAt(索引位置)
a.substring(起始位置,结束位置)
a.lenght 获取当前字符串长度
obj.substring(from, to) 根据索引获取子序列obj.slice(start, end) 切片 $数字:匹配的第n个组内容; $&:当前匹配的内容; $`:位于匹配子串左侧的文本; $':位于匹配子串右侧的文本 $$:直接量$符号 obj.splice(n,0,val) 指定位置插入元素 obj.splice(n,1,val) 指定位置替换元素 obj.splice(n,1) 指定位置删除元素obj.slice( ) 切片a = [11,22,33,44]
for(var item in a){
console.log(item);
}
a = {'k1':'v1','k2':'v2'}
for(var item in a){
console.log(item);
}
var names = ["alex", "tony", "rain"];
for(var i=0;i<names.length;i++){
console.log(i);
console.log(names[i]);
}
var names = ["alex", "tony", "rain"];
for(var index in names){
console.log(index);
console.log(names[index])
}
for(var i=0;i<10;i=i+1){
}
a = [11,22,33,44]
for(var i=0;i<a.length;i=i+1){
}
(3)不支持字典的循环
}else if(条件){
}else if(条件){
}else{
}
== 值相等
=== 值和类型都相等
&& and
|| or
var arg= 111; function f3(){ console.log(arg); } return f3;}ret = f2();ret();标签.innerText
对标签内部文本进行重新复制
标签.innerText = ""
b. className
tag.className =》 直接整体做操作
tag.classList.add('样式名') 添加指定样式
tag.classList.remove('样式名') 删除指定样式
PS:
<div onclick='func();'>点我</div>
<script>
function func(){
}
</script>
获取值
checkbox对象.checked
设置值
checkbox对象.checked = true
document.childNodes 继承自上面讲的Node类型,可以返回文档的直接子节点(通常包括文档声明和html节点)
document.documentElement 可以直接拿到html节点的引用(等价于document.getElementsByTagName(“html”)[0])。
document.body body节点的引用
document.title 页面的title,可以修改,会改变浏览器标签上的名字
document.URL 页面的url
document.referrer 取得referrer,也就是打开这个页面的那个页面的地址,做来源统计时候比较有用
document.domain 取得域名,可以设置,但是通常只能设置为不包含子域名的情况,在一些子域名跨域情况下有效。
try {
//这段代码从上往下运行,其中任何一个语句抛出异常该代码块就结束运行}catch (e) { // 如果try代码块中抛出了异常,catch代码块中的代码就会被执行。
//e是一个局部变量,用来指向Error对象或者其他抛出的对象}finally {
//无论try中代码是否有异常抛出(甚至是try代码块中有return语句),finally代码块中始终会被执行。} |
注:主动跑出异常 throw Error('xxxx')
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>第一个页面</title>
<style>
img{
border: 0;
}
</style>
</head>
<body>
<a href="http://www.sogou.com">asdf</a>
<a href="http://www.sogou.com">
<img src="wgl.jpg" style="width: 200px;height: 300px">
</a> </body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>第二个页面</title>
<style>
.pg-header {
<!-- 高度48px -->
height: 48px;
background-color: black;
color: #DDDDDD;
position: fixed;
top: 0;
right: 0;
left: 0;
}
.pg-body{
background-color: #DDDDDD;
height: 5000px;
<!-- 离顶部55px -->
margin-top: 55px; }
</style>
</head> <body>
<div class="pg-header">头部</div>
<div class="pg-body">内容</div>
<div style="position: relative;width: 500px;height: 200px;border: 1px solid red;margin: 0 auto;">
<div style="position: absolute;left:0;bottom: 0;width: 50px;height: 50px;background-color: black; "> </div>
</div>
<div style="position: relative;width: 500px;height: 200px;border: 1px solid red;margin: 0 auto;">
<div style="position: absolute;right:0;top: 0;width: 50px;height: 50px;background-color: black; "> </div>
</div> </body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>第三个页面</title>
</head>
<body>
<div style="z-index: 10;position: fixed;top:50%;left:50%;
margin-left: -250px;margin-top: -200px;background-color: white;height: 40px;width: 500px;">
<input type="text" />
<input type="text" />
<input type="text" />
</div>
<div style="z-index: 9;position: fixed;background-color: black;
top:0;
bottom: 0;
right: 0;
left:0;
opacity: 0.5;
"></div>
<div style="height: 5000px;background-color: green;">
这是一个嵌套!
</div>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>第四个页面</title>
</head>
<body>
<div style="height: 500px;width: 500px;overflow: auto">
<img src="wgl.jpg">
</div>
<div style="height: 500px;width: 500px;overflow: hidden">
<img src="2.jpg">
</div>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>第五个页面</title>
<style>
.pg-header{
position: fixed;
right:0;
left:0;
top:0;
height:48px;
background-color: #2459a2;
line-height:48px;
}
.pg-body{
margin-top:50px;
}
.w{
width:980px;
margin:0 auto;
}
.pg-header .menu{
display: inline-block;
/*上 右 下 左*/
padding:0 10px 0 10px;
color: white;
}
/*当鼠标移动到当前标签上时,以下css属性才生效*/
.pg-header .menu:hover{
background-color: blue;
}
</style>
</head>
<div class="pg-header">
<div class="w">
<a class="logo">LOGO</a>
<a class="menu">全部</a>
<a class="menu">42区</a>
<a class="menu">段子</a>
<a class="menu">1024</a>
</div>
<div class="pg-body">
<div class="w">a</div>
</div>
</div>
<body> </body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>第六个页面</title>
</head>
<body>
<div style="height:100px;"></div>
<div style="background-image: url(icon_18_118.png);background-repeat: no-repeat;height: 40px;width:40px;border: 1px solid red;"></div>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>第七个页面</title>
</head>
<body>
<div style="height: 35px;width: 400px;position: relative;">
<input type="text" style="height: 35px;width:370px;padding-right: 30px;">
<span style="position: absolute;right: 6px;top:10px;background-image: url(i_name.jpg);
height:16px;width: 16px;display: inline-block;"></span>
</div>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>第八个页面</title>
</head>
<body>
<div id="i1">欢迎老男孩莅临指导</div>
<script>
function func() {
var tag = document.getElementById('i1');
var content = tag.innerText;
var f = content.charAt(0);
var l = content.substring(1,content.length);
var new_content = l + f;
tag.innerText = new_content;
}
setInterval('func()',500);
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>第九个页面</title>
</head>
<body>
<div id="i1">我是i1</div>
<a>asdf</a>
<a>909</a>
<a>kafsufd</a>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>第十个页面</title>
<style>
.hide{
display: none;
}
.c1{
position: fixed;
left:0;
top:0;
right:0;
bottom:0;
background-color: black;
opacity:0.6;
z-index:9
}
.c2{
width: 500px;
height: 400px;
background-color: white;
position: fixed;
left: 50%;
top: 50%;
margin-left: -250px;
margin-top: -200px;
z-index: 10; }
</style>
</head>
<body style="margin: 0;">
<div>
<input type="button" value="添加" onclick="ShowModel();"/>
</div>
<!-- 遮罩层开始 -->
<div id="i1" class="c1 hide"></div>
<!-- 遮罩层结束 -->
<!-- 弹出框开始 -->
<div id="i2" class="c2 hide">
<p><input type="text"/></p>
<p><input type="text"/></p>
<p>
<input type="button" value="取消" onclick="HideModel();"/>
<input type="button" value="确定"/>
</p>
</div>
<!-- 弹出框结束 -->
<script>
function ShowModel() {
document.getElementById('i1').classList.remove('hide')
document.getElementById('i2').classList.remove('hide')
}
function HideModel() {
document.getElementById('i1').classList.add('hide')
document.getElementById('i2').classList.add('hide') }
</script>
</body>
</html>
t11.html
| <!DOCTYPE html> | |
| <html lang="en"> | |
| <head> | |
| <meta charset="UTF-8"> | |
| <title>Title</title> | |
| <style> | |
| .hide{ | |
| display: none; | |
| } | |
| .c1{ | |
| position: fixed; | |
| left: 0; | |
| top: 0; | |
| right: 0; | |
| bottom: 0; | |
| background-color: black; | |
| opacity: 0.6; | |
| z-index: 9; | |
| } | |
| .c2{ | |
| width: 500px; | |
| height: 400px; | |
| background-color: white; | |
| position: fixed; | |
| left: 50%; | |
| top: 50%; | |
| margin-left: -250px; | |
| margin-top: -200px; | |
| z-index: 10; | |
| } | |
| </style> | |
| </head> | |
| <body style="margin: 0;"> | |
| <div> | |
| <input type="button" value="添加" onclick="ShowModel();" /> | |
| <input type="button" value="全选" onclick="ChooseAll();" /> | |
| <input type="button" value="取消" onclick="CancleAll();" /> | |
| <input type="button" value="反选" onclick="ReverseAll();" /> | |
| <table> | |
| <thead> | |
| <tr> | |
| <th>选择</th> | |
| <th>主机名</th> | |
| <th>端口</th> | |
| </tr> | |
| </thead> | |
| <tbody id="tb"> | |
| <tr> | |
| <td> | |
| <input type="checkbox" /> | |
| </td> | |
| <td>1.1.1.1</td> | |
| <td>190</td> | |
| </tr> | |
| <tr> | |
| <td><input type="checkbox"f id="test" /></td> | |
| <td>1.1.1.2</td> | |
| <td>192</td> | |
| </tr> | |
| <tr> | |
| <td><input type="checkbox" /></td> | |
| <td>1.1.1.3</td> | |
| <td>193</td> | |
| </tr> | |
| </tbody> | |
| </table> | |
| </div> | |
| <!-- 遮罩层开始 --> | |
| <div id="i1" class="c1 hide"></div> | |
| <!-- 遮罩层结束 --> | |
| <!-- 弹出框开始 --> | |
| <div id="i2" class="c2 hide"> | |
| <p><input type="text" /></p> | |
| <p><input type="text" /></p> | |
| <p> | |
| <input type="button" value="取消" onclick="HideModel();"/> | |
| <input type="button" value="确定"/> | |
| </p> | |
| </div> | |
| <!-- 弹出框结束 --> | |
| <script> | |
| function ShowModel(){ | |
| document.getElementById('i1').classList.remove('hide'); | |
| document.getElementById('i2').classList.remove('hide'); | |
| } | |
| function HideModel(){ | |
| document.getElementById('i1').classList.add('hide'); | |
| document.getElementById('i2').classList.add('hide'); | |
| } | |
| function ChooseAll(){ | |
| var tbody = document.getElementById('tb'); | |
| // 获取所有的tr | |
| var tr_list = tbody.children; | |
| for(var i=0;i<tr_list.length;i++){ | |
| // 循环所有的tr,current_tr | |
| var current_tr = tr_list[i]; | |
| var checkbox = current_tr.children[0].children[0]; | |
| checkbox.checked = true; | |
| } | |
| } | |
| function CancleAll(){ | |
| var tbody = document.getElementById('tb'); | |
| // 获取所有的tr | |
| var tr_list = tbody.children; | |
| for(var i=0;i<tr_list.length;i++){ | |
| // 循环所有的tr,current_tr | |
| var current_tr = tr_list[i]; | |
| var checkbox = current_tr.children[0].children[0]; | |
| checkbox.checked = false; | |
| } | |
| } | |
| function ReverseAll(){ | |
| var tbody = document.getElementById('tb'); | |
| // 获取所有的tr | |
| var tr_list = tbody.children; | |
| for(var i=0;i<tr_list.length;i++){ | |
| // 循环所有的tr,current_tr | |
| var current_tr = tr_list[i]; | |
| var checkbox = current_tr.children[0].children[0]; | |
| if(checkbox.checked){checkbox.checked = false;}else{checkbox.checked = true;}}} | |
| </script> | |
| </body> | |
| </html> |
t12.html
| <!DOCTYPE html> | |
| <html lang="en"> | |
| <head> | |
| <meta charset="UTF-8"> | |
| <title>Title</title> | |
| <style> | |
| .hide{ | |
| display: none; | |
| } | |
| .item .header{ | |
| height: 35px; | |
| background-color: #2459a2; | |
| color: white; | |
| line-height: 35px; | |
| } | |
| </style> | |
| </head> | |
| <body> | |
| <div style="height: 48px"></div> | |
| <div style="width: 300px"> | |
| <div class="item"> | |
| <div id='i1' class="header" onclick="ChangeMenu('i1');">菜单1</div> | |
| <div class="content"> | |
| <div>内容1</div> | |
| <div>内容1</div> | |
| <div>内容1</div> | |
| </div> | |
| </div> | |
| <div class="item"> | |
| <div id='i2' class="header" onclick="ChangeMenu('i2');">菜单2</div> | |
| <div class="content hide"> | |
| <div>内容2</div> | |
| <div>内容2</div> | |
| <div>内容2</div> | |
| </div> | |
| </div> | |
| <div class="item"> | |
| <div id='i3' class="header" onclick="ChangeMenu('i3');">菜单3</div> | |
| <div class="content hide"> | |
| <div>内容3</div> | |
| <div>内容3</div> | |
| <div>内容3</div> | |
| </div> | |
| </div> | |
| <div class="item"> | |
| <div id='i4' class="header" onclick="ChangeMenu('i4');">菜单4</div> | |
| <div class="content hide"> | |
| <div>内容4</div> | |
| <div>内容4</div> | |
| <div>内容4</div> | |
| </div> | |
| </div> | |
| </div> | |
| <script> | |
| function ChangeMenu(nid){ | |
| var current_header = document.getElementById(nid); | |
| var item_list = current_header.parentElement.parentElement.children; | |
| for(var i=0;i<item_list.length;i++){ | |
| var current_item = item_list[i]; | |
| current_item.children[1].classList.add('hide'); | |
| } | |
| current_header.nextElementSibling.classList.remove('hide'); | |
| } | |
| </script> | |
| </body> | |
| </html> |
| <!DOCTYPE html> | |
| <html lang="en"> | |
| <head> | |
| <meta charset="UTF-8"> | |
| <title>Title</title> | |
| </head> | |
| <body> | |
| <div> | |
| <div></div> | |
| <div> | |
| c1 | |
| </div> | |
| </div> | |
| <div> | |
| <div></div> | |
| <div id="i1"> | |
| c2 | |
| </div> | |
| </div> | |
| <div> | |
| <div></div> | |
| <div> | |
| c3 | |
| </div> | |
| </div> | |
| </body> | |
| </html> |
通过对元素的ID访问,这是DOM一个基础的访问页面元素的方法.
example:
<div id="divid">测试</div>
<script language="javascript">
var div=document.getElementByID("divid”);
alert (div.nodeName); //显示元素名
</script>
如果id在元素中不是唯一的,那么获得的将是第一个ID.
2.getElementsByName(name)
仅用于input radio checkbox等元素,返回名字为name的元素数组
example:
<div name="george"></div>
<input name="george"></div>
<script language=javascript>
var ge=document.getElementsByName("george");
alert (georges.length); //获取georges个数,对div唔效果
</script>
3.getElementsByTagName(tagname)
返回具有tagname的元素列表数组.处理大的DOM结构会用到它
(二),DOM Element常用方法
1.appendChild(node) //增加内容
向当前对象追加节点,example:
<div id="test">123</div>
<script type="text/javascript">
var newdiv=document.createElement("div");
var newtext=document.createTextNode("A new div");
newdiv.appendChild(newtext) ;
document.getElementById("test").appendChild(newdiv) ;
</script>
当然,上面的功能用document.getElementById("test").innerHTML="测试一下"就可实现,遗憾的是,innerHTML不属于DOM.
2,removeChild(childreference)
移除当前节点的子节点,并返回节点
<div id="father"><div id="child">A child</div></div>
<script type="text/javascript">
var childnode=document.getElementById("child");
var removednode=document.getElementById("father").removeChild(childnode)
</script>
3.cloneNode(deepBoolean)
复制并返回当前的复制节点,由于复制了原节点的id属性,所以在document树中要改ID属性,以确保ID唯一性.
4,insertBefore(newElment,targetElement) 插入新的节点
在当前节点插入一个新节点,如果targetElement为null,那新节点为最后节点.
example:
<body>
<span id="lovespan">熊掌我所欲也!</span>
</body>
<script type="text/javascript">
var lovespan=document.getElementById("lovespan"); //获取id
var newspan=document.createElement("span");
var newspanref=document.body.insertBefore(newspan, lovespan);
newspanref.innerHTML="鱼与";
</script>
(三),DOM Element常用属性
1、childeNodes 返回所有子节点对象,
例如
<ul id="mylist">
<li>美国</li>
<li>意大利</li>
<li>加拿大</li>
</ul>
<script>
var msg="" ;
var mylist=document.getElementById("mylist")
for (i=0; i<mylist.childNodes.length; i++){
var li=mylist.childNodes[i];
msg+=li.innerText;
}
alert (msg);
</script>
2,innerHTML
这是一个标准,但它并不书DOM
例如:
<div id="bbb"><span id="aaa">我拉</span></div>
<input type=button value="点击看看">
<script language="javascript">
function change()
{
document.getElementById("aaa").innerHTML= "修改修改";
}
</script>
3,style
这是一个极其重要的属性,可以获取并修改每个单独的样式.
例如:document.getElementByTagName("body")[0].style.backgroundColor="#cccccc"
4、firstChild 返回第一个子节点
lastChild 返回最后一个子节点
parentNode 返回父节点的对象。
nextSibling 返回下一个兄弟节点的对象
previousSibling 返回前一个兄弟节点的对象
nodeName 返回节点的HTML标记名称,使用英文的大写字母,如P, FONT
5,click()
执行元素的一次点击,可以用于通过脚本来触发onClick函数
Python的平凡之路(15)的更多相关文章
- Python的平凡之路(8)
(本文是对平凡之路(7)的补充等) 一.动态导入模块 import importlib __import__('import_lib.metaclass') #这是解释器自己内部用的 #importl ...
- Python的平凡之路(16)
一.HTML+CSS补充 0.常用页面布局 <!DOCTYPE html> <html lang="en"><head> <meta ch ...
- Python的平凡之路(13)
一.Python的paramiko模块介绍 Python 的paramiko模块,该模块和SSH用于连接远程服务器并执行相关操作 SSH client 用于连接远程服务器并执行基本命令 基于用户名和密 ...
- Python的平凡之路(12)
一.数据库介绍 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据.我们也可以将数据存储在文件中,但 ...
- Python的平凡之路(11)
一. rabbitmq 1 进程Queue: 父进程与子进程进行交互,或者同属于同一父进程下多个子进程进行交互 2 队列通信: send1.py #!/usr/bin/env python#Au ...
- Python的平凡之路(9)
一.Paramiko模块练习 1. Paramiko模块介绍 Paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接 2 .SSHclie ...
- Python的平凡之路(5)
一.模块介绍 定义: 模块--用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能),本质就是.py结尾的python文件(文件名test.py,模块名test) 包—用来从逻辑上组织 ...
- Python的平凡之路(2)
一.标准库(sys & os): Python 的标准库(standard library) 是随着 Python 一起安装在你的电脑中的,是 Python 的一部分 (当然也有特殊情况. ...
- Python的平凡之路(20)
(提问复习为主) 一.Django请求的生命周期 武彦涛: 路由系统 -> 视图函数(获取模板+数据=>渲染) -> 字符串返回给用户 二.路由 ...
随机推荐
- 在控制台启动服务器时出现:对于服务器soa1_wls, 与计算机oim1相关联的节点管理器无法访问。
问题:在控制台启动服务器时出现:对于服务器soa1_wls, 与计算机oim1相关联的节点管理器无法访问.原因:nodemanager没有启起来解决方法: 一.对于managedServer于admi ...
- Apache Commons Chain
http://commons.apache.org/proper/commons-chain/ http://commons.apache.org/proper/commons-chain/cookb ...
- centos下安装yaf框架
安装好php环境之后 安装扩展包 $yum install php-devel /usr/bin/ 就会出现phpize工具包 下载yaf-2.2.8.gz源文件,解压后,进入源文件 phpize [ ...
- swiper横向轮播--3d
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- 本周psp(11月17-23)
本周psp进度 11月19号 内容 开始时间 结束时间 打断时间 净时间 发布读书笔记 11:05 11:25 0 20m 看构建之法书 9:50 10:48 5m 53m 11月20号 内容 开始时 ...
- mybatis高级(1)(入门回顾)
首先入门案例(并且拿到新增记录当前id) 1.创建mybatis-config.xml文件 <?xml version="1.0" encoding="UTF-8& ...
- CSS3新增的选择器和属性
<!doctype html>无标题文档 一.新增的选择器 CSS3新增的属性选择器 {除ie6外的大部分浏览器支持) 序号 选择器 含义 实例 1 E[att^="val&qu ...
- Bootstrap学习之起步
安装Bootstrap环境 从 http://getbootstrap.com/ 上下载 Bootstrap 的最新版本.我下载的是预编译版,即下图中的第一个. 将其解压缩到任意目录即可看到以下(压缩 ...
- ORACLE 自定义聚合函数
用户可以自定义聚合函数 ODCIAggregate,定义了四个聚集函数:初始化.迭代.合并和终止. Initialization is accomplished by the ODCIAggrega ...
- 无废话SharePoint入门教程二[SharePoint发展、工具及术语]
一.前言 1.由于上一篇文章的标题命名失误,此篇标题写给百度搜索”什么是SharePoint”. 2.关于什么是SharePoint,请参见本人的第一篇文章:http://www.cnblogs.co ...