js学习:arguments

arguments定义

所有的函数都有一个自己的arguments对象,用来储存它实际接受到的参数,而不局限于函数声明时所定义的参数列表。它不是数组却类似数组,具有数组一样的访问性质及方式,可以由arguments[n]来访问对应的单个参数的值,并拥有数组长度属性length。但是却不具有数组的一些方法。可以通过call把arguments转化成真正的数组,然后进行数组的操作。

var args = Array.prototype.slice.call(arguments);

未完,继续阅读

浏览器兼容性问题及解决方案

一、网页背景半透明

网页背景半透明

opacity:0.8;
filter:"progid:DXImageTransform.Microsoft.Alpha(opacity=80)";

IE6中CSS方法解决PNG图片半透明问题:

#DIVname {
      width: 300px;
      height: 99px;
      background: url('images/top.png') no-repeat top;
      *background: none;
      *filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled='true', sizingMethod='corp', src='template/flower/images/top.png');
}

二、清除浮动

.clearfix:after{content:"."; display:block; height:0; clear:both; visibility:hidden}
.clearfix{display:inline-block}
.clear{height:0; line-height:0; font-size:0; overflow:hidden; clear:both; display:block;}
*html .clearfix{height:1%;}
.clearfix{display:block;}

三、浮动IE6双边距

1、为浮动元素使用display:inline;

2、IE6下3px间距bug:在IE6中,当文本(或无浮动元素)跟在一个浮动的元素之后,文本和这个浮动元素之间会多出3px的间隔,给浮动层添加display:inline或设计-3px的间距来解决这个bug。

3像素间距bug 

详细出处参考:http://www.jb51.net/css/76894.html

四、div+css中最小高度min-height
方法一:

#DIVname {
      min-height:150px;
      *height:auto!important;
      _height:150px;
       overflow:visible;
}

方法二:

#DIVname {
      min-height:1000px;
      _height:expression((document.documentElement.clientHeight||document.body.clientHeight)>1000?"1000px":"");
}

五、IE下z-index 的 bug
一般来讲,ie对父级的要求比较高,如果父级有position属性,但是没有给z-index属性,那默认都是0,所以不论子集里面有多高的z-index属性,都是没用的。
所以一般情况下,需要给包含z-index属性的父级一个z-index:1的属性,这样可以解决很多莫名其妙的问题。
六、IE6调整窗口大小的bug

当把body居中放置,改变IE浏览器大小的时候,任何在body里面的相对定位元素就会固定不动了,解决方法是给body定义position:relative;就行了。

七、文字大小和行高不兼容

同样大小的相同字体,各浏览器下行高和大小不一样,需要设定line-height。

八、mirror margin bug

在IE6下,当外层元素内有float元素时,外层元素如定义margin-top:5px,将自动 生成margin-bottom:5px,padding也会出现类似问题,解决方案:外层元素设定border或float。

九、img下的留白

在html里面有:

<div>
<img src=”" mce_src=”" />
</div>

<img …/>时,会发现图片底部不是紧贴着容器底部的,是img后面的空白字符造成,要消除必须这样写:

<div>
<img src=”" mce_src=”" /></div>

后面两个标签要紧挨着。IE7下这个bug依然存在,解决方案:display:block。

十、图片和文字同行

大家知道img 的align 有 text-top,middle,absmiddle啊什么的,你可以尝试去调整img 和文字让他们在ie和ff下能一致,你会发现怎么调都不会让你满意。索性让img 和文字都 float起来,用margin 调整。

失去line-height。<div style=”line-height:20px”><img />文字</div>,很遗憾,在ie6下单行文字 line-height 效果消失了。。。,原因是<img />这个inline-block元素和inline元素写在一起了。解决方案:让img 和文字都 float起来。

十一、CSS盒模型

http://www.rainleaves.com/html/1744.html

十二、

SVN如何支持匿名用户访问

方法一
在svn安装目录下找到,conf/httpd.conf文件,如果是手动集成apache的则找到apache的配置文件。
找到中的

Require valid-user

改为

<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>

重启服务,这样设置以后,svn下的所有内容都不在需要验证用户,可以直接访问。
缺点:svn自身的访问权限设置失效了。更多的时候我们希望用户先用匿名方式尝试访问,如果不行,在输入用户名和密码验证访问。

方法二
在配置文件中加入

Satisfy Any

加入了Satisfy Any的设置,其表示在同时启用了Allow(允许)和Require的情况下,指定相关策略的,一共有两个备选值,All表示用户必须同时满足Allow和Require的条件,而Any则是满足其中之一即可。

Satisfy Any表示允许先用匿名方式尝试访问,并根据svnauthz对匿名用户的控制给予访问权限。

参考内容 http://www.uml.org.cn/pzgl/200908078.asp

ps 颜色渐变

最近发现很多设计都在运用颜色渐变,今天我自己运用一些简单的方法来设计出一组背景色,和大家分享一下。主要是运用HSB模式来调色,可能很多人用习惯了RGB,对HSB不太适应,但是如果认真去研究一下会发现,这种颜色模式对调色来说,变得非常容易,而且易于理解,本人是相当喜欢。

颜色渐变的方式大概有两种:一是相同色相,改变饱和度或者亮度;二是相同的饱和度或亮度,改变色相。以下是我选的一些颜色,希望大家多提意见。


未完,继续阅读

css3 calc()自适应布局

我们想要实现页面自适应布局时,通常因为margin的存在,而比较麻烦;有时候想要实现宽度自适应的输入框时,也因为padding或margin的存在,而相当繁琐,同时由于浏览器兼容性而导致最终效果不一致。css3新添加属性box-sizing,在一定程度上解决了上面的问题,而在今天的文章中我们来通过css3新增加的另外一个属性calc()来实现适应布局。

calc()是css3新添加属性,它可以让你使用一个算术表达式来表达长度值,这意味着可以用它来定义div的宽度,并设置margin、padding、border等。

calc()的运算规则

  • 使用”+”、”-”、”*”、”/”四则运算;
  • 可以使用百分比、px、em、rem等单位;
  • 可以混合使用各种单位进行计算。

未完,继续阅读

盒模型及IE盒模型中的bug

盒模型

在网页制作中,css盒模型是div布局的核心,每个元素都是以块的形式来展现。在CSS中,它将页面中的每一个段落、标题、图片等元素都看成是一个装在盒子里的东西,也就是盒子里的内容。比较让人好理解一些的一个比喻是一个大纸盒子里装了一块方形的面包,面包就是一个段落、一个标题或者一幅图片,面包比盒子要小一些。面包的边缘到盒子侧边的距离就是CSS中的内边距属性(Padding),盒子的侧面四个边形成的边框就是CSS中的Border属性,而一个网页中有很多段落、标题、图片,也就是有很多这样的盒子,这些盒子和盒子之间的距离就是CSS中的外边距属性(margin)。它的计算方式如下图所示:

未完,继续阅读

css3教程:box-sizing属性

说到 IE 的 bug,在 IE6以前的版本中,IE对盒模型的解析出现一些问题,跟其它浏览器不同,将 border 与 padding 都包含在 width 之内。而另外一些浏览器则与它相反,是不包括border和padding的。

在我们开发的过程中会发现,有时候,如果对页面中的大区域进行设置时,将border、padding计算到width和height之内,反而更灵活。但W3C的 CSS2.1规范却规定了他们并不能被包含其中。考虑到这个问题,css3中引入了一个新的属性:box-sizing,它具有“content-box”和”border-box“两个值。
未完,继续阅读

apache屏蔽soso蜘蛛

前面写了一个nginx下添加禁止访问IP列表,屏蔽soso蜘蛛,想想apache下也有这个需求。直接贴配置屏蔽soso蜘蛛,IP段还是那些。
禁止soso蜘蛛IP

<Directory "/usr/local/apache2/cgi-bin"> #主机跟目录
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
    Deny from 113.108.12.154 124.115.0.0/24 124.115.4.0/24 #soso蜘蛛IP列表
</Directory>