自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 收藏
  • 关注

转载 CSS层叠顺序与层叠上下文

层叠顺序和层叠上下文是两个概念,但它们又有着密不可分的关系,层叠顺序很简单,认真思考即可,而堆栈上下文更是不值一提,我只需要迁根红线你就懂了,所有说,都太简单。第一段说难懂,主要是有了这篇文章,才化解位移。  在考虑到两个元素可能重合的情况下,W3C提出了层叠这个概念,层叠是指如何去层叠另一个元素,比如两个元素重合的时候应该让谁在前面,谁在后面。那它们的规则又是什么?先来试水。   层叠顺序篇

2017-06-25 20:20:39 538 1

转载 SEO之HTML优化:让你的网站HTML代码更符合SEO规范

摘要   HTML优化是网站内部优化的重点,可能对SEO新手来说,容易忽略。符合搜索引擎习惯的HTML代码是极利于SEO的,可以让你的网站获得更好的搜索引擎排名。如何制作一个标准的HTML网页,如何做HTML优化,本文将为你详细阐述。  一直想写下SEO中关于HTML优化方面的的文章,总算空出这部分时间来了。其实,HTML优化应该是网站内部优化的重点,每个SEOer都需高度重视。根据本人多年实战经

2017-06-25 19:49:45 2041

转载 理解HTML语义化

1、什么是HTML语义化?  (基本上都是围绕着几个主要的标签,像标题(H1~H6)、列表(li)、强调(strong em)等等)  根据内容的结构化(内容语义化),选择合适的标签(代码语义化)便于开发者阅读和写出更优雅的代码的同时让浏览器的爬虫和机器很好地解析。  2、为什么要语义化?为了在没有CSS的情况下,页面也能呈现出很好地内容结构、代码结构;用户体验:例如title、alt用于解释名

2017-06-25 19:40:38 445

转载 CSS中伪类及伪元素用法详解

http://www.cnblogs.com/ghost-xyx/p/3763669.html

2017-06-25 19:33:37 423

原创 IE6下margin双倍边距Bug的处理办法

一、什么是双边距Bug?  先来看图:   我们要让绿色盒模型在蓝色盒模型之内向左浮动,并且距蓝色盒模型左侧100像素。这个例子很常见,比如在网页布局中,侧边栏靠左侧内容栏浮动,并且要留出内容栏的宽度。要实现这样的效果,我们给绿色盒模型应用以下CSS属性:.floatbox { float: left; width: 150px; height: 150px;

2017-06-25 19:29:54 358

原创 如何居中一个设置了浮动的元素

对于一个没有浮动的元素,我们通常可以通过对其设置margin:0 auto;来实现元素的居中,但是这个方法对于浮动元素却失去了作用,其实我们可以理解的是,在脱离文档流后,浮动的力量其实就是auto的力量,所以他它会自动向左浮动。  那么,此情此景,应该怎么样来实现居中的效果呢?仔细考虑,会有这样一个方法。  首先给此元素设置一个宽度值,先设置它的 margin-left:50%,这个时候元素的左边缘

2017-06-25 18:48:11 3301

原创 CSS清除浮动使父级元素展开

一个没有设置高度的容器div内如果存在浮动元素(即使用了属性float:left或者float:right),那么该父级元素会无法展开,下面用三种方法解决:   源代码为:   <!DOCTYPE html><html><head> <title>清除子元素的浮动</title> <style type="text/css"> .content{

2017-06-25 18:41:37 1002

原创 剑指offer--面试题35:第一个只出现一次的字符

在一个字符串(1<=字符串长度<=10000,全部由大小写字母组成)中找到第一个只出现一次的字符,并返回它的位置   public class FirstNotRepeatingCharSolution { //哈希表实现 public int FirstNotRepeatingChar(String str) { if(str.length()==0){

2017-05-31 17:57:39 251

原创 剑指offer--面试题4:替换空格

请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。   public class replaceSpaceSolution { public String replaceSpace(StringBuffer str) { if(str == null){

2017-05-31 17:54:36 226

原创 剑指offer---面试题3:二维数组中的查找

在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。   public class FindSolution { public boolean Find(int target, int [][] array) { //一次消除一行或者一列

2017-05-31 17:48:30 349

转载 php 5.3.9 + apache 2.2.17安装配置教程

配置PHP版本是最新的php5.3.9,大家可以从官方网站下载最新版本,关于MySql和Apache的安装,本文不再赘述,下面主要介绍MySQl 5.1、Apache 2.2安装以及相互配置。   首先介绍一下php各版本之间的区别,php版本后面一般有VC6和VC9、Thread Safe和Non Thread Safe的区别,VC6就是legacy Visual Studio 6 compil

2017-05-31 12:11:37 1178

转载 MySQL安装未响应解决方法

安装MySQL出示未响应,一般显示在安装MySQL程序最后一步的2,3项就不动了。  这种情况一般是你以前安装过MySQL数据库服务项被占用了。   解决方法:   一种方法:你可以安装MySQL的时候在这一步时它默认的服务名是“MySQL” 只需要把这个名字改了就可以了。  二种方法:1、卸载MySQL 2、删除安装目录及数据存放目录 3、在注册表(regedit)查询mysql,全部

2017-05-31 11:38:40 710

原创 没有谁是一座孤岛——《岛上书店》

我也希望有一个建在一座安静、漂亮的小岛上的书店。   这本书语言幽默、温柔、浪漫、略带悬疑,它不是一本让人轻易能放下的书。想象在那个与世隔绝的爱丽丝小岛上有个经营惨淡的书店。书店的老板是一个叫A.J.的内心孤僻的男人。好像命运从未眷顾过他,爱妻因车祸去世,书店陷入危机,就连唯一值钱的宝贝《帖木儿》也遭窃。自此他的人生陷入僵局,他的内心沦为荒岛,他的人生毫无乐趣——每天靠吃各种速冻食品、读书度日,

2017-05-31 11:14:28 587

原创 Javascript基础复习(二)

1、ECMAScript的变量是松散类型,严格区分大小写。 2、用var操作符定义的变量将成为定义该变量的作用域中的局部变量;省略var操作符,会创建一个全局变量。 3、常用函数Boolean():所有类型的值都有与true和false值对等的值。用于将一个值转换为其对等的Boolean值;isNaN(a):确定参数a是否“不是数值”;Number():数值转换函数;parseInt()

2017-05-31 11:08:14 320

原创 Javascript基础复习(一)

1、js作为为Web增加的统一脚本支持的原因是:如何做到让JS既能与HTML页面共存,又不影响那些页面在浏览器中的呈现效果 2、<script>标签有两种使用方式: 直接在页面中嵌入JS代码:只需指定type=”text/javascript”属性 包含外部JS文件:src属性是必须的 3、包含在<script>元素内部的JS代码将从上到下依

2017-05-31 11:02:27 424

原创 jquery动态添加元素无法触发绑定的事件的解决方案。

最近遇到一个问题,即当用jquery动态添加元素后,发现给动态添加的元素却无法触发事件。后来在网上查阅了一些资料,发现原来要这样处理:  先上我出错的代码:   <!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title></title> <link rel="stylesheet" href=

2017-05-28 22:16:22 4281 1

原创 深入理解盒子——模型文本垂直居中的N种方法 单行/多行文字(未知高度/固定高度)

文本垂直居中方法比较常用,比如一定高度的盒子中,未知高度的盒子等常用于总结下文本垂直居中的以下方法:   1.单行文本垂直居中: 如果一个容器中只有一行文字,对它实现居中相对比较简单,我们只需要设置它的实际高度height和所在行的高度line-height相等即可。如:div{ height:25px; line-height:25px; }   2.(未知高度)多

2017-05-28 21:56:00 5545 1

原创 深入理解盒子模型——CSS 盒模型Block box与Line box

在上一篇想要清晰的明白(一): CSS视觉格式化模型|盒模型|定位方案|BFC比较宏观的了解了盒子模型的作用,接下来就详细的介绍两种盒子的具体细节。   Block Box   display : block 、 list-item 以及 table 会让一个元素成为块级元素。  在Block Box中,会被水平格式化,垂直格式化,那我们就分垂直和水平来讲讲.   水平格式化   如何计

2017-05-28 21:29:04 5038

原创 深入理解盒子模型——CSS之BFC详解

首先我们看看w3c对BFC是怎么定义的:   Floats, absolutely positioned elements, block containers (such as inline-blocks, table-cells, and table-captions) that are not block boxes, and block boxes with ‘overflow’ other

2017-05-28 21:10:58 4520

原创 深入理解盒子模型——CSS视觉格式化模型|盒模型|定位方案|BFC

视觉格式化模型  页面(文档树)可以想象成是由一个个的Box组合而成的,而视觉格式化模型(Visual formatting model)是一套规则,将这些框布局成访问者看到的样子。      哪些因素控制了这些布局     1. 盒的尺寸和类型    2. 定位体系 Positioning Scheme (常规流,浮动和绝对定位)    3. 文档树中元素之间的关系

2017-05-28 21:03:50 839

原创 深入理解javascript原型和闭包(15)——闭包

前面提到的上下文环境和作用域的知识,除了了解这些知识之外,还是理解闭包的基础。   至于“闭包”这个词的概念的文字描述,确实不好解释,我看过很多遍,但是现在还是记不住。   但是你只需要知道应用的两种情况即可——函数作为返回值,函数作为参数传递。   第一,函数作为返回值   如上代码,bar函数作为返回值,赋值给f1变量。执行f1(15)时,用到了fn作用域下的max变量的值。至于如何

2017-05-28 19:56:28 378

原创 深入理解javascript原型和闭包(14)——从【自由变量】到【作用域链】

先解释一下什么是“自由变量”。   在A作用域中使用的变量x,却没有在A作用域中声明(即在其他作用域中声明的),对于A作用域来说,x就是一个自由变量。如下图             如上程序中,在调用fn()函数时,函数体中第6行。取b的值就直接可以在fn作用域中取,因为b就是在这里定义的。而取x的值时,就需要到另一个作用域中取。到哪个作用域中取呢? 有人说过要到父作用域中取,其实有时候这种

2017-05-28 19:25:03 223

原创 深入理解javascript原型和闭包(13)-【作用域】和【上下文环境】

上文简单介绍了作用域,本文把作用域和上下文环境结合起来说一下,会理解的更深一些。          如上图,我们在上文中已经介绍了,除了全局作用域之外,每个函数都会创建自己的作用域,作用域在函数定义时就已经确定了。而不是在函数调用时确定。       第一步,在加载程序时,已经确定了全局上下文环境,并随着程序的执行而对变量就行赋值。      第二步,程序执行到第27行,调用fn(10)

2017-05-28 19:20:27 284

转载 深入理解javascript原型和闭包(12)——简介【作用域】

提到作用域,有一句话大家(有js开发经验者)可能比较熟悉:“javascript没有块级作用域”。所谓“块”,就是大括号“{}”中间的语句。例如if语句:      再比如for语句:      所以,我们在编写代码的时候,不要在“块”里面声明变量,要在代码的一开始就声明好了。以避免发生歧义。如:     其实,你光知道“javascript没有块级作用域”是完全不够的,你需要知道的是——

2017-05-28 19:12:10 328

转载 深入理解javascript原型和闭包(11)——执行上下文栈

执行全局代码时,会产生一个执行上下文环境,每次调用函数都又会产生执行上下文环境。当函数调用完成时,这个上下文环境以及其中的数据都会被消除,再重新回到全局上下文环境。处于活动状态的执行上下文环境只有一个。   其实这是一个压栈出栈的过程——执行上下文栈。如下图:      可根据以下代码来详细介绍上下文栈的压栈、出栈过程。      如上代码。  在执行代码之前,首先将创建全局上下文环境。

2017-05-28 19:06:33 246

转载 深入理解javascript原型和闭包(10)——this

接着上一节讲的话,应该轮到“执行上下文栈”了,但是这里不得不插入一节,把this说一下。因为this很重要,js的面试题如果不出几个与this有关的,那出题者都不合格。  其实,this的取值,分四种情况。我们来挨个看一下。 在此再强调一遍一个非常重要的知识点:在函数中this到底取何值,是在函数真正被调用执行的时候确定的,函数定义的时候确定不了。因为this的取值是执行上下文环境的一部分,每次调

2017-05-28 18:58:08 213

原创 深入理解javascript原型和闭包(9)——简述【执行上下文】下

上一篇我们讲到在全局环境下的代码段中,执行上下文环境中有如何数据:  • 变量、函数表达式——变量声明,默认赋值为undefined;  • this——赋值;  • 函数声明——赋值;  如果在函数中,除了以上数据之外,还会有其他数据。先看以下代码:      以上代码展示了在函数体的语句执行之前,arguments变量和函数的参数都已经被赋值。从这里可以看出,函

2017-05-28 18:36:54 216

翻译 深入理解javascript原型和闭包(8)——简述【执行上下文】上

什么是“执行上下文”(也叫做“执行上下文环境”)?暂且不下定义,先看一段代码:   第一句报错,a未定义,很正常。第二句、第三句输出都是undefined,说明浏览器在执行console.log(a)时,已经知道了a是undefined,但却不知道a是10(第三句中)。 在一段js代码拿过来真正一句一句运行之前,浏览器已经做了一些“准备工作”,其中就包括对变量的声明,而不是赋值。变量赋值是在

2017-05-28 18:15:07 220

原创 深入理解javascript原型和闭包(7)——原型的灵活性

在Java和C#中,你可以简单的理解class是一个模子,对象就是被这个模子压出来的一批一批月饼(中秋节刚过完)。压个啥样,就得是个啥样,不能随便动,动一动就坏了。   而在javascript中,就没有模子了,月饼被换成了面团,你可以捏成自己想要的样子。  首先,对象属性可以随时改动。   对象或者函数,刚开始new出来之后,可能啥属性都没有。但是你可以这会儿加一个,过一会儿在加两个,非常灵活

2017-05-28 18:02:54 288

原创 深入理解javascript原型和闭包(6)——继承

为何用“继承”为标题,而不用“原型链”?   原型链如果解释清楚了很容易理解,不会与常用的java/C#产生混淆。而“继承”确实常用面向对象语言中最基本的概念,但是java中的继承与javascript中的继承又完全是两回事儿。因此,这里把“继承”着重拿出来,就为了体现这个不同。  javascript中的继承是通过原型链来体现的。先看几句代码   function Foo(){}var f1

2017-05-28 17:39:22 349

翻译 深入理解javascript原型和闭包(5)——instanceof

对于值类型,可以通过typeof判断string/number/boolean,都很清楚,但是typeof在判断到引用类型的时候,返回值只有object/function,你不知道它到底是一个object对象,还是数组,还是new Number等等。  这个时候就需要用到instanceof。例如:function Foo(){}var f1 = new Foo();console.log(f1

2017-05-28 17:11:56 273

转载 深入理解javascript原型和闭包(4)——隐式原型

上节已经提到,每个函数function都有一个prototype,即原型。这里再加一句话——每个对象都有一个__proto__,可成为隐式原型。  这个__proto__是一个隐藏的属性,javascript不希望开发者用到这个属性值,有的低版本浏览器甚至不支持这个属性值。所以你在Visual Studio 2012这样很高级很智能的编辑器中,都不会有proto的智能提示,但是你不用管它,直接写出来

2017-05-28 12:32:19 238

转载 深入理解javascript原型和闭包(3)——prototype原型

深入理解javascript原型和闭包(1)——一切都是对象中说道,函数也是一种对象。他也是属性的集合,你也可以对函数进行自定义属性。   不用等咱们去试验,javascript自己就先做了表率,人家就默认的给函数一个属性——prototype。对,每个函数都有一个属性叫做prototype。   这个prototype的属性值是一个对象(属性的集合,再次强调!),默认的只有一个叫做constr

2017-05-28 12:20:38 325

翻译 深入理解javascript原型和闭包(2)——函数和对象的关系

上文理解javascript原型和作用域系列(1)——一切都是对象已经提到,函数就是对象的一种,因为通过instanceof函数可以判断。var fn = function () { };console.log(fn instanceof Object); // true  对!函数是一种对象,但是函数却不像数组一样——你可以说数组是对象的一种,因为数组就像是对象的一个子集一样。但是函数与对象之

2017-05-28 11:52:41 281

翻译 深入理解javascript原型和闭包(1)——一切都是对象

深入理解javascript原型和闭包(1)——一切都是对象 “一切都是对象”这句话的重点在于如何去理解“对象”这个概念。——当然,也不是所有的都是对象,值类型就不是对象。   首先咱们还是先看看javascript中一个常用的函数——typeof()。typeof函数输出的一共有几种类型,在此列出:   function show(x) {   console.log(typeof(x));

2017-05-28 11:38:04 308

原创 《疯狂JAVA讲义》——聊天系统(2)

接着《疯狂JAVA讲义》——聊天系统(1)完成更加完善的版本。Chat0.7版功能:实现客户端给服务器发送消息以及服务器接收消息。代码:客户端:、服务器端:实现效果:Chat0.8版功能:在Chat0.7版的基础上实现在酷虎端上可以完成多次消息的发送(通过循环)代码:实现效果:C

2016-06-21 21:42:09 389

原创 《疯狂JAVA讲义》——聊天系统(1)

《疯狂JAVA讲义》这本书也看了一段时间了,利用最近看过的基本内容以及网络上的各种资料做了一个小项目——聊天系统。做这个系统的过程中体会到项目的实现过程是一个一个小功能的实现过程。Chat0.1版    功能:实现客户端窗口  代码:实现效果:Chat0.2版功能:在Chat0.1版的基础上增加组件,完善窗体代码:实现效果:Chat0.3

2016-06-21 19:47:15 398

原创 《谁的青春不迷茫》——其实我们都一样

部分经典台词一场无悔青春,不过是 不要脸 拼了命 尽了兴宇宙那么大,地球那么小,我相信我们会遇到的。你现在所做的真的是你自己喜欢并且想做的吗?越沉重,越要飞翔。以前以为成功了才是自由,后来才发现,真正面对了自我才是自由。其实我挺羡慕你的,想飞就能飞起来,我呢,有些事,连试试的勇气都没有。   不要把全世界都放在肩上,去做自己喜欢的吧你的人生是给别人看的,我们不用。一个人越想跟上

2016-06-09 16:57:25 1998

原创 《疯狂Java讲义》——用JAVA实现五子棋

在学习完《JAVA疯狂讲义》第四章流程控制和数组后,自己想利用现学的东西编一个稍微有意义的东西。在这章最后一节提到利用数组可以实现一些小游戏,比如功能简单的五子棋。看了一下书上提供的代码,不懂得东西很多,比如异常的抛出,读取用户键盘输入等知识。初级篇    在稍微学习了一下本书第七章和第十章之后,终于能看懂这个代码了。然后自己凭着对代码的理解,实现了一下。第一步:实现在控制台上输出棋盘

2016-06-09 15:18:25 6887 1

原创 《疯狂Java讲义》——数据类型

Java语言分为两种数据类型:基本数据类型和引用数据类型(Java中不再使用指针这个词,其实引用数据变量就是一个指针)。基本数据类型分为8种4类,分别为(整数类型【byte, short, int, long】,字符类型【char】,浮点类型【float, double】,布尔类型【boolean】)引用数据类型包括类、接口和数组。   其中整数类型的数值有四种表示方式:二进制、八

2016-05-30 15:06:54 296

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除