本节内容
一,HTML
1. 概念:是最基础的网页开发语言
2. 语法快速入门:
3. 标签学习:
1. 文件标签:构成html最基本的标签
2. 文本标签:和文本有关的标签
注释:<.!-- 注释内容 -->
< h1> to < h6>:标题标签
< p>:段落标签
< br>:换行标签
< hr>:展示一条水平线
< b>:字体加粗
< i>:字体斜体
< font>:字体标签
< center>:文本居中
3. 图片标签:
4. 列表标签:
5. 链接标签:
6. div和span:
div:每一个div占满一整行。块级标签
span:文本信息在一行展示,行内标签 内联标签
7. 语义化标签:html5中为了提高程序的可读性,提供了一些标签。
1. < header>:页眉
2. < footer>:页脚
8. 表格标签:
table:定义表格
tr:定义行
td:定义单元格
th:定义表头单元格
!9.数据表单标签
二,CSS:页面美化和布局控制
1. 概念: Cascading Style Sheets 层叠样式表
2. CSS的使用:CSS与html结合方式
1. 内联样式:style=" "
2. 内部样式head中< style>
3. 外部样式< link rel="stylesheet" href="" >
3. css语法格式:
4. 选择器:筛选具有相似特征的元素
1. 基础选择器
1. id选择器:选择具体的id属性值的元素.建议在一个html页面中id值唯一
2. 元素选择器:选择具有相同标签名称的元素
3. 类选择器:选择具有相同的class属性值的元素。
2. 扩展选择器:
1. 选择所有元素:
2. 并集选择器:
3. 子选择器:筛选选择器1元素下的选择器2元素
4. 父选择器:筛选选择器2的父元素选择器1
5. 属性值选择器:选择元素名称,属性名=属性值的元素
6. 伪类选择器:选择一些元素具有的状态
5. 属性
1. 字体、文本
2. 背景
3. 边框
4. 尺寸
5. 盒子模型:控制布局
案例:
三,ECMAScript:客户端脚本语言的标准
JavaScript简介
概念: 一门客户端脚本语言
功能:
JavaScript发展史:
JavaScript = ECMAScript + JavaScript(BOM+DOM)
1. ECMAScript 基本语法
1. 与html结合方式
1. 内部JS:
2. 外部JS:
注意:
1. < script>定义的位置会影响执行顺序。
2. < script>可以定义多个。
2. 注释
1. 单行注释://
2. 多行注释:/* 内容 */
3. 数据类型:
1. 原始数据类型(基本数据类型):
1. number:数字。
2. string:"abc" "a" 'abc'
3. boolean: true和false
4. null:一个对象为空的占位符
5. undefined:未定义。
2. 引用数据类型:对象
4. 变量
1. 概念:一小块存储数据的内存空间
Java语言是强类型语言,而JavaScript是弱类型语言。
2. 语法:
3. typeof运算符:获取变量的类型。
5. 运算符
1. 一元运算符:只有一个运算数的运算符
1. ++ --: 自增(自减)
2. +(-):正负号
其他类型转number:
string转number:按照字面值转。不是数字转为NaN(不是数字的数字)
boolean转number:true转为1,false转为0
其他类型转boolean:
1. number:0或NaN为假,非0为真
2. string:除了空字符串(""),其他都是true
3. null&undefined:都是false
4. 对象:所有对象都为true
2. 算数运算符
3. 赋值运算符
4. 比较运算符 > < >= <= == ===(全等于)
比较方式
1. 类型相同:直接比较
字符串:按照字典顺序比较。按位逐一比较,直到得出大小为止。
2. 类型不同:先进行类型转换,再比较
===:全等于。在比较之前,先判断类型,如果类型不一样,则直接返回false
5. 逻辑运算符
6. 三元运算符 :表达式? 值1:值2;
6. 流程控制语句:
1. if...else...
2. switch:可接收原始数据类型
3. while
4. do...while
5. for
7. JS特殊语法:
1. 语句分号结尾,单句可省略
2. 变量的定义任选使用var关键字
var: 是局部变量
不用var:是全局变量(不建议)
8. 练习:输出99*法表
2. 基本对象:
1. Function:函数(方法)对象
function 方法名称(形式参数列表){ 方法体 }
var 方法名 = function(形式参数列表){方法体 }
length:代表形参的个数
特点:
1. 方法是一个对象,如果定义名称相同的方法,会覆盖
2. 方法的调用只与方法的名称有关,和参数列表无关
3. 在方法声明中有一个隐藏的内置对象(数组),arguments存储所有传入的实际参数
2. Array:数组对象
1. 创建:
1. var arr = new Array(元素列表);
2. var arr = new Array(默认长度);
3. var arr = [元素列表];
2. 方法
join(参数):将数组中的元素按照指定的分隔符拼接为字符串,默认逗号分隔
push() 向数组的, 末尾添加 , 一个或更多元素,并返回新的长度。
3. 属性
4. 特点:
1. JS中,数组元素的类型可变的。
2. JS中,数组长度可变的。未初始化赋值的元素就是undefine
3. Boolean
4. Date:日期对象
1. 创建:
2. 方法:
toLocaleString():返回当前date对象对应的时间本地字符串格式
getTime():获取毫秒值。返回当前如期对象描述的时间到1970年1月1日零点的毫秒值差
5. Math:数学对象
1. Math对象不用创建,直接使用。
2. 方法:
1. random():返回 0 ~ 1 之间的随机数。 含0不含1
2. ceil(x):向上取整
3. floor(x):向下取整
4. round(x):把数四舍五入为最接近的整数。
3. 属性:
4. 1-100之间取随机数
6. Number
7. String
8. Global
1. 特点:全局对象,这个Global中封装的方法不需要对象就可以直接调用。
2. 方法:
1. URL编码:中文不方便传输需要转码
传智播客 = %E4%BC%A0%E6%99%BA%E6%92%AD%E5%AE%A2
URL编码和解码方法
1. encodeURI():url编码
2. decodeURI():url解码
3. encodeURIComponent():url编码,编码的字符更多
4. decodeURIComponent():url解码
2. parseInt():将字符串转为数字
逐一判断每一个字符是否是数字,直到不是数字为止,将前边数字部分转为number
3. isNaN():判断一个值是否是NaN
NaN六亲不认,连自己都不认。NaN参与的==比较全部问false
4. eval():解析将字符串,作为脚本代码来执行。
9. RegExp:正则表达式对象,定义字符串的组成规则。
1. 正则表达式语法:
1. 格式:^规则$
2. 规则
1. 单个字符:用[ ]括起来
[a]:a; [ab]:a或b;
[a-zA-Z0-9_]:a到z或A-Z或0-9或下换线
注意:
特殊符号表示,特殊单个字符:
\d:表示单个数字字符占位符:[0-9]其一
\w:表示单个单词字符占位符:[a-zA-Z0-9_]其一
2. 量词符号:
?:表示出现0次或1次
*:表示出现0次或多次
+:出现1次或多次
{m,n}:表示 m<= 数量 <= n
m如果缺省: {,n}:最多n次
n如果缺省:{m,} 最少m次
2. 正则对象的使用:
1. 创建:var reg = /^规则$/;
var reg = /^规则$/; 推荐
var reg = new RegExp("正则表达式");
2. reg.test(比对参数)方法验证,返回boolean
test(比对参数):验证指定的字符串是否符合正则定义的规范
四,BOM:浏览器对象模型
1. 概念:将浏览器的各个组成部分封装成对象。
2. 组成:
1. Window:窗口对象包含DOM对象
2. Navigator:浏览器对象
3. Screen:显示器屏幕对象
4. History:历史记录对象
5. Location:地址栏对象
1. Window:窗口对象
Windows.方法名()或直接方法名()直接使用
1. 获取其他BOM对象:
2. 获取DOM对象
1. 与弹出框有关的方法:
1. alert() 消息警告确认框。
2. confirm() 消息确认和取消框。
确定按钮,则方法返回true
取消按钮,则方法返回false
3. prompt() 提示用户输入的输入框。
2. 与打开关闭有关的方法:
close() 关闭当前浏览器窗口。
open(url) 打开一个新网址浏览器窗口,可选参
3. 与定时器有关的方式
1. setTimeout() 一次性定时
clearTimeout() 取消由 setTimeout() 方法设置的 timeout。
2. setInterval() 循环定时周期
clearInterval() 取消由 setInterval() 设置的 timeout。
3. 轮播图案例
2. Location:地址栏对象
1. 使用(获取):location
1. window.location
2. location
2. 方法:location.reload() 重新加载当前文档。刷新
3. 属性:location.href访问 URL。
4. 案例:自动跳转首页
3. History:历史记录对象
1. 使用(获取):history
1. window.history
2. history
2. 方法:
back() 加载 history 列表中的前一个 URL。
forward() 加载 history 列表中的下一个 URL。
go(参数) 加载 history 列表中的某个具体页面。
参数:
3. 属性:
length 返回当前窗口历史列表中的 URL 数量。
五,DOM简单学习:控制html文档的内容
概念: Document Object Model 文档对象模型
1. 将标记语言文档的各个组成部分,封装为对象。
2. 可以使用这些对象,对标记语言文档进行CRUD的动态操作
W3C DOM 标准被分为 3 个不同的部分:
1. 核心 DOM - 针对任何结构化文档的标准模型
1. Document:文档对象
2. Element:元素对象
3. Attribute:属性对象
3. Text:文本对象
4. Comment:注释对象
Node:节点对象,其他5个的父对象
2. XML DOM - 针对 XML 文档的标准模型
3. HTML DOM - 针对 HTML 文档的标准模型
简单操作
1. 获取页面标签(元素)对象:Element
document.getElementById("id值"):通过元素的id获取元素对象
2. 操作Element对象:
1. 修改属性值:
1. 明确获取的对象是哪一个?
2. 查看API文档,找其中有哪些属性可以设置
2. 修改标签体内容:.innerHTML=""
属性:element.innerHTML
1. 获取元素对象
2. 使用innerHTML属性修改标签体内容
核心DOM模型:
Document:文档对象
1. 创建(获取):在html dom模型中可以使用window对象来获取
1. window.document
2. document
2. 方法:
1. 获取Element对象:
1. getElementById() : 根据id属性值获取元素对象。id属性值一般唯一
2. getElementsByTagName():根据标签名称获取元素对象们。返回值是一个数组
3. getElementsByClassName():根据Class属性值获取元素对象们。返回值是一个数组
4. getElementsByName(): 根据name属性值获取元素对象们。返回值是一个数组
2. 创建其他DOM对象:
1. createAttribute(name)
2. createComment()
3. createElement()
4. createTextNode()
3. 属性
Element:元素对象
1. 获取/创建:通过document来获取和创建
2. 方法:
1. removeAttribute():删除属性
2. setAttribute():设置属性
Node:节点对象,其他5个的父对象
1. 特点:所有dom对象都可以被认为是一个节点
2. CRUD dom树方法:
appendChild():向节点的子节点列表的结尾添加新的子节点。
removeChild() :删除(并返回)当前节点的指定子节点。
replaceChild():用新节点替换一个子节点。
3. 属性:
案例: 动态增删表格
HTML DOM
1. 标签体的设置和获取:innerHTML
2. 使用html元素对象的属性
3. 控制元素样式
1. 使用元素的style属性来设置
如:
//修改样式方式1
div1.style.border = "1px solid red";
div1.style.width = "200px";
//font-size--> fontSize
div1.style.fontSize = "20px";
2. 提前定义好类选择器的样式,通过元素的className属性来设置其class属性值。
六,事件
事件简单学习
功能: 某些组件被执行了某些操作后,触发某些代码的执行。
如何绑定事件
1. 直接在html标签上,指定事件的属性(操作),属性值就是js代码
2. 通过js获取元素对象,指定事件属性,设置一个函数
案例1:电灯开关
事件监听机制:
事件监听概念:某些组件被执行了某些操作后,触发某些代码的执行。
1. 事件:某些操作。如: 单击,双击,键盘按下了,鼠标移动了
2. 事件源:组件。如: 按钮 文本输入框...
3. 监听器:代码。
4. 注册监听:将事件,事件源,监听器结合在一起。 当事件源上发生了某个事件,则触发执行某个监听器代码。
获取event事件的详细信息属性
定义事件方法时写οnmοusedοwn=function(event){}
常见的事件:
1. 点击事件:
1. onclick:单击事件
2. ondblclick:双击事件
2. 焦点事件
1. onblur:失去焦点,用于表单输入信息校验
2. onfocus:元素获得焦点。
3. 加载事件:
4. 鼠标事件:
1. onmousedown 鼠标按钮被按下。
2. onmouseup 鼠标按键被松开。
3. onmousemove 鼠标被移动。
4. onmouseover 鼠标移到某元素之上。
5. onmouseout 鼠标从某元素移开。
5. 键盘事件:
1. onkeydown 某个键盘按键被按下。
2. onkeyup 某个键盘按键被松开。
3. onkeypress 某个键盘按键被按下并松开。
6. 选择和改变
1. onchange 域的内容被改变。下拉列表选择
2. onselect 文本被选中。
7. 表单事件:
1. onsubmit 确认按钮被点击。方法返回false就可以阻止表单提交.
2. onreset 重置按钮被点击。
案例:表格全选
案例:表单检验
七,Bootstrap:
基于 HTML、CSS、JavaScript 的前端开发框架
1.概述
1. 概念: 一个前端开发的框架,Bootstrap,来自 Twitter,是目前很受欢迎的前端框架。Bootstrap 是基于 HTML、CSS、JavaScript 的,它简洁灵活,使得 Web 开发更加快捷。
2. 框架: 一个半成品软件,在框架基础上,简化编码。
3. 好处:
1. 定义了很多的css样式和js插件。在框架基础上,简化编码。
2. 响应式布局。
2. 快速使用
1. 下载Bootstrap
2. 在项目中将这三个文件夹复制
3. 创建html页面,引入必要的资源文件
八,响应式布局
概念:同一套页面可以兼容不同分辨率的设备。
实现:依赖于栅格系统:将一行平均分成12个格子,可以指定元素占几个格子
步骤:
1. 定义容器。相当于之前的table、
容器分类:
1. container:两边留白
2. container-fluid:每一种设备都是100%宽度
2. 定义行。相当于之前的tr 样式:row
3. 定义元素。指定该元素在不同的设备上,所占的格子数目。样式:col-设备代号-格子数目
设备代号:
1. xs:超小屏幕 手机 (<768px):col-xs-12
2. sm:小屏幕 平板 (≥768px)
3. md:中等屏幕 桌面显示器 (≥992px)
4. lg:大屏幕 大桌面显示器 (≥1200px)
注意:
1. 一行中如果格子数目超过12,则超出部分自动换行。
2. 栅格类属性可以向上兼容。栅格类适用于与屏幕宽度大于或等于分界点大小的设备。
3. 如果真实设备宽度小于了设置栅格类属性的设备代码的最小值,会一个元素沾满一整行。
CSS样式和JS插件
1. 全局CSS样式:
2. 组件:
3. 插件:
案例
一,HTML
1. 概念:是最基础的网页开发语言
Hyper Text Markup Language 超文本标记语言
超文本:
超文本是用超链接的方法,将各种不同空间的文字信息组织在一起的网状文本.
标记语言:
由标签构成的语言。<标签名称> 如 html,xml
标记语言不是编程语言
2. 语法快速入门:
1. html文档后缀名 .html 或者 .htm
2. 标签分为
1. 围堵标签:有开始标签和结束标签。如
2. 自闭和标签:开始标签和结束标签在一起。如
3. 标签可以嵌套:
需要正确嵌套,不能你中有我,我中有你
错误:
正确:
4. 在开始标签中可以定义属性。属性是由键值对构成,值需要用引号(单双都可)引起来
5. html的标签不区分大小写,但是建议使用小写。
代码:
title
Hello World
Hello World
3. 标签学习:
1. 文件标签:构成html最基本的标签
html:html文档的根标签
head:头标签。用于指定html文档的一些属性。引入外部的资源
title:标题标签。
body:体标签
:html5中定义该文档是html文档
2. 文本标签:和文本有关的标签
注释:<.!-- 注释内容 -->
< h1> to < h6>:标题标签
h1~h6:字体大小逐渐递减
< p>:段落标签
< br>:换行标签
< hr>:展示一条水平线
属性:
color:颜色
width:宽度
size:高度
align:对其方式
center:居中
left:左对齐
right:右对齐
< b>:字体加粗
< i>:字体斜体
< font>:字体标签
< center>:文本居中
属性:
color:颜色
size:大小
face:字体
属性定义:
color:
1. 英文单词:red,green,blue
2. rgb(值1,值2,值3):值的范围:0~255 如 rgb(0,0,255)
3. #值1值2值3:值的范围:00~FF之间。如: #FF00FF
width:
1. 数值:width='20' ,数值的单位,默认是 px(像素)
2. 数值%:占比相对于父元素的比例
3. 图片标签:
< img src>:展示图片
属性:
src:指定图片的位置
代码:
4. 列表标签:
有序列表:ol li
ol:
li:
无序列表:ul li
ul:
li:
5. 链接标签:
a:定义一个超链接
属性:
href:指定访问资源的URL(统一资源定位符)
target:指定打开资源的方式
_self:默认值,在当前页面打开
_blank:在空白页面打开
代码:
点我
点我
点我
列表标签
联系我们
6. div和span:
div:每一个div占满一整行。块级标签
span:文本信息在一行展示,行内标签 内联标签
7. 语义化标签:html5中为了提高程序的可读性,提供了一些标签。
1. < header>:页眉
2. < footer>:页脚
8. 表格标签:
table:定义表格
width:宽度
border:边框
cellpadding:定义内容和单元格的距离
cellspacing:定义单元格之间的距离。如果指定为0,则单元格的线会合为一条、
bgcolor:背景色
align:对齐方式
tr:定义行
bgcolor:背景色
align:对齐方式
td:定义单元格
colspan:合并列
rowspan:合并行
th:定义表头单元格
:表格标题
:表示表格的头部分
:表示表格的体部分
:表示表格的脚部分
!9.数据表单标签
表单:
概念:用于采集用户输入的数据的。用于和服务器进行交互。
form:用于定义表单的。可以定义一个范围,范围代表采集用户数据的范围
属性:
action:指定提交数据的URL
method:指定提交方式
分类:一共7种,2种比较常用
get:
1. 请求参数会在地址栏中显示。会封装到请求行中(HTTP协议后讲解)。
2. 请求参数大小是有限制的。
3. 不太安全。
post:
2. 请求参数不会再地址栏中显示。会封装在请求体中(HTTP协议后讲解)
2. 请求参数的大小没有限制。
3. 较为安全。
表单项中的数据要想被提交:必须指定其name属性
表单项标签:
input:可以通过type属性值,改变元素展示的样式
type属性:
text:文本输入框,默认值
placeholder:指定输入框的提示信息,当输入框的内容发生变化,会自动清空提示信息
password:密码输入框
radio:单选框
注意:
1. 要想让多个单选框实现单选的效果,则多个单选框的name属性值必须一样。
2. 一般会给每一个单选框提供value属性,指定其被选中后提交的值
3. checked属性,可以指定默认值
checkbox:复选框
注意:
1. 一般会给每一个单选框提供value属性,指定其被选中后提交的值
2. checked属性,可以指定默认值
file:文件选择框
hidden:隐藏域,用于提交一些信息。
按钮:
submit:提交按钮。可以提交表单
button:普通按钮
image:图片提交按钮
src属性指定图片的路径
label:指定输入项的文字描述信息
注意:
label的for属性一般会和 input 的 id属性值 对应。如果对应了,则点击label区域,会让input输入框获取焦点。
select: 下拉列表
子元素:option,指定列表项
textarea:文本域
cols:指定列数,每一行有多少个字符
rows:默认多少行。
案例:旅游网站首页
需求分析
1. 确定使用table来完成布局
2. 如果某一行只有一个单元格,则使用
3. 如果某一行有多个单元格,则使用
代码实现
DOCTYPE html >
< html lang = " en" >
< head>
< meta charset = " UTF-8" >
< title> 黑马旅游网 title>
head>
< body>
< table width = " 100%" align = " center" >
< tr>
< td>
< img src = " image/top_banner.jpg" width = " 100%" alt = " " >
td>
tr>
< tr>
< td>
< table width = " 100%" align = " center" >
< tr>
< td>
< img src = " image/logo.jpg" alt = " " >
td>
< td>
< img src = " image/search.png" alt = " " >
td>
< td>
< img src = " image/hotel_tel.png" alt = " " >
td>
tr>
table>
td>
tr>
< tr>
< td>
< table width = " 100%" align = " center" >
< tr bgcolor = " #ffd700" align = " center" height = " 45" >
< td>
< a href = " " > 首页 a>
td>
< td>
门票
td>
< td>
门票
td>
< td>
门票
td>
< td>
门票
td>
< td>
门票
td>
< td>
门票
td>
< td>
门票
td>
< td>
门票
td>
< td>
门票
td>
tr>
table>
td>
tr>
< tr>
< td>
< img src = " image/banner_3.jpg" alt = " " width = " 100%" >
td>
tr>
< tr>
< td>
< img src = " image/icon_5.jpg" alt = " " >
黑马精选
< hr color = " #ffd700" >
td>
tr>
< tr>
< td>
< table align = " center" width = " 95%" >
< tr>
< td>
< img src = " image/jiangxuan_1.jpg" alt = " " >
< p> 上海飞三亚五天4晚自由行(春节销售+亲子+蜜月+自由行) p>
< font color = " red" > ¥ 899 font>
td>
< td>
< img src = " image/jiangxuan_1.jpg" alt = " " >
< p> 上海飞三亚五天4晚自由行(春节销售+亲子+蜜月+自由行) p>
< font color = " red" > ¥ 899 font>
td>
< td>
< img src = " image/jiangxuan_1.jpg" alt = " " >
< p> 上海飞三亚五天4晚自由行(春节销售+亲子+蜜月+自由行) p>
< font color = " red" > ¥ 899 font>
td>
< td>
< img src = " image/jiangxuan_1.jpg" alt = " " >
< p> 上海飞三亚五天4晚自由行(春节销售+亲子+蜜月+自由行) p>
< font color = " red" > ¥ 899 font>
td>
tr>
table>
td>
tr>
< tr>
< td>
< img src = " image/icon_6.jpg" alt = " " >
国内游
< hr color = " #ffd700" >
td>
tr>
< tr>
< td>
< table align = " center" width = " 95%" >
< tr>
< td rowspan = " 2" >
< img src = " image/guonei_1.jpg" alt = " " >
td>
< td>
< img src = " image/jiangxuan_2.jpg" alt = " " height = " 100%" >
< p> 上海飞三亚五天4晚自由行(春节销售+亲子+蜜月+自由行) p>
< font color = " red" > ¥ 699 font>
td>
< td>
< img src = " image/jiangxuan_2.jpg" alt = " " >
< p> 上海飞三亚五天4晚自由行(春节销售+亲子+蜜月+自由行) p>
< font color = " red" > ¥ 699 font>
td>
< td>
< img src = " image/jiangxuan_2.jpg" alt = " " >
< p> 上海飞三亚五天4晚自由行(春节销售+亲子+蜜月+自由行) p>
< font color = " red" > ¥ 699 font>
td>
tr>
< tr>
< td>
< img src = " image/jiangxuan_2.jpg" alt = " " >
< p> 上海飞三亚五天4晚自由行(春节销售+亲子+蜜月+自由行) p>
< font color = " red" > ¥ 699 font>
td>
< td>
< img src = " image/jiangxuan_2.jpg" alt = " " >
< p> 上海飞三亚五天4晚自由行(春节销售+亲子+蜜月+自由行) p>
< font color = " red" > ¥ 699 font>
td>
< td>
< img src = " image/jiangxuan_2.jpg" alt = " " >
< p> 上海飞三亚五天4晚自由行(春节销售+亲子+蜜月+自由行) p>
< font color = " red" > ¥ 699 font>
td>
tr>
table>
td>
tr>
< tr>
< td>
< img src = " image/icon_7.jpg" alt = " " >
境外游
< hr color = " #ffd700" >
td>
tr>
< tr>
< td>
< table align = " center" width = " 95%" >
< tr>
< td rowspan = " 2" >
< img src = " image/jiangwai_1.jpg" alt = " " >
td>
< td>
< img src = " image/jiangxuan_3.jpg" alt = " " height = " 100%" >
< p> 上海飞三亚五天4晚自由行(春节销售+亲子+蜜月+自由行) p>
< font color = " red" > ¥ 699 font>
td>
< td>
< img src = " image/jiangxuan_3.jpg" alt = " " >
< p> 上海飞三亚五天4晚自由行(春节销售+亲子+蜜月+自由行) p>
< font color = " red" > ¥ 699 font>
td>
< td>
< img src = " image/jiangxuan_3.jpg" alt = " " >
< p> 上海飞三亚五天4晚自由行(春节销售+亲子+蜜月+自由行) p>
< font color = " red" > ¥ 699 font>
td>
tr>
< tr>
< td>
< img src = " image/jiangxuan_3.jpg" alt = " " >
< p> 上海飞三亚五天4晚自由行(春节销售+亲子+蜜月+自由行) p>
< font color = " red" > ¥ 699 font>
td>
< td>
< img src = " image/jiangxuan_3.jpg" alt = " " >
< p> 上海飞三亚五天4晚自由行(春节销售+亲子+蜜月+自由行) p>
< font color = " red" > ¥ 699 font>
td>
< td>
< img src = " image/jiangxuan_3.jpg" alt = " " >
< p> 上海飞三亚五天4晚自由行(春节销售+亲子+蜜月+自由行) p>
< font color = " red" > ¥ 699 font>
td>
tr>
table>
td>
tr>
< tr>
< td>
< img src = " image/footer_service.png" alt = " " width = " 100%" >
td>
tr>
< tr>
< td align = " center" bgcolor = " #ffd700" height = " 40" >
< font color = " gray" size = " 2" >
江苏传智播客教育科技股份有限公司
版权所有Copyright 2006-2018© , All Rights Reserved 苏ICP备16007882
font>
td>
tr>
table>
body>
html>
二,CSS:页面美化和布局控制
1. 概念: Cascading Style Sheets 层叠样式表
层叠:多个样式可以作用在同一个html的元素上,同时生效
好处:
1. 功能强大
2. 将内容展示和样式控制分离
降低耦合度。解耦
让分工协作更容易
提高开发效率
2. CSS的使用:CSS与html结合方式
1. 内联样式:style=" "
在标签内使用style属性指定css代码
如:hello css
2. 内部样式head中< style>
在head标签内,定义style标签,style标签的标签体内容就是css代码
如:
hello css
3. 外部样式< link rel=“stylesheet” href="" >
1. 定义css资源文件。
2. 在head标签内,定义link标签,引入外部的资源文件
如:
a.css文件:
div{
color:green;
}
hello css
hello css
注意:1,2,3种方式 css作用范围越来越大
1方式不常用,后期常用2,3
3种格式可以写为:
3. css语法格式:
选择器 {属性名1:属性值1;}
选择器:筛选具有相似特征的元素
注意:
每一对属性需要使用;隔开,最后一对属性可以不加;
4. 选择器:筛选具有相似特征的元素
分类:
1. 基础选择器
1. id选择器:选择具体的id属性值的元素.建议在一个html页面中id值唯一
#id属性值{}
2. 元素选择器:选择具有相同标签名称的元素
标签名称{}
注意:id选择器优先级高于元素选择器
3. 类选择器:选择具有相同的class属性值的元素。
.class属性值{}
注意:类选择器选择器优先级高于元素选择器
2. 扩展选择器:
1. 选择所有元素:
*{}
2. 并集选择器:
选择器1,选择器2{}
3. 子选择器:筛选选择器1元素下的选择器2元素
父选择器 子元素{}
4. 父选择器:筛选选择器2的父元素选择器1
父元素选择器1 > 选择器2{}
5. 属性值选择器:选择元素名称,属性名=属性值的元素
元素名称[属性名=“属性值”]{}
6. 伪类选择器:选择一些元素具有的状态
语法: 元素:状态{}
如:
状态:
link:初始化的状态
visited:被访问过的状态
active:正在访问状态
hover:鼠标悬浮状态
5. 属性
1. 字体、文本
font-size:字体大小
color:文本颜色
text-align:对其方式
line-height:行高
2. 背景
background:
3. 边框
border:设置边框,符合属性
4. 尺寸
width:宽度
height:高度
5. 盒子模型:控制布局
margin:外边距
padding:内边距
默认情况下内边距会影响整个盒子的大小
box-sizing: border-box; 设置盒子的属性,让width和height就是最终盒子的大小
float:浮动
left
right
案例:
DOCTYPE html >
< html lang = " en" >
< head>
< meta charset = " UTF-8" >
< title> 注册页面 title>
< style>
* {
margin : 0px;
padding : 0px;
box-sizing : border-box;
}
body {
background : url ( "img/register_bg.png" ) no-repeat center;
padding-top : 25px;
}
.rg_layout {
width : 900px;
height : 500px;
border : 8px solid #EEEEEE;
background-color : white;
margin : auto;
}
.rg_left {
float : left;
margin : 15px;
}
.rg_left > p:first-child {
color : #FFD026;
font-size : 20px;
}
.rg_left > p:last-child {
color : #A6A6A6;
font-size : 20px;
}
.rg_center {
float : left;
}
.rg_right {
float : right;
margin : 15px;
}
.rg_right > p:first-child {
font-size : 15px;
}
.rg_right p a {
color : pink;
}
.td_left {
width : 100px;
text-align : right;
height : 45px;
}
.td_right {
padding-left : 50px ;
}
#username,#password,#email,#name,#tel,#birthday,#checkcode {
width : 251px;
height : 32px;
border : 1px solid #A6A6A6 ;
border-radius : 5px;
padding-left : 10px;
}
#checkcode {
width : 110px;
}
#img_check {
height : 32px;
vertical-align : middle;
}
#btn_sub {
width : 150px;
height : 40px;
background-color : #FFD026;
border : 1px solid #FFD026 ;
}
style>
head>
< body>
< div class = " rg_layout" >
< div class = " rg_left" >
< p> 新用户注册 p>
< p> USER REGISTER p>
div>
< div class = " rg_center" >
< div class = " rg_form" >
< form action = " #" method = " post" >
< table>
< tr>
< td class = " td_left" > < label for = " username" > 用户名 label> td>
< td class = " td_right" > < input type = " text" name = " username" id = " username" placeholder = " 请输入用户名" > td>
tr>
< tr>
< td class = " td_left" > < label for = " password" > 密码 label> td>
< td class = " td_right" > < input type = " password" name = " password" id = " password" placeholder = " 请输入密码" > td>
tr>
< tr>
< td class = " td_left" > < label for = " email" > Email label> td>
< td class = " td_right" > < input type = " email" name = " email" id = " email" placeholder = " 请输入邮箱" > td>
tr>
< tr>
< td class = " td_left" > < label for = " name" > 姓名 label> td>
< td class = " td_right" > < input type = " text" name = " name" id = " name" placeholder = " 请输入姓名" > td>
tr>
< tr>
< td class = " td_left" > < label for = " tel" > 手机号 label> td>
< td class = " td_right" > < input type = " text" name = " tel" id = " tel" placeholder = " 请输入手机号" > td>
tr>
< tr>
< td class = " td_left" > < label> 性别 label> td>
< td class = " td_right" >
< input type = " radio" name = " gender" value = " male" > 男
< input type = " radio" name = " gender" value = " female" > 女
td>
tr>
< tr>
< td class = " td_left" > < label for = " birthday" > 出生日期 label> td>
< td class = " td_right" > < input type = " date" name = " birthday" id = " birthday" placeholder = " 请输入出生日期" > td>
tr>
< tr>
< td class = " td_left" > < label for = " checkcode" > 验证码 label> td>
< td class = " td_right" > < input type = " text" name = " checkcode" id = " checkcode" placeholder = " 请输入验证码" >
< img id = " img_check" src = " img/verify_code.jpg" >
td>
tr>
< tr>
< td colspan = " 2" align = " center" > < input type = " submit" id = " btn_sub" value = " 注册" > td>
tr>
table>
form>
div>
div>
< div class = " rg_right" >
< p> 已有账号?< a href = " #" > 立即登录 a> p>
div>
div>
body>
html>
三,ECMAScript:客户端脚本语言的标准
JavaScript简介
概念: 一门客户端脚本语言
运行在客户端浏览器中的。每一个浏览器都有JavaScript的解析引擎
脚本语言:不需要编译,直接就可以被浏览器解析执行了
功能:
可以来增强用户和html页面的交互过程,可以来控制html元素,让页面有一些动态的效果,增强用户的体验。
JavaScript发展史:
1. 1992年,Nombase公司,开发出第一门客户端脚本语言,专门用于表单的校验。命名为 : C-- ,后来更名为:ScriptEase
2. 1995年,Netscape(网景)公司,开发了一门客户端脚本语言:LiveScript。后来,请来SUN公司的专家,修改LiveScript,命名为JavaScript
3. 1996年,微软抄袭JavaScript开发出JScript语言
4. 1997年,ECMA(欧洲计算机制造商协会),制定出客户端脚本语言的标准:ECMAScript,就是统一了所有客户端脚本语言的编码方式。
JavaScript = ECMAScript + JavaScript(BOM+DOM)
1. ECMAScript 基本语法
1. 与html结合方式
1. 内部JS:
< script>js代码< /script>
2. 外部JS:
< script src=“js文件路径”>
注意:
1. < script>定义的位置会影响执行顺序。
2. < script>可以定义多个。
2. 注释
1. 单行注释://
2. 多行注释:/* 内容 */
3. 数据类型:
1. 原始数据类型(基本数据类型):
1. number:数字。
整数/小数/NaN(not a number 一个不是数字的数字类型)
2. string:“abc” “a” ‘abc’
3. boolean: true和false
4. null:一个对象为空的占位符
5. undefined:未定义。
如果一个变量没有给初始化值,则会被默认赋值为undefined
2. 引用数据类型:对象
4. 变量
1. 概念:一小块存储数据的内存空间
Java语言是强类型语言,而JavaScript是弱类型语言。
强类型:在开辟变量存储空间时,定义了空间将来存储的数据的数据类型。只能存储固定类型的数据
弱类型:在开辟变量存储空间时,不定义空间将来的存储数据类型,可以存放任意类型的数据。
2. 语法:
var 变量名 = 初始化值;
3. typeof运算符:获取变量的类型。
注:null运算后得到的是object
5. 运算符
1. 一元运算符:只有一个运算数的运算符
1. ++ --: 自增(自减)
++(--) 在前,先自增(自减),再运算
++(--) 在后,先运算,再自增(自减)
2. +(-):正负号
注意:js引擎会自动的将运算数进行类型转换
其他类型转number:
string转number:按照字面值转。不是数字转为NaN(不是数字的数字)
boolean转number:true转为1,false转为0
其他类型转boolean:
1. number:0或NaN为假,非0为真
2. string:除了空字符串(""),其他都是true
3. null&undefined:都是false
4. 对象:所有对象都为true
2. 算数运算符
+ - * / % …
3. 赋值运算符
= += -+…
4. 比较运算符 > < >= <= == ===(全等于)
比较方式
1. 类型相同:直接比较
字符串:按照字典顺序比较。按位逐一比较,直到得出大小为止。
2. 类型不同:先进行类型转换,再比较
===:全等于。在比较之前,先判断类型,如果类型不一样,则直接返回false
5. 逻辑运算符
&& , || , !
6. 三元运算符 :表达式? 值1:值2;
var c = a > b ? 1:0;
6. 流程控制语句:
1. if…else…
2. switch:可接收原始数据类型
java中switch可接数据类型: byte int shor char,枚举(1.5) ,String(1.7) switch(变量): case 值:
3. while
4. do…while
5. for
7. JS特殊语法:
1. 语句分号结尾,单句可省略
2. 变量的定义任选使用var关键字
var: 是局部变量
不用var:是全局变量(不建议)
8. 练习:输出99*法表
DOCTYPE html >
< html lang = " en" >
< head>
< meta charset = " UTF-8" >
< title> 99*法表 title>
< style>
td {
border : 1px solid;
}
style>
< script>
document. write ( "") ;
for ( var i = 1 ; i <= 9 ; i++ ) {
document. write ( "") ;
for ( var j = 1 ; j <= i ; j++ ) {
document. write ( " ") ;
document. write ( i + " * " + j + " = " + ( i* j) + " " ) ;
document. write ( " ") ;
}
document. write ( " " ) ;
}
document. write ( "
" ) ;
script>
head>
< body>
body>
html>
2. 基本对象:
1. Function:函数(方法)对象
1. 创建:
1. var fun = new Function(形式参数列表,方法体); //忘掉吧
2.
function 方法名称(形式参数列表){ 方法体 }
3.
var 方法名 = function(形式参数列表){方法体 }
2. 方法:
3. 属性:
length:代表形参的个数
特点:
1. 方法是一个对象,如果定义名称相同的方法,会覆盖
2. 方法的调用只与方法的名称有关,和参数列表无关
3. 在方法声明中有一个隐藏的内置对象(数组),arguments存储所有传入的实际参数
2. Array:数组对象
1. 创建:
1. var arr = new Array(元素列表);
2. var arr = new Array(默认长度);
3. var arr = [元素列表];
2. 方法
join(参数):将数组中的元素按照指定的分隔符拼接为字符串,默认逗号分隔
push() 向数组的, 末尾添加 , 一个或更多元素,并返回新的长度。
3. 属性
length:数组的长度
4. 特点:
1. JS中,数组元素的类型可变的。
2. JS中,数组长度可变的。未初始化赋值的元素就是undefine
3. Boolean
4. Date:日期对象
1. 创建:
var date = new Date();
2. 方法:
toLocaleString():返回当前date对象对应的时间本地字符串格式
getTime():获取毫秒值。返回当前如期对象描述的时间到1970年1月1日零点的毫秒值差
5. Math:数学对象
1. Math对象不用创建,直接使用。
Math.方法名();
2. 方法:
1. random():返回 0 ~ 1 之间的随机数。 含0不含1
2. ceil(x):向上取整
3. floor(x):向下取整
4. round(x):把数四舍五入为最接近的整数。
3. 属性:
PI
4. 1-100之间取随机数
6. Number
7. String
8. Global
1. 特点:全局对象,这个Global中封装的方法不需要对象就可以直接调用。
方法名();直接调用
2. 方法:
1. URL编码:中文不方便传输需要转码
传智播客 = %E4%BC%A0%E6%99%BA%E6%92%AD%E5%AE%A2
URL编码和解码方法
1. encodeURI():url编码
2. decodeURI():url解码
3. encodeURIComponent():url编码,编码的字符更多
4. decodeURIComponent():url解码
2. parseInt():将字符串转为数字
逐一判断每一个字符是否是数字,直到不是数字为止,将前边数字部分转为number
3. isNaN():判断一个值是否是NaN
NaN六亲不认,连自己都不认。NaN参与的==比较全部问false
4. eval():解析将字符串,作为脚本代码来执行。
9. RegExp:正则表达式对象,定义字符串的组成规则。
1. 正则表达式语法:
1. 格式:^规则$
^:开始
$:结束
2. 规则
1. 单个字符:用[ ]括起来
[a]:a; [ab]:a或b;
[a-zA-Z0-9_]:a到z或A-Z或0-9或下换线
注意:
特殊符号表示,特殊单个字符:
\d:表示单个数字字符占位符:[0-9]其一
\w:表示单个单词字符占位符:[a-zA-Z0-9_]其一
2. 量词符号:
?:表示出现0次或1次
*:表示出现0次或多次
+:出现1次或多次
{m,n}:表示 m<= 数量 <= n
m如果缺省: {,n}:最多n次
n如果缺省:{m,} 最少m次
2. 正则对象的使用:
1. 创建:var reg = /^规则$/;
var reg = /^规则$/; 推荐
var reg = new RegExp(“正则表达式”);
2. reg.test(比对参数)方法验证,返回boolean
test(比对参数):验证指定的字符串是否符合正则定义的规范
四,BOM:浏览器对象模型
1. 概念:将浏览器的各个组成部分封装成对象。
2. 组成:
1. Window:窗口对象包含DOM对象
2. Navigator:浏览器对象
3. Screen:显示器屏幕对象
4. History:历史记录对象
5. Location:地址栏对象
1. Window:窗口对象
Windows.方法名()或直接方法名()直接使用
1. 获取其他BOM对象:
history.
location.
Navigator.
Screen.
2. 获取DOM对象
document.
1. 与弹出框有关的方法:
1. alert() 消息警告确认框。
2. confirm() 消息确认和取消框。
确定按钮,则方法返回true
取消按钮,则方法返回false
3. prompt() 提示用户输入的输入框。
返回值:获取用户输入的字符串值
2. 与打开关闭有关的方法:
close() 关闭当前浏览器窗口。
谁调用我 ,我关谁
open(url) 打开一个新网址浏览器窗口,可选参
3. 与定时器有关的方式
1. setTimeout() 一次性定时
返回值:唯一标识,用于取消定时器
参数:
1. js代码或者方法对象
2. 毫秒值
clearTimeout() 取消由 setTimeout() 方法设置的 timeout。
2. setInterval() 循环定时周期
clearInterval() 取消由 setInterval() 设置的 timeout。
3. 轮播图案例
2. Location:地址栏对象
1. 使用(获取):location
1. window.location
2. location
2. 方法:location.reload() 重新加载当前文档。刷新
3. 属性:location.href访问 URL。
4. 案例:自动跳转首页
3. History:历史记录对象
1. 使用(获取):history
1. window.history
2. history
2. 方法:
back() 加载 history 列表中的前一个 URL。
forward() 加载 history 列表中的下一个 URL。
go(参数) 加载 history 列表中的某个具体页面。
参数:
正数:前进几个历史记录
负数:后退几个历史记录
3. 属性:
length 返回当前窗口历史列表中的 URL 数量。
五,DOM简单学习:控制html文档的内容
概念: Document Object Model 文档对象模型
1. 将标记语言文档的各个组成部分,封装为对象。
2. 可以使用这些对象,对标记语言文档进行CRUD的动态操作
W3C DOM 标准被分为 3 个不同的部分:
1. 核心 DOM - 针对任何结构化文档的标准模型
1. Document:文档对象
2. Element:元素对象
3. Attribute:属性对象
3. Text:文本对象
4. Comment:注释对象
Node:节点对象,其他5个的父对象
2. XML DOM - 针对 XML 文档的标准模型
3. HTML DOM - 针对 HTML 文档的标准模型
简单操作
1. 获取页面标签(元素)对象:Element
document.getElementById(“id值”):通过元素的id获取元素对象
2. 操作Element对象:
1. 修改属性值:
1. 明确获取的对象是哪一个?
2. 查看API文档,找其中有哪些属性可以设置
2. 修改标签体内容:.innerHTML=""
属性:element.innerHTML
1. 获取元素对象
2. 使用innerHTML属性修改标签体内容
核心DOM模型:
Document:文档对象
1. 创建(获取):在html dom模型中可以使用window对象来获取
1. window.document
2. document
2. 方法:
1. 获取Element对象:
1. getElementById() : 根据id属性值获取元素对象。id属性值一般唯一
2. getElementsByTagName():根据标签名称获取元素对象们。返回值是一个数组
3. getElementsByClassName():根据Class属性值获取元素对象们。返回值是一个数组
4. getElementsByName(): 根据name属性值获取元素对象们。返回值是一个数组
2. 创建其他DOM对象:
1. createAttribute(name)
2. createComment()
3. createElement()
4. createTextNode()
3. 属性
Element:元素对象
1. 获取/创建:通过document来获取和创建
2. 方法:
1. removeAttribute():删除属性
2. setAttribute():设置属性
Node:节点对象,其他5个的父对象
1. 特点:所有dom对象都可以被认为是一个节点
2. CRUD dom树方法:
appendChild():向节点的子节点列表的结尾添加新的子节点。
removeChild() :删除(并返回)当前节点的指定子节点。
replaceChild():用新节点替换一个子节点。
3. 属性:
parentNode 返回节点的父节点。
案例: 动态增删表格
代码
DOCTYPE html >
< html lang = " en" >
< head>
< meta charset = " UTF-8" >
< title> 动态表格 title>
< style>
table {
border : 1px solid;
margin : auto;
width : 500px;
}
td,th {
text-align : center;
border : 1px solid;
}
div {
text-align : center;
margin : 50px;
}
style>
head>
< body>
< div>
< input type = " text" id = " id" placeholder = " 请输入编号" >
< input type = " text" id = " name" placeholder = " 请输入姓名" >
< input type = " text" id = " gender" placeholder = " 请输入性别" >
< input type = " button" value = " 添加" id = " btn_add" >
div>
< table>
< caption> 学生信息表 caption>
< tr>
< th> 编号 th>
< th> 姓名 th>
< th> 性别 th>
< th> 操作 th>
tr>
< tr>
< td> 1 td>
< td> 令狐冲 td>
< td> 男 td>
< td> < a href = " javascript:void(0);" onclick = " delTr(this);" > 删除 a> td>
tr>
< tr>
< td> 2 td>
< td> 任我行 td>
< td> 男 td>
< td> < a href = " javascript:void(0);" onclick = " delTr(this);" > 删除 a> td>
tr>
< tr>
< td> 3 td>
< td> 岳不群 td>
< td> ? td>
< td> < a href = " javascript:void(0);" onclick = " delTr(this);" > 删除 a> td>
tr>
table>
< script>
document. getElementById ( "btn_add" ) . onclick = function ( ) {
var id = document. getElementById ( "id" ) . value;
var name = document. getElementById ( "name" ) . value;
var gender = document. getElementById ( "gender" ) . value;
var table = document. getElementsByTagName ( "table" ) [ 0 ] ;
table. innerHTML += "\n" +
" "+ id+ " \n" +
" "+ name+ " \n" +
" "+ gender+ " \n" +
" 删除 \n" +
" " ;
}
function delTr ( obj ) {
var table = obj. parentNode. parentNode. parentNode;
var tr = obj. parentNode. parentNode;
table. removeChild ( tr) ;
}
script>
body>
html>
HTML DOM
1. 标签体的设置和获取:innerHTML
document. getElementById ( "btn_add" ) . onclick = function ( ) {
var id = document. getElementById ( "id" ) . value;
var name = document. getElementById ( "name" ) . value;
var gender = document. getElementById ( "gender" ) . value;
var table = document. getElementsByTagName ( "table" ) [ 0 ] ;
table. innerHTML += "\n" +
" "+ id+ " \n" +
" "+ name+ " \n" +
" "+ gender+ " \n" +
" 删除 \n" +
" " ;
}
2. 使用html元素对象的属性
3. 控制元素样式
1. 使用元素的style属性来设置
如:
//修改样式方式1
div1.style.border = “1px solid red”;
div1.style.width = “200px”;
//font-size–> fontSize
div1.style.fontSize = “20px”;
2. 提前定义好类选择器的样式,通过元素的className属性来设置其class属性值。
六,事件
事件简单学习
功能: 某些组件被执行了某些操作后,触发某些代码的执行。
如何绑定事件
1. 直接在html标签上,指定事件的属性(操作),属性值就是js代码
1. 标签内οnclick=“代码”
2. 通过js获取元素对象,指定事件属性,设置一个函数
< body>
< img id = " light" src = " img/off.gif" onclick = " fun();" >
< img id = " light2" src = " img/off.gif" >
< script>
function fun ( ) {
alert ( '我被点了' ) ;
alert ( '我又被点了' ) ;
}
function fun2 ( ) {
alert ( '咋老点我?' ) ;
}
var light2 = document. getElementById ( "light2" ) ;
light2. onclick = fun2;
script>
body>
案例1:电灯开关
DOCTYPE html >
< html lang = " en" >
< head>
< meta charset = " UTF-8" >
< title> 电灯开关 title>
head>
< body>
< img id = " light" src = " img/off.gif" >
< script>
var light = document. getElementById ( "light" ) ;
var flag = false ;
light. onclick = function ( ) {
if ( flag) {
light. src = "img/off.gif" ;
flag = false ;
} else {
light. src = "img/on.gif" ;
flag = true ;
}
}
script>
body>
html>
事件监听机制:
事件监听概念:某些组件被执行了某些操作后,触发某些代码的执行。
1. 事件:某些操作。如: 单击,双击,键盘按下了,鼠标移动了
2. 事件源:组件。如: 按钮 文本输入框…
3. 监听器:代码。
4. 注册监听:将事件,事件源,监听器结合在一起。 当事件源上发生了某个事件,则触发执行某个监听器代码。
获取event事件的详细信息属性
定义事件方法时写οnmοusedοwn=function(event){}
常见的事件:
1. 点击事件:
1. onclick:单击事件
2. ondblclick:双击事件
2. 焦点事件
1. onblur:失去焦点,用于表单输入信息校验
2. onfocus:元素获得焦点。
3. 加载事件:
1. onload:一张页面或一幅图像完成加载。
4. 鼠标事件:
1. onmousedown 鼠标按钮被按下。
2. onmouseup 鼠标按键被松开。
3. onmousemove 鼠标被移动。
4. onmouseover 鼠标移到某元素之上。
5. onmouseout 鼠标从某元素移开。
5. 键盘事件:
1. onkeydown 某个键盘按键被按下。
2. onkeyup 某个键盘按键被松开。
3. onkeypress 某个键盘按键被按下并松开。
6. 选择和改变
1. onchange 域的内容被改变。下拉列表选择
2. onselect 文本被选中。
7. 表单事件:
1. onsubmit 确认按钮被点击。方法返回false就可以阻止表单提交.
方式一 方式二
2. onreset 重置按钮被点击。
案例:表格全选
案例:表单检验
七,Bootstrap:
基于 HTML、CSS、JavaScript 的前端开发框架
1.概述
1. 概念: 一个前端开发的框架,Bootstrap,来自 Twitter,是目前很受欢迎的前端框架。Bootstrap 是基于 HTML、CSS、JavaScript 的,它简洁灵活,使得 Web 开发更加快捷。
2. 框架: 一个半成品软件,在框架基础上,简化编码。
3. 好处:
1. 定义了很多的css样式和js插件。在框架基础上,简化编码。
2. 响应式布局。
同一套页面可以兼容不同分辨率的设备。
2. 快速使用
1. 下载Bootstrap
2. 在项目中将这三个文件夹复制
3. 创建html页面,引入必要的资源文件
DOCTYPE html >
< html lang = " zh-CN" >
< head>
< meta charset = " utf-8" >
< meta http-equiv = " X-UA-Compatible" content = " IE=edge" >
< meta name = " viewport" content = " width=device-width, initial-scale=1" >
< title> Bootstrap HelloWorld title>
< link href = " css/bootstrap.min.css" rel = " stylesheet" >
< script src = " js/jquery-3.2.1.min.js" > script>
< script src = " js/bootstrap.min.js" > script>
head>
< body>
< h1> 你好,世界! h1>
body>
html>
八,响应式布局
概念:同一套页面可以兼容不同分辨率的设备。
实现:依赖于栅格系统:将一行平均分成12个格子,可以指定元素占几个格子
步骤:
1. 定义容器。相当于之前的table、
容器分类:
1. container:两边留白
2. container-fluid:每一种设备都是100%宽度
2. 定义行。相当于之前的tr 样式:row
3. 定义元素。指定该元素在不同的设备上,所占的格子数目。样式:col-设备代号-格子数目
设备代号:
1. xs:超小屏幕 手机 (<768px):col-xs-12
2. sm:小屏幕 平板 (≥768px)
3. md:中等屏幕 桌面显示器 (≥992px)
4. lg:大屏幕 大桌面显示器 (≥1200px)
注意:
1. 一行中如果格子数目超过12,则超出部分自动换行。
2. 栅格类属性可以向上兼容。栅格类适用于与屏幕宽度大于或等于分界点大小的设备。
3. 如果真实设备宽度小于了设置栅格类属性的设备代码的最小值,会一个元素沾满一整行。
CSS样式和JS插件
1. 全局CSS样式:
按钮:class="btn btn-default"
图片:
class="img-responsive":图片在任意尺寸都占100%
图片形状
:方形
: 圆形
:相框
表格
table
table-bordered
table-hover
表单
给表单项添加:class="form-control"
2. 组件:
导航条
分页条
3. 插件:
轮播图
案例
DOCTYPE html >
< html lang = " zh-CN" >
< head>
< meta charset = " utf-8" >
< meta http-equiv = " X-UA-Compatible" content = " IE=edge" >
< meta name = " viewport" content = " width=device-width, initial-scale=1" >
< title> Bootstrap HelloWorld title>
< link href = " css/bootstrap.min.css" rel = " stylesheet" >
< script src = " js/jquery-3.2.1.min.js" > script>
< script src = " js/bootstrap.min.js" > script>
< style>
.paddtop {
padding-top : 10px;
}
.search-btn {
float : left;
border : 1px solid #ffc900;
width : 90px;
height : 35px;
background-color : #ffc900 ;
text-align : center;
line-height : 35px;
margin-top : 15px;
}
.search-input {
float : left;
border : 2px solid #ffc900;
width : 400px;
height : 35px;
padding-left : 5px;
margin-top : 15px;
}
.jx {
border-bottom : 2px solid #ffc900;
padding : 5px;
}
.company {
height : 40px;
background-color : #ffc900;
text-align : center;
line-height : 40px ;
font-size : 8px;
}
style>
head>
< body>
< header class = " container-fluid" >
< div class = " row" >
< img src = " img/top_banner.jpg" class = " img-responsive" >
div>
< div class = " row paddtop" >
< div class = " col-md-3" >
< img src = " img/logo.jpg" class = " img-responsive" >
div>
< div class = " col-md-5" >
< input class = " search-input" placeholder = " 请输入线路名称" >
< a class = " search-btn" href = " #" > 搜索 a>
div>
< div class = " col-md-4" >
< img src = " img/hotel_tel.png" class = " img-responsive" >
div>
div>
< div class = " row" >
< nav class = " navbar navbar-default" >
< div class = " container-fluid" >
< div class = " navbar-header" >
< button type = " button" class = " navbar-toggle collapsed" data-toggle = " collapse" data-target = " #bs-example-navbar-collapse-1" aria-expanded = " false" >
< span class = " sr-only" > Toggle navigation span>
< span class = " icon-bar" > span>
< span class = " icon-bar" > span>
< span class = " icon-bar" > span>
button>
< a class = " navbar-brand" href = " #" > 首页 a>
div>
< div class = " collapse navbar-collapse" id = " bs-example-navbar-collapse-1" >
< ul class = " nav navbar-nav" >
< li class = " active" > < a href = " #" > Link < span class = " sr-only" > (current) span> a> li>
< li> < a href = " #" > Link a> li>
< li> < a href = " #" > Link a> li>
< li> < a href = " #" > Link a> li>
< li> < a href = " #" > Link a> li>
< li> < a href = " #" > Link a> li>
ul>
div>
div>
nav>
div>
< div class = " row" >
< div id = " carousel-example-generic" class = " carousel slide" data-ride = " carousel" >
< ol class = " carousel-indicators" >
< li data-target = " #carousel-example-generic" data-slide-to = " 0" class = " active" > li>
< li data-target = " #carousel-example-generic" data-slide-to = " 1" > li>
< li data-target = " #carousel-example-generic" data-slide-to = " 2" > li>
ol>
< div class = " carousel-inner" role = " listbox" >
< div class = " item active" >
< img src = " img/banner_1.jpg" alt = " ..." >
div>
< div class = " item" >
< img src = " img/banner_2.jpg" alt = " ..." >
div>
< div class = " item" >
< img src = " img/banner_3.jpg" alt = " ..." >
div>
div>
< a class = " left carousel-control" href = " #carousel-example-generic" role = " button" data-slide = " prev" >
< span class = " glyphicon glyphicon-chevron-left" aria-hidden = " true" > span>
< span class = " sr-only" > Previous span>
a>
< a class = " right carousel-control" href = " #carousel-example-generic" role = " button" data-slide = " next" >
< span class = " glyphicon glyphicon-chevron-right" aria-hidden = " true" > span>
< span class = " sr-only" > Next span>
a>
div>
div>
header>
< div class = " container" >
< div class = " row jx" >
< img src = " img/icon_5.jpg" >
< span> 黑马精选 span>
div>
< div class = " row paddtop" >
< div class = " col-md-3" >
< div class = " thumbnail" >
< img src = " img/jiangxuan_3.jpg" alt = " " >
< p> 上海直飞三亚5天4晚自由行(春节预售+亲子/蜜月/休闲游首选+豪华酒店任选+接送机) p>
< font color = " red" > ¥ 699 font>
div>
div>
< div class = " col-md-3" >
< div class = " thumbnail" >
< img src = " img/jiangxuan_3.jpg" alt = " " >
< p> 上海直飞三亚5天4晚自由行(春节预售+亲子/蜜月/休闲游首选+豪华酒店任选+接送机) p>
< font color = " red" > ¥ 699 font>
div>
div>
< div class = " col-md-3" >
< div class = " thumbnail" >
< img src = " img/jiangxuan_3.jpg" alt = " " >
< p> 上海直飞三亚5天4晚自由行(春节预售+亲子/蜜月/休闲游首选+豪华酒店任选+接送机) p>
< font color = " red" > ¥ 699 font>
div>
div>
< div class = " col-md-3" >
< div class = " thumbnail" >
< img src = " img/jiangxuan_3.jpg" alt = " " >
< p> 上海直飞三亚5天4晚自由行(春节预售+亲子/蜜月/休闲游首选+豪华酒店任选+接送机) p>
< font color = " red" > ¥ 699 font>
div>
div>
div>
< div class = " row jx" >
< img src = " img/icon_6.jpg" >
< span> 国内游 span>
div>
< div class = " row paddtop" >
< div class = " col-md-4" >
< img src = " img/guonei_1.jpg" >
div>
< div class = " col-md-8" >
< div class = " row" >
< div class = " col-md-4" >
< div class = " thumbnail" >
< img src = " img/jiangxuan_3.jpg" alt = " " >
< p> 上海直飞三亚5天4晚自由行(春节预售+亲子/蜜月/休闲游首选+豪华酒店任选+接送机) p>
< font color = " red" > ¥ 699 font>
div>
div>
< div class = " col-md-4" >
< div class = " thumbnail" >
< img src = " img/jiangxuan_3.jpg" alt = " " >
< p> 上海直飞三亚5天4晚自由行(春节预售+亲子/蜜月/休闲游首选+豪华酒店任选+接送机) p>
< font color = " red" > ¥ 699 font>
div>
div>
< div class = " col-md-4" >
< div class = " thumbnail" >
< img src = " img/jiangxuan_3.jpg" alt = " " >
< p> 上海直飞三亚5天4晚自由行(春节预售+亲子/蜜月/休闲游首选+豪华酒店任选+接送机) p>
< font color = " red" > ¥ 699 font>
div>
div>
div>
< div class = " row" >
< div class = " col-md-4" >
< div class = " thumbnail" >
< img src = " img/jiangxuan_3.jpg" alt = " " >
< p> 上海直飞三亚5天4晚自由行(春节预售+亲子/蜜月/休闲游首选+豪华酒店任选+接送机) p>
< font color = " red" > ¥ 699 font>
div>
div>
< div class = " col-md-4" >
< div class = " thumbnail" >
< img src = " img/jiangxuan_3.jpg" alt = " " >
< p> 上海直飞三亚5天4晚自由行(春节预售+亲子/蜜月/休闲游首选+豪华酒店任选+接送机) p>
< font color = " red" > ¥ 699 font>
div>
div>
< div class = " col-md-4" >
< div class = " thumbnail" >
< img src = " img/jiangxuan_3.jpg" alt = " " >
< p> 上海直飞三亚5天4晚自由行(春节预售+亲子/蜜月/休闲游首选+豪华酒店任选+接送机) p>
< font color = " red" > ¥ 699 font>
div>
div>
div>
div>
div>
div>
< footer class = " container-fluid" >
< div class = " row" >
< img src = " img/footer_service.png" class = " img-responsive" >
div>
< div class = " row company" >
江苏传智播客教育科技股份有限公司 版权所有Copyright 2006-2018, All Rights Reserved 苏ICP备16007882
div>
footer>
body>
html>
你可能感兴趣的:(html,bootstrap,css)
swagger访问路径
igotyback
swagger
Swagger2.x版本访问地址:http://{ip}:{port}/{context-path}/swagger-ui.html{ip}是你的服务器IP地址。{port}是你的应用服务端口,通常为8080。{context-path}是你的应用上下文路径,如果应用部署在根路径下,则为空。Swagger3.x版本对于Swagger3.x版本(也称为OpenAPI3)访问地址:http://{ip
html 中如何使用 uniapp 的部分方法
某公司摸鱼前端
html uni-app 前端
示例代码:Documentconsole.log(window);效果展示:好了,现在就可以uni.使用相关的方法了
四章-32-点要素的聚合
彩云飘过
本文基于腾讯课堂老胡的课《跟我学Openlayers--基础实例详解》做的学习笔记,使用的openlayers5.3.xapi。源码见1032.html,对应的官网示例https://openlayers.org/en/latest/examples/cluster.htmlhttps://openlayers.org/en/latest/examples/earthquake-clusters.
DIV+CSS+JavaScript技术制作网页(旅游主题网页设计与制作)云南大理
STU学生网页设计
网页设计 期末网页作业 html静态网页 html5期末大作业 网页设计 web大作业
️精彩专栏推荐作者主页:【进入主页—获取更多源码】web前端期末大作业:【HTML5网页期末作业(1000套)】程序员有趣的告白方式:【HTML七夕情人节表白网页制作(110套)】文章目录二、网站介绍三、网站效果▶️1.视频演示2.图片演示四、网站代码HTML结构代码CSS样式代码五、更多源码二、网站介绍网站布局方面:计划采用目前主流的、能兼容各大主流浏览器、显示效果稳定的浮动网页布局结构。网站程
关于城市旅游的HTML网页设计——(旅游风景云南 5页)HTML+CSS+JavaScript
二挡起步
web前端期末大作业 javascript html css 旅游 风景
⛵源码获取文末联系✈Web前端开发技术描述网页设计题材,DIV+CSS布局制作,HTML+CSS网页设计期末课程大作业|游景点介绍|旅游风景区|家乡介绍|等网站的设计与制作|HTML期末大学生网页设计作业,Web大学生网页HTML:结构CSS:样式在操作方面上运用了html5和css3,采用了div+css结构、表单、超链接、浮动、绝对定位、相对定位、字体样式、引用视频等基础知识JavaScrip
HTML网页设计制作大作业(div+css) 云南我的家乡旅游景点 带文字滚动
二挡起步
web前端期末大作业 web设计网页规划与设计 html css javascript dreamweaver 前端
Web前端开发技术描述网页设计题材,DIV+CSS布局制作,HTML+CSS网页设计期末课程大作业游景点介绍|旅游风景区|家乡介绍|等网站的设计与制作HTML期末大学生网页设计作业HTML:结构CSS:样式在操作方面上运用了html5和css3,采用了div+css结构、表单、超链接、浮动、绝对定位、相对定位、字体样式、引用视频等基础知识JavaScript:做与用户的交互行为文章目录前端学习路线
webpack图片等资源的处理
dmengmeng
需要的loaderfile-loader(让我们可以引入这些资源文件)url-loader(其实是file-loader的二次封装)img-loader(处理图片所需要的)在没有使用任何处理图片的loader之前,比如说css中用到了背景图片,那么最后打包会报错的,因为他没办法处理图片。其实你只想能够使用图片的话。只加一个file-loader就可以,打开网页能准确看到图片。{test:/\.(p
00. 这里整理了最全的爬虫框架(Java + Python)
有一只柴犬
爬虫系列 爬虫 java python
目录1、前言2、什么是网络爬虫3、常见的爬虫框架3.1、java框架3.1.1、WebMagic3.1.2、Jsoup3.1.3、HttpClient3.1.4、Crawler4j3.1.5、HtmlUnit3.1.6、Selenium3.2、Python框架3.2.1、Scrapy3.2.2、BeautifulSoup+Requests3.2.3、Selenium3.2.4、PyQuery3.2
详解:如何设计出健壮的秒杀系统?
夜空_2cd3
作者:Yrion博客园:cnblogs.com/wyq178/p/11261711.html前言:秒杀系统相信很多人见过,比如京东或者淘宝的秒杀,小米手机的秒杀。那么秒杀系统的后台是如何实现的呢?我们如何设计一个秒杀系统呢?对于秒杀系统应该考虑哪些问题?如何设计出健壮的秒杀系统?本期我们就来探讨一下这个问题:image目录一:****秒杀系统应该考虑的问题二:****秒杀系统的设计和技术方案三:*
斟一小组鸡血视频
和自己一起成长
http://m.v.qq.com/play/play.html?coverid=&vid=c0518henl2a&ptag=2_6.0.0.14297_copy有一种努力叫做靠自己http://m.v.qq.com/play/play.html?coverid=&vid=i0547o426g4&ptag=2_6.0.0.14297_copy世界最励志短片https://v.qq.com/x/pa
Dockerfile命令详解之 FROM
清风怎不知意
容器化 java 前端 javascript
许多同学不知道Dockerfile应该如何写,不清楚Dockerfile中的指令分别有什么意义,能达到什么样的目的,接下来我将在容器化专栏中详细的为大家解释每一个指令的含义以及用法。专栏订阅传送门https://blog.csdn.net/qq_38220908/category_11989778.html指令不区分大小写。但是,按照惯例,它们应该是大写的,以便更容易地将它们与参数区分开来。(引用
《HTML 与 CSS—— 响应式设计》
陈在天box
html css 前端
一、引言在当今数字化时代,人们使用各种不同的设备访问互联网,包括智能手机、平板电脑、笔记本电脑和台式机等。为了确保网站在不同设备上都能提供良好的用户体验,响应式设计成为了网页开发的关键。HTML和CSS作为网页开发的基础技术,在实现响应式设计方面发挥着重要作用。本文将深入探讨HTML与CSS中的响应式设计原理、方法和最佳实践。二、响应式设计的概念与重要性(一)概念响应式设计是一种网页设计方法,旨在
【C语言】- 自定义类型:结构体、枚举、联合
Cavalier_01
C语言
【C语言】:操作符(https://mp.csdn.net/editor/html/115218055)数据类型(https://mp.csdn.net/editor/html/115219664)自定义类型:结构体、枚举、联合(https://mp.csdn.net/editor/html/115373785)变量、常量(https://mp.csdn.net/editor/html/11523
html+css网页设计 旅游网站首页1个页面
html+css+js网页设计
html css 旅游
html+css网页设计旅游网站首页1个页面网页作品代码简单,可使用任意HTML辑软件(如:Dreamweaver、HBuilder、Vscode、Sublime、Webstorm、Text、Notepad++等任意html编辑软件进行运行及修改编辑等操作)。获取源码1,访问该网站https://download.csdn.net/download/qq_42431718/897527112,点击
spring mvc @RequestBody String类型参数
zoyation
spring-mvc spring mvc
通过如下配置:text/html;charset=UTF-8application/json;charset=UTF-8在springmvc的Controller层使用@RequestBody接收Content-Type为application/json的数据时,默认支持Map方式和对象方式参数@RequestMapping(value="/{code}/saveUser",method=Requ
ubuntu安装opencv最快的方法
Derek重名了
最快方法,当然不能太多文字$sudoapt-getinstallpython-opencv借助python就可以把ubuntu的opencv环境搞起来,非常快非常容易参考:https://docs.opencv.org/trunk/d2/de6/tutorial_py_setup_in_ubuntu.html
处理标签包裹的字符串,并取出前250字符
周bro
前端 javascript 开发语言
//假设这是你的HTML字符串varhtmlString=`这是一个段落。这是一个标题这是另一个段落,包含一些链接。`;//解析HTML字符串并提取文本functionextractTextFromHTML(html){varparser=newDOMParser();vardoc=parser.parseFromString(html,"text/html");vartextContent=do
css设置当字数超过限制后以省略号(...)显示
周bro
css 前端 vue css3 html 经验分享
1、文字超出一行,省略超出部分,显示’…’用text-overflow:ellipsis属性来,当然还需要加宽度width属来兼容部分浏览。overflow:hidden;text-overflow:ellipsis;white-space:nowrap;2、多行文本溢出显示省略号display:-webkit-box;-webkit-box-orient:vertical;-webkit-lin
360前端星计划-动画可以这么玩
马小蜗
动画的基本原理定时器改变对象的属性根据新的属性重新渲染动画functionupdate(context){//更新属性}constticker=newTicker();ticker.tick(update,context);动画的种类1、JavaScript动画操作DOMCanvas2、CSS动画transitionanimation3、SVG动画SMILJS动画的优缺点优点:灵活度、可控性、性能
h5小游戏定制开发
红匣子实力推荐
随着科技的不断发展,移动互联网已经成为人们生活中不可或缺的一部分。在这个背景下,H5小游戏应运而生,为人们带来了丰富的娱乐体验。H5小游戏定制开发作为一种新兴的游戏开发方式,正逐渐受到市场的关注和青睐。那么,什么是H5小游戏定制开发呢?它又具有哪些特点和优势呢?让我们一起来深入了解一下。首先,我们来了解一下H5小游戏的基本概念。H5小游戏是一种基于HTML5技术的游戏,可以在移动端、PC端等多平台
css2中的透明
琪33
.out{width:400px;height:400px;background-color:blue;margin:100pxauto;border:1pxsolid#000;opacity:0.6;}.in{width:200px;height:200px;background-color:red;margin:100pxauto;}
Nginx从入门到实践(三)
听你讲故事啊
动静分离动静分离是将网站静态资源(JavaScript,CSS,img等文件)与后台应用分开部署,提高用户访问静态代码的速度,降低对后台应用访问。动静分离的一种做法是将静态资源部署在nginx上,后台项目部署到应用服务器上,根据一定规则静态资源的请求全部请求nginx服务器,达到动静分离的目标。rewrite规则Rewrite规则常见正则表达式Rewrite主要的功能就是实现URL的重写,Ngin
Nginx的使用场景:构建高效、可扩展的Web架构
张某布响丸辣
nginx 前端 架构
Nginx,作为当今最流行的Web服务器和反向代理软件之一,凭借其高性能、稳定性和灵活性,在众多Web项目中扮演着核心角色。无论是个人博客、中小型网站,还是大型企业级应用,Nginx都能提供强大的支持。本文将探讨Nginx的几个主要使用场景,帮助读者理解如何在实际项目中充分利用Nginx的优势。1.静态文件服务对于包含大量静态文件(如HTML、CSS、JavaScript、图片等)的网站,Ngin
前端知识点
ZhangTao_zata
前端 javascript css
下面是一个最基本的html代码body{font-family:Arial,sans-serif;margin:20px;}//JavaScriptfunctionthatdisplaysanalertwhencalledfunctionshowMessage(){alert("Hello!Youclickedthebutton.");}MyFirstHTMLPageWelcometoMyPage
非关系型数据库
天秤-white
nosql
一、为什么要用Nosql1.单机MySQL的时代。一个基本的网站访问量一般不会太大,单个数据库完全足够。那时候更多使用的静态网页html,服务器根本没有太大压力。这时候网站的瓶颈是什么?-数据量如果太大,一个机器放不下。-数据量太大需要建立数据的索引(B+Tree),一个服务器内存放不下。-访问量读写混合,一个服务器承受不了。2.memcached缓存+MySQL+垂直拆分(读写分离)。网站80%
Python精选200Tips:121-125
AnFany
Python200+Tips python 开发语言
Spendyourtimeonself-improvement121Requests-简化的HTTP请求处理发送GET请求发送POST请求发送PUT请求发送DELETE请求会话管理处理超时文件上传122BeautifulSoup-网页解析和抓取解析HTML和XML文档查找单个标签查找多个标签使用CSS选择器查找标签提取文本修改文档内容删除标签处理XML文档123Scrapy-强大的网络爬虫框架示例
前端CSS面试常见题
剑亦未配妥
前端面试 前端 css 面试
边界塌陷盒模型有两种:W3C盒模型和IE盒模型,区别在于宽度是否包含边框定义:同时给兄弟/父子盒模型设置上下边距,理论上边距值是两者之和,实际上不是注意:浮动和定位不会产生边界塌陷;只有块级元素垂直方向才会产生margin合并margin计算方案margin同为正负:取绝对值大的值一正一负:求和父子元素边界塌陷解决父元素可以通过调整padding处理;设置overflowhidden,触发BFC子
爬虫技术抓取网站数据
Bearjumpingcandy
爬虫
爬虫技术是一种自动化获取网站数据的技术,它可以模拟人类浏览器的行为,访问网页并提取所需的信息。以下是爬虫技术抓取网站数据的一般步骤:发起HTTP请求:爬虫首先会发送HTTP请求到目标网站,获取网页的内容。解析HTML:获取到网页内容后,爬虫会使用HTML解析器解析HTML代码,提取出需要的数据。数据提取:通过使用XPath、CSS选择器或正则表达式等工具,爬虫可以从HTML中提取出所需的数据,如文
七.正则化
愿风去了
吴恩达机器学习之正则化(Regularization)http://www.cnblogs.com/jianxinzhou/p/4083921.html从数学公式上理解L1和L2https://blog.csdn.net/b876144622/article/details/81276818虽然在线性回归中加入基函数会使模型更加灵活,但是很容易引起数据的过拟合。例如将数据投影到30维的基函数上,模
创建一个完整的购物商城系统是一个复杂的项目,涉及前端(用户界面)、后端(服务器逻辑)、数据库等多个部分。由于篇幅限制,我无法在这里提供一个完整的系统代码,但我可以分别给出一些关键部分的示例代码,涵盖几
uthRaman
前端 ui 服务器
前端(HTML/CSS/JavaScript)grsyzp.cnHTML页面结构(index.html)html购物商城欢迎来到购物商城JavaScript(Ajax请求商品数据,app.js)javascriptdocument.addEventListener('DOMContentLoaded',function(){fetch('/api/products').then(response=
scala的option和some
矮蛋蛋
编程 scala
原文地址:
http://blog.sina.com.cn/s/blog_68af3f090100qkt8.html
对于学习 Scala 的 Java™ 开发人员来说,对象是一个比较自然、简单的入口点。在 本系列 前几期文章中,我介绍了 Scala 中一些面向对象的编程方法,这些方法实际上与 Java 编程的区别不是很大。我还向您展示了 Scala 如何重新应用传统的面向对象概念,找到其缺点
NullPointerException
Cb123456
android BaseAdapter
java.lang.NullPointerException: Attempt to invoke virtual method 'int android.view.View.getImportantForAccessibility()' on a null object reference
出现以上异常.然后就在baidu上
PHP使用文件和目录
天子之骄
php文件和目录 读取和写入 php验证文件 php锁定文件
PHP使用文件和目录
1.使用include()包含文件
(1):使用include()从一个被包含文档返回一个值
(2):在控制结构中使用include()
include_once()函数需要一个包含文件的路径,此外,第一次调用它的情况和include()一样,如果在脚本执行中再次对同一个文件调用,那么这个文件不会再次包含。
在php.ini文件中设置
SQL SELECT DISTINCT 语句
何必如此
sql
SELECT DISTINCT 语句用于返回唯一不同的值。
SQL SELECT DISTINCT 语句
在表中,一个列可能会包含多个重复值,有时您也许希望仅仅列出不同(distinct)的值。
DISTINCT 关键词用于返回唯一不同的值。
SQL SELECT DISTINCT 语法
SELECT DISTINCT column_name,column_name
F
java冒泡排序
3213213333332132
java 冒泡排序
package com.algorithm;
/**
* @Description 冒泡
* @author FuJianyong
* 2015-1-22上午09:58:39
*/
public class MaoPao {
public static void main(String[] args) {
int[] mao = {17,50,26,18,9,10
struts2.18 +json,struts2-json-plugin-2.1.8.1.jar配置及问题!
7454103
DAO spring Ajax json qq
struts2.18 出来有段时间了! (貌似是 稳定版)
闲时研究下下! 貌似 sruts2 搭配 json 做 ajax 很吃香!
实践了下下! 不当之处请绕过! 呵呵
网上一大堆 struts2+json 不过大多的json 插件 都是 jsonplugin.34.jar
strut
struts2 数据标签说明
darkranger
jsp bean struts servlet Scheme
数据标签主要用于提供各种数据访问相关的功能,包括显示一个Action里的属性,以及生成国际化输出等功能
数据标签主要包括:
action :该标签用于在JSP页面中直接调用一个Action,通过指定executeResult参数,还可将该Action的处理结果包含到本页面来。
bean :该标签用于创建一个javabean实例。如果指定了id属性,则可以将创建的javabean实例放入Sta
链表.简单的链表节点构建
aijuans
编程技巧
/*编程环境WIN-TC*/ #include "stdio.h" #include "conio.h"
#define NODE(name, key_word, help) \ Node name[1]={{NULL, NULL, NULL, key_word, help}}
typedef struct node { &nbs
tomcat下jndi的三种配置方式
avords
tomcat
jndi(Java Naming and Directory Interface,Java命名和目录接口)是一组在Java应用中访问命名和目录服务的API。命名服务将名称和对象联系起来,使得我们可以用名称
访问对象。目录服务是一种命名服务,在这种服务里,对象不但有名称,还有属性。
tomcat配置
关于敏捷的一些想法
houxinyou
敏捷
从网上看到这样一句话:“敏捷开发的最重要目标就是:满足用户多变的需求,说白了就是最大程度的让客户满意。”
感觉表达的不太清楚。
感觉容易被人误解的地方主要在“用户多变的需求”上。
第一种多变,实际上就是没有从根本上了解了用户的需求。用户的需求实际是稳定的,只是比较多,也比较混乱,用户一般只能了解自己的那一小部分,所以没有用户能清楚的表达出整体需求。而由于各种条件的,用户表达自己那一部分时也有
富养还是穷养,决定孩子的一生
bijian1013
教育 人生
是什么决定孩子未来物质能否丰盛?为什么说寒门很难出贵子,三代才能出贵族?真的是父母必须有钱,才能大概率保证孩子未来富有吗?-----作者:@李雪爱与自由
事实并非由物质决定,而是由心灵决定。一朋友富有而且修养气质很好,兄弟姐妹也都如此。她的童年时代,物质上大家都很贫乏,但妈妈总是保持生活中的美感,时不时给孩子们带回一些美好小玩意,从来不对孩子传递生活艰辛、金钱来之不易、要懂得珍惜
oracle 日期时间格式转化
征客丶
oracle
oracle 系统时间有 SYSDATE 与 SYSTIMESTAMP;
SYSDATE:不支持毫秒,取的是系统时间;
SYSTIMESTAMP:支持毫秒,日期,时间是给时区转换的,秒和毫秒是取的系统的。
日期转字符窜:
一、不取毫秒:
TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS')
简要说明,
YYYY 年
MM 月
【Scala六】分析Spark源代码总结的Scala语法四
bit1129
scala
1. apply语法
FileShuffleBlockManager中定义的类ShuffleFileGroup,定义:
private class ShuffleFileGroup(val shuffleId: Int, val fileId: Int, val files: Array[File]) {
...
def apply(bucketId
Erlang中有意思的bug
bookjovi
erlang
代码中常有一些很搞笑的bug,如下面的一行代码被调用两次(Erlang beam)
commit f667e4a47b07b07ed035073b94d699ff5fe0ba9b
Author: Jovi Zhang <
[email protected] >
Date: Fri Dec 2 16:19:22 2011 +0100
erts:
移位打印10进制数转16进制-2008-08-18
ljy325
java 基础
/**
* Description 移位打印10进制的16进制形式
* Creation Date 15-08-2008 9:00
* @author 卢俊宇
* @version 1.0
*
*/
public class PrintHex {
// 备选字符
static final char di
读《研磨设计模式》-代码笔记-组合模式
bylijinnan
java 设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
import java.util.ArrayList;
import java.util.List;
abstract class Component {
public abstract void printStruct(Str
利用cmd命令将.class文件打包成jar
chenyu19891124
cmd jar
cmd命令打jar是如下实现:
在运行里输入cmd,利用cmd命令进入到本地的工作盘符。(如我的是D盘下的文件有此路径 D:\workspace\prpall\WEB-INF\classes)
现在是想把D:\workspace\prpall\WEB-INF\classes路径下所有的文件打包成prpall.jar。然后继续如下操作:
cd D: 回车
cd workspace/prpal
[原创]JWFD v0.96 工作流系统二次开发包 for Eclipse 简要说明
comsci
eclipse 设计模式 算法 工作 swing
JWFD v0.96 工作流系统二次开发包 for Eclipse 简要说明
&nb
SecureCRT右键粘贴的设置
daizj
secureCRT 右键 粘贴
一般都习惯鼠标右键自动粘贴的功能,对于SecureCRT6.7.5 ,这个功能也已经是默认配置了。
老版本的SecureCRT其实也有这个功能,只是不是默认设置,很多人不知道罢了。
菜单:
Options->Global Options ...->Terminal
右边有个Mouse的选项块。
Copy on Select
Paste on Right/Middle
Linux 软链接和硬链接
dongwei_6688
linux
1.Linux链接概念Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。默认情况下,ln命令产生硬链接。
【硬连接】硬连接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连
DIV底部自适应
dcj3sjt126com
JavaScript
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml&q
Centos6.5使用yum安装mysql——快速上手必备
dcj3sjt126com
mysql
第1步、yum安装mysql
[root@stonex ~]# yum -y install mysql-server
安装结果:
Installed:
mysql-server.x86_64 0:5.1.73-3.el6_5 &nb
如何调试JDK源码
frank1234
jdk
相信各位小伙伴们跟我一样,想通过JDK源码来学习Java,比如collections包,java.util.concurrent包。
可惜的是sun提供的jdk并不能查看运行中的局部变量,需要重新编译一下rt.jar。
下面是编译jdk的具体步骤:
1.把C:\java\jdk1.6.0_26\sr
Maximal Rectangle
hcx2013
max
Given a 2D binary matrix filled with 0's and 1's, find the largest rectangle containing all ones and return its area.
public class Solution {
public int maximalRectangle(char[][] matrix)
Spring MVC测试框架详解——服务端测试
jinnianshilongnian
spring mvc test
随着RESTful Web Service的流行,测试对外的Service是否满足期望也变的必要的。从Spring 3.2开始Spring了Spring Web测试框架,如果版本低于3.2,请使用spring-test-mvc项目(合并到spring3.2中了)。
Spring MVC测试框架提供了对服务器端和客户端(基于RestTemplate的客户端)提供了支持。
&nbs
Linux64位操作系统(CentOS6.6)上如何编译hadoop2.4.0
liyong0802
hadoop
一、准备编译软件
1.在官网下载jdk1.7、maven3.2.1、ant1.9.4,解压设置好环境变量就可以用。
环境变量设置如下:
(1)执行vim /etc/profile
(2)在文件尾部加入:
export JAVA_HOME=/home/spark/jdk1.7
export MAVEN_HOME=/ho
StatusBar 字体白色
pangyulei
status
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
/*you'll also need to set UIViewControllerBasedStatusBarAppearance to NO in the plist file if you use this method
如何分析Java虚拟机死锁
sesame
java thread oracle 虚拟机 jdbc
英文资料:
Thread Dump and Concurrency Locks
Thread dumps are very useful for diagnosing synchronization related problems such as deadlocks on object monitors. Ctrl-\ on Solaris/Linux or Ctrl-B
位运算简介及实用技巧(一):基础篇
tw_wangzhengquan
位运算
http://www.matrix67.com/blog/archives/263
去年年底写的关于位运算的日志是这个Blog里少数大受欢迎的文章之一,很多人都希望我能不断完善那篇文章。后来我看到了不少其它的资料,学习到了更多关于位运算的知识,有了重新整理位运算技巧的想法。从今天起我就开始写这一系列位运算讲解文章,与其说是原来那篇文章的follow-up,不如说是一个r
jsearch的索引文件结构
yangshangchuan
搜索引擎 jsearch 全文检索 信息检索 word分词
jsearch是一个高性能的全文检索工具包,基于倒排索引,基于java8,类似于lucene,但更轻量级。
jsearch的索引文件结构定义如下:
1、一个词的索引由=分割的三部分组成: 第一部分是词 第二部分是这个词在多少