Archive for the ‘网站建设’ category

怎样用.htaccess屏蔽IP

January 13th, 2010

首先强调一下这与爱国无关。

出于不同原因,很多站长需要封禁中国ip,特别是做英文站的朋友。因为对于Google AdSense来说,中文ip是低价的代名词。

屏蔽ip段很简单,在.htaccess里加入:

order allow,deny
# 禁止一个ip地址
deny from 123.125.125.147

# 禁止一个ip段
deny from 210.145.95.0/255

# 或者你需要在这ip段中允许部分ip
allow from 210.145.95.123

# 除此之外一切均可以访问
allow from all

了解了.htacess的deny ip用法后,我们只需要有中国ip就能解决问题了。上Google找了一圈发现这个叫做 Stop Traffic From China IP Address Blocks To Protect Your Web Server From Chinese Hackers的文章,其文章已经通过.htaccess对中国ip实行封禁,所以要访问的话得翻墙了(推荐一个在线代理)。这篇文章的初衷在于限制国内ip来防止中国黑客攻击,看来中国黑客还是比较有名的啊,同样有名的还有俄罗斯的,呵呵。

文章给出了.htaccess全文来限制中国及中国周边国家的ip,文中将台湾写成中国的邻国,俺改了一下下:) (中国ip中最后三个ip段为台湾省ip):

# This blocklist was last updated on Saturday, 17-May-2008 09:43:34 MDT
# 最新更新时间:2008-05-17
order deny,allow

# Chinese IP addresses follow:
# 中国ip地址
deny from 58.22.0.0/15 58.56.0.0/15 58.58.0.0/16 58.59.0.0/17 58.60.0.0/14 58.82.0.0/15 58.208.0.0/12 58.246.0.0/15 58.248.0.0/13 59.32.0.0/13 59.40.0.0/15 59.42.0.0/16 59.56.0.0/13 60.12.0.0/16 60.28.0.0/15 60.160.0.0/11 60.194.0.0/15 60.208.0.0/13 60.216.0.0/15 61.4.64.0/20 61.48.0.0/13 61.128.0.0/10 61.135.0.0/16 61.145.73.208/28 61.179.0.0/16 61.183.0.0/16 61.184.0.0/16 61.185.219.232/29 61.188.0.0/16 61.232.0.0/14 61.236.0.0/15 118.132.0.0/14 119.18.192.0/20 121.32.0.0/14 123.4.0.0/14 124.42.64.0/18 124.236.0.0/14 125.40.0.0/13 159.226.0.0/16 202.66.0.0/16 202.96.0.0/12 202.96.128.0/18 202.108.0.0/16 203.69.0.0/16 203.169.160.0/19 210.5.0.0/19 210.14.128.0/19 210.21.0.0/16 210.51.0.0/16 210.192.96.0/19 211.76.96.0/20 211.78.208.0/20 211.90.0.0/15 211.136.0.0/13 211.233.70.0/24 211.144.12.0/22 211.144.160.0/20 211.152.14.0/24 211.154.128.0/19 211.157.32.0/19 211.161.24.128/26 218.0.0.0/11 218.56.0.0/13 218.64.0.0/11 218.88.0.0/13 218.96.0.0/14 218.102.0.0/16 218.104.136.128/25 218.242.0.0/16 219.128.0.0/11 219.232.0.0/19 220.160.0.0/11 220.181.0.0/16 220.192.0.0/12 220.228.70.0/24 220.248.0.0/14 220.250.0.0/19 220.252.0.0/16 221.10.0.0/16 221.11.0.0/16 221.192.0.0/14 221.208.0.0/14 221.212.0.0/16 221.216.0.0/13 221.224.0.0/13 221.228.0.0/14 221.238.0.0/15 222.32.0.0/11 222.76.0.0/14 222.80.0.0/12 222.136.0.0/13 222.166.0.0/16 222.168.0.0/15 222.172.222.0/24 222.184.0.0/13

# Japan (hacking, scraping, or spamming)
deny from 218.225.179.0/24

# Korea IP addresses follow:
# 韩国ip
deny from 58.72.0.0/13 58.239.0.0/16 58.140.0.0/14 59.0.0.0/11 59.86.192.0/18 59.186.0.0/15 61.96.0.0/12 61.248.0.0/13 116.120.0.0/13 118.32.0.0/11 118.128.0.0/14 121.128.0.0/10 122.99.128.0/17 123.111.48.0/20 124.0.0.0/15 124.50.87.161 125.128.0.0/11 125.176.0.0/12 125.240.0.0/13 143.248.0.0/16 202.179.176.0/21 210.93.0.0/16 210.94.0.0/15 210.118.216.192/26 210.205.219.0/24 211.32.0.0/12 211.48.0.0/15 211.104.0.0/13 211.112.0.0/13 211.168.0.0/14 211.172.0.0/14 211.176.0.0/12 211.192.0.0/13 211.211.36.0/23 211.232.0.0/13 211.240.0.0/12 218.38.34.0/24 218.144.138.0/26 218.147.0.0/16 219.240.0.0/15 219.248.0.0/13 219.250.88.0/21 220.73.22.160/27 220.95.88.0/24 221.128.0.0/12 221.144.0.0/12 221.160.0.0/13 221.168.0.0/16 221.163.46.0/24 222.96.0.0/12 222.112.0.0/13 222.120.0.0/15 222.122.0.0/16 59.124.0.0/14 203.71.0.0/16 203.72.0.0/16

# Neighboring Asian countries:
# 临近亚洲国家和地区

# Malaysia
# 马来群岛
deny from 60.48.0.0/14 60.52.0.0/15 60.54.0.0/16 124.217.224.0/19 202.58.80.0/20 202.71.96.0/20 202.75.32.0/19 203.223.128.0/19 210.187.49.0/25 218.111.0.0/16 218.208.12.64/27

# Philippines
# 菲律宾

deny from 85.92.152.0/21 222.127.32.0/19 222.127.64.0/19

# Singapore
# 新加坡
deny from 59.189.0.0/16 116.14.0.0/15 165.21.0.0/16 219.74.0.0/16 219.75.0.0/17

# Thailand
# 泰国
deny from 58.9.0.0/16 58.137.13.0/24 61.19.64.0/18 117.47.0.0/16 202.28.0.0/15 202.44.135.0/24 203.107.142.0/24 203.113.13.0/24 202.143.128.0/18 203.144.128.0/17 203.148.128.0/17 203.149.0.0/18 203.150.128.0/17 203.151.38.0/24 203.155.0.0/16 203.172.128.0/17 222.123.0.0/16

# Vietnam
# 越南
deny from 58.187.112.0/20 125.234.0.0/15 203.113.128.0/18 203.162.0.0/16

# End Chinese/Korean blocklist
# 中国/韩国 禁止列表 结束
# Add other blocked domain names or IP addresses here, starting with “deny from ” without quotes
# 这里添加其他你需要禁用的ip地址或者郁闷,用 “deny from” (不包含引号)

# If you find that you need to poke a hole in the blocklist, for legitimate visitors, follow this example: allow from 123.456.789.0
# 如果需要添加例外的话,使用 allow from, 例如:allow from 123.456.789.0

# Add “allow from” IP addresses, or CIDR Ranges, after all of the “deny from” items, just before the closing Files tag.
# 在 Files 标签结束前,全部 “deny from” 后,添加 “allow from” 来增加特例

# Everything not included within these deny from ranges is PERMITTED by the allow portion of the directive.
# 本文中没有添加的ip或者ip段即为可以访问ip

# This prevents web browsers or spiders from seeing your .htaccess directives:
# 下面这个用以保护你的.htaccess不被蜘蛛或者网页浏览器获取。

deny from all

# End of file

最全的CSS浏览器兼容问题整理(IE6.0、IE7.0 与 FireFox)

December 16th, 2009

CSS对浏览器的兼容性有时让人很头疼,或许当你了解当中的技巧跟原理,就会觉得也不是难事,从网上收集了IE7,6与Fireofx的兼容性处理方法并整理了一下.对于web2.0的过度,请尽量用xhtml格式写代码,而且DOCTYPE 影响 CSS 处理,作为W3C的标准,一定要加DOCTYPE声名.  

CSS技巧

1.div的垂直居中问题

 vertical-align:middle; 将行距增加到和整个DIV一样高 line-height:200px; 然后插入文字,就垂直居中了。缺点是要控制内容不要换行  

2. margin加倍的问题
   
设置为float的div在ie下设置的margin会加倍。这是一个ie6都存在的bug。解决方案是在这个div里面加上display:inline;   
例如:   
<#div id=”imfloat”>   
相应的css为   
#IamFloat{   
float:left;   
margin:5px;/*IE下理解为10px*/   
display:inline;/*IE下再理解为5px*/}  

3.浮动ie产生的双倍距离
   
#box{ float:left; width:100px; margin:0 0 0 100px; //这种情况之下IE会产生200px的距离 display:inline; //使浮动忽略}   
这里细说一下block与inline两个元素:block元素的特点是,总是在新行上开始,高度,宽度,行高,边距都可以控制(块元素);Inline元素的特点是,和其他元素在同一行上,不可控制(内嵌元素);   
#box{ display:block; //可以为内嵌元素模拟为块元素 display:inline; //实现同一行排列的效果 diplay:table;   

4 IE与宽度和高度的问题 
 
IE不认得min-这个定义,但实际上它把正常的width和height当作有min的情况来使。这样问题就大了,如果只用宽度和高度,正常的浏览器里这两个值就不会变,如果只用min-width和min-height的话,IE下面根本等于没有设置宽度和高度。   
比如要设置背景图片,这个宽度是比较重要的。要解决这个问题,可以这样:   
#box{ width: 80px; height: 35px;}html>body #box{ width: auto; height: auto; min-width: 80px; min-height: 35px;}   

5.页面的最小宽度
   
min-width是个非常方便的CSS命令,它可以指定元素最小也不能小于某个宽度,这样就能保证排版一直正确。但IE不认得这个,而它实际上把width当做最小宽度来使。为了让这一命令在IE上也能用,可以把一个<div> 放到 <body> 标签下,然后为div指定一个类,然后CSS这样设计:   
#container{ min-width: 600px; width:expression(document.body.clientWidth < 600? ”600px”: ”auto” );}   
第一个min-width是正常的;但第2行的width使用了Javascript,这只有IE才认得,这也会让你的HTML文档不太正规。它实际上通过Javascript的判断来实现最小宽度。  

6.DIV浮动IE文本产生3象素的bug   

左边对象浮动,右边采用外补丁的左边距来定位,右边对象内的文本会离左边有3px的间距.   
#box{ float:left; width:800px;}  
#left{ float:left; width:50%;}  
#right{ width:50%;}  
*html #left{ margin-right:-3px; //这句是关键}   
<div id=”box”>  
 <div id=”left”></div>  
 <div id=”right”></div>  
</div>  

7.IE捉迷藏的问题   

当div应用复杂的时候每个栏中又有一些链接,DIV等这个时候容易发生捉迷藏的问题。   
有些内容显示不出来,当鼠标选择这个区域是发现内容确实在页面。 解决办法:对#layout使用line-height属性 或者给#layout使用固定高和宽。页面结构尽量简单。  

8.float的div闭合;清除浮动;自适应高度;   

①例如:<#div id=”floatA” ><#div id=”floatB” ><#div id=”NOTfloatC” >这里的NOTfloatC并不希望继续平移,而是希望往下排。(其中floatA、floatB的属性已经设置为float:left;)  
这段代码在IE中毫无问题,问题出在FF。原因是NOTfloatC并非float标签,必须将float标签闭合。在 <#div class=”floatB”> <#div class=”NOTfloatC”>之间加上 <#div class=”clear”>这个div一定要注意位置,而且必须与两个具有float属性的div同级,之间不能存在嵌套关系,否则会产生异常。 并且将clear这种样式定义为为如下即可: .clear{ clear:both;}   

②作为外部 wrapper 的 div 不要定死高度,为了让高度能自动适应,要在wrapper里面加上overflow:hidden; 当包含float的box的时候,高度自动适应在IE下无效,这时候应该触发IE的layout私有属性(万恶的IE啊!)用zoom:1;可以做到,这样就达到了兼容。  
例如某一个wrapper如下定义:   
.colwrapper{ overflow:hidden; zoom:1; margin:5px auto;}   

③对于排版,我们用得最多的css描述可能就是float:left.有的时候我们需要在n栏的float div后面做一个统一的背景,譬如:  
<div id=”page”>  
 <div id=”left”></div>  
 <div id=”center”></div>  
 <div id=”right”></div>   
</div>  
比如我们要将page的背景设置成蓝色,以达到所有三栏的背景颜色是蓝色的目的,但是我们会发现随着left center right的向下拉长,而page居然保存高度不变,问题来了,原因在于page不是float属性,而我们的page由于要居中,不能设置成float,所以我们应该这样解决  
<div id=”page”>  
 <div id=”bg” style=”float:left;width:100%”>  
 <div id=”left”></div>  
 <div id=”center”></div>  
 <div id=”right”></div>  
 </div>  
</div>  
再嵌入一个float left而宽度是100%的DIV解决之  

④万能float 闭合(非常重要!)   
关于 clear float 的原理可参见 [How To Clear Floats Without Structural Markup],将以下代码加入Global CSS 中,给需要闭合的div加上 class=”clearfix” 即可,屡试不爽.   
/* Clear Fix */   
.clearfix:after { content:”.”; display:block; height:0; clear:both; visibility:hidden; }   
.clearfix { display:inline-block; }   
/* Hide from IE Mac */   
.clearfix {display:block;}   
/* End hide from IE Mac */   
/* end of clearfix */   
或者这样设置:.hackbox{ display:table; //将对象作为块元素级的表格显示}  

11.高度不适应   

高度不适应是当内层对象的高度发生变化时外层高度不能自动进行调节,特别是当内层对象使用margin 或paddign 时。   
例:  
#box {background-color:#eee; }    
#box p {margin-top: 20px;margin-bottom: 20px; text-align:center; }    
<div id=”box”>    
<p>p对象中的内容</p>    
</div>    
解决方法:在P对象上下各加2个空的div对象CSS代码:.1{height:0px;overflow:hidden;}或者为DIV加上border属性。

12 .IE6下为什么图片下有空隙产生

解决这个BUG的方法也有很多,可以是改变html的排版,或者设置img 为display:block 或者设置vertical-align 属性为vertical-align:top | bottom |middle |text-bottom 都可以解决. 

13.如何对齐文本与文本输入框

加上 vertical-align:middle;
<style type=”text/css”>
<!–
input {
    width:200px;
    height:30px;
    border:1px solid red;
    vertical-align:middle;
}
–>
</style>

14.web标准中定义id与class有什么区别吗

一.web标准中是不容许重复ID的,比如 div id=”aa”  不容许重复2次,而class 定义的是类,理论上可以无限重复, 这样需要多次引用的定义便可以使用他.

二.属性的优先级问题
ID 的优先级要高于class,看上面的例子

三.方便JS等客户端脚本,如果在页面中要对某个对象进行脚本操作,那么可以给他定义一个ID,否则只能利用遍历页面元素加上指定特定属性来找到它,这是相对浪费时间资源,远远不如一个ID来得简单. 

15. LI中内容超过长度后以省略号显示的方法

此方法适用与IE与OP浏览器

<style type=”text/css”>
<!–
li {
    width:200px;
    white-space:nowrap;
    text-overflow:ellipsis;
    -o-text-overflow:ellipsis;
    overflow: hidden;
    }

–>
</style>

16.为什么web标准中IE无法设置滚动条颜色了

解决办法是将body换成html
<!DOCTYPE html PUBLIC ”-//W3C//DTD XHTML 1.0 Strict//EN” ”http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”>
<meta http-equiv=”Content-Type” content=”text/html; charset=gb2312″ />
<style type=”text/css”>
<!–
html {
    scrollbar-face-color:#f6f6f6;
    scrollbar-highlight-color:#fff;
    scrollbar-shadow-color:#eeeeee;
    scrollbar-3dlight-color:#eeeeee;
    scrollbar-arrow-color:#000;
    scrollbar-track-color:#fff;
    scrollbar-darkshadow-color:#fff;
    }
–>
</style> 

17.为什么无法定义1px左右高度的容器

IE6下这个问题是因为默认的行高造成的,解决的方法也有很多,例如:overflow:hidden | zoom:0.08 | line-height:1px

18.怎么样才能让层显示在FLASH之上呢

解决的办法是给FLASH设置透明
<param name=”wmode” value=”transparent” />

19.怎样使一个层垂直居中于浏览器中

这里我们使用百分比绝对定位,与外补丁负值的方法,负值的大小为其自身宽度高度除以二
<style type=”text/css”>
<!–
div {
    position:absolute;
    top:50%;
    lef:50%;
    margin:-100px 0 0 -100px;
    width:200px;
    height:200px;
    border:1px solid red;
    }
–>
</style> 

  

FF与IE  

1. Div居中问题  

div设置 margin-left, margin-right 为 auto 时已经居中,IE 不行,IE需要设定body居中,首先在父级元素定义text-algin: center;这个的意思就是在父级元素内的内容居中。   

2.链接(a标签)的边框与背景  

a链接加边框和背景色,需设置 display: block, 同时设置 float: left 保证不换行。参照 menubar, 给 a 和 menubar 设置高度是为了避免底边显示错位, 若不设 height, 可以在 menubar 中插入一个空格。

3.超链接访问过后hover样式就不出现的问题

被点击访问过的超链接样式不在具有hover和active了,很多人应该都遇到过这个问题,解决方法是改变CSS属性的排列顺序: L-V-H-A
Code:
<style type=”text/css”>
<!–
a:link {}
a:visited {}
a:hover {}
a:active {}
–>
</style>    

4. 游标手指cursor   

cursor: pointer 可以同时在 IE FF 中显示游标手指状, hand 仅 IE 可以  

5.UL的padding与margin  

ul标签在FF中默认是有padding值的,而在IE中只有margin默认有值,所以先定义 ul{margin:0;padding:0;}就能解决大部分问题   

6. FORM标签  

这个标签在IE中,将会自动margin一些边距,而在FF中margin则是0,因此,如果想显示一致,所以最好在css中指定margin和padding,针对上面两个问题,我的css中一般首先都使用这样的样式ul,form{margin:0;padding:0;}给定义死了,所以后面就不会为这个头疼了.  

7. BOX模型解释不一致问题  

在FF和IE中的BOX模型解释不一致导致相差2px解决方法:div{margin:30px!important;margin:28px;} 注意这两个margin的顺序一定不能写反, important这个属性IE不能识别,但别的浏览器可以识别。所以在IE下其实解释成这样: div{maring:30px;margin:28px}重复定义的话按照最后一个来执行,所以不可以只写margin:xx px!important;   
#box{ width:600px; //for ie6.0- w\idth:500px; //for ff+ie6.0}   
#box{ width:600px!important //for ff width:600px; //for ff+ie6.0 width /**/:500px; //for ie6.0-}  

8.属性选择器(这个不能算是兼容,是隐藏css的一个bug)   

p[id]{}div[id]{}   
这个对于IE6.0和IE6.0以下的版本都隐藏,FF和OPera作用.属性选择器和子选择器还是有区别的,子选择器的范围从形式来说缩小了,属性选择器的范围比较大,如p[id]中,所有p标签中有id的都是同样式的.  

9.最狠的手段 - !important;   

如果实在没有办法解决一些细节问题,可以用这个方法.FF对于”!important”会自动优先解析,然而IE则会忽略.如下  
.tabd1{   
background:url(/res/images/up/tab1.gif) no-repeat 0px 0px !important; /*Style for FF*/   
background:url(/res/images/up/tab1.gif) no-repeat 1px 0px; /* Style for IE */}  
值得注意的是,一定要将xxxx !important 这句放置在另一句之上,上面已经提过   

10.IE,FF的默认值问题  

或许你一直在抱怨为什么要专门为IE和FF写不同的CSS,为什么IE这样让人头疼,然后一边写css,一边咒骂那个可恶的M$ IE.其实对于css的标准支持方面,IE并没有我们想象的那么可恶,关键在于IE和FF的默认值不一样而已,掌握了这个技巧,你会发现写出兼容FF和IE的css并不是那么困难,或许对于简单的css,你完全可以不用”!important”这个东西了。   
我们都知道,浏览器在显示网页的时候,都会根据网页的css样式表来决定如何显示,但是我们在样式表中未必会将所有的元素都进行了具体的描述,当然也没有必要那么做,所以对于那些没有描述的属性,浏览器将采用内置默认的方式来进行显示,譬如文字,如果你没有在css中指定颜色,那么浏览器将采用黑色或者系统颜色来显示,div或者其他元素的背景,如果在css中没有被指定,浏览器则将其设置为白色或者透明,等等其他未定义的样式均如此。所以有很多东西出现FF和IE显示不一样的根本原因在于它们的默认显示不一样,而这个默认样式该如何显示我知道在w3中有没有对应的标准来进行规定,因此对于这点也就别去怪罪IE了。

11.为什么FF下文本无法撑开容器的高度

标准浏览器中固定高度值的容器是不会象IE6里那样被撑开的,那我又想固定高度,又想能被撑开需要怎样设置呢?办法就是去掉height设置min-height:200px;  这里为了照顾不认识min-height的IE6 可以这样定义:

{
height:auto!important;
height:200px;
min-height:200px;

12.FireFox下如何使连续长字段自动换行

众所周知IE中直接使用 word-wrap:break-word 就可以了, FF中我们使用JS插入&#10;的方法来解决

<style type=”text/css”>
<!–
div {
    width:300px;
    word-wrap:break-word;
    border:1px solid red;
}
–>
</style>

<div id=”ff”>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</div>

<scrīpt type=”text/javascrīpt”>
/* <![CDATA[ */
function toBreakWord(el, intLen){
    var ōbj=document.getElementById(el);
    var strContent=obj.innerHTML; 
    var strTemp="";
    while(strContent.length>intLen){
        strTemp+=strContent.substr(0,intLen)+"&#10;"; 
        strContent=strContent.substr(intLen,strContent.length); 
    }
    strTemp+="&#10;"+strContent;
    obj.innerHTML=strTemp;
}
if(document.getElementById  &&  !document.all)  toBreakWord("ff", 37);
/* ]]> */
</scrīpt>

13.为什么IE6下容器的宽度和FF解释不同呢

<?xml version=”1.0″ encoding=”gb2312″?>
<!DOCTYPE html PUBLIC ”-//W3C//DTD XHTML 1.0 Strict//EN” ”http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”>
<meta http-equiv=”Content-Type” content=”text/html; charset=gb2312″ />
<style type=”text/css”>
<!–
div {
    cursor:pointer;
    width:200px;
    height:200px;
    border:10px solid red
    }
–>
</style>
<div ōnclick=”alert(this.offsetWidth)”>让FireFox与IE兼容</div> 

问题的差别在于容器的整体宽度有没有将边框(border)的宽度算在其内,这里IE6解释为200PX ,而FF则解释为220PX,那究竟是怎么导致的问题呢?大家把容器顶部的xml去掉就会发现原来问题出在这,顶部的申明触发了IE的qurks mode,关于qurks mode、standards mode的相关知识,请参考:http://www.microsoft.com/china/msdn/library/webservices/asp.net/
ASPNETusStan.mspx?mfr=true 
  

IE6,IE7,FF  

IE7.0出来了,对CSS的支持又有新问题。浏览器多了,网Bpx; /*For IE7 & IE6*/   
_height:20px; /*For IE6*/   

注意顺序。   

这样也属于CSS HACK,不过没有上面这样简洁。   
#example { color: #333; } /* Moz */   
* html #example { color: #666; } /* IE6 */   
*+html #example { color: #999; } /* IE7 */   

第二种,是使用IE专用的条件注释   

<!–其他浏览器 –>   
<link rel=”stylesheet” type=”text/css” href=”css.css” />   

<!–[if IE 7]>   
<!– 适合于IE7 –>   
<link rel=”stylesheet” type=”text/css” href=”ie7.css” />   
<![endif]–>   

<!–[if lte IE 6]>   
<!– 适合于IE6及一下 –>   
<link rel=”stylesheet” type=”text/css” href=”ie.css” />   
<![endif]–>   

第三种,css filter的办法,以下为经典从国外网站翻译过来的。.   

新建一个css样式如下:   
#item {   
    width: 200px;   
    height: 200px;   
    background: red;   
}    

新建一个div,并使用前面定义的css的样式:   
<div id=”item”>some text here</div>    

在body表现这里加入lang属性,中文为zh:   
<body lang=”en”>    

现在对div元素再定义一个样式:   
*:lang(en) #item{   
    background:green !important;   
}    

这样做是为了用!important覆盖原来的css样式,由于:lang选择器ie7.0并不支持,所以对这句话不会有任何作用,于是也达到了ie6.0下同样的效果,但是很不幸地的是,safari同样不支持此属性,所以需要加入以下css样式:   
#item:empty {   
    background: green !important   
}    
:empty选择器为css3的规范,尽管safari并不支持此规范,但是还是会选择此元素,不管是否此元素存在,现在绿色会现在在除ie各版本以外的浏览器上。   

对IE6和FF的兼容可以考虑以前的!important 个人比较喜欢用第一种,简洁,兼容性比较好.

来源:http://www.shuihan.com/article/253.htm

广电整顿互联网升级 — 站長們進來關注下

December 7th, 2009

广电整顿互联网升级 — 站長們進來關注下

广电整顿互联网升级:BT影视下载站陆续关停
知名BT影视下载索引网站BTChina的关停引发众多网友关注,而这也意味着广电总局对于互联网视听服务的清理整顿,正在进一步升级。分析人士指出,BT等影视分享下载模式将面临严峻考验。从12月4日下午开始,陆续有网友发现以提供BT搜索、BT影视下载索引服务为主的国内知名网站BTChina(btchina.net),出现无法正常访问的情况。随后,坊间开始出现传言称BTChina创始人黄希威已被拘捕。
正在各种猜测不断涌现之际,BTChina首页12月5日忽然仅以白底黑字简单挂出疑似黄希威没有任何标点的留言:“接广电通知 因无视听许可证 所以工信部删除备案号 关站 关于本人安全问题 再次证明网上传言不可信”。
  上述文字清楚的表明,BTChina因没有获取广电总局颁发的《信息网络传播视听节目许可证》(AVSP,以下简称《许可证》),最终导致关停。
  然而BTChina并非唯一一个受此影响的BT影视下载网站,西摩BT站、龙漫BT、凯神BT联盟等此前早已遭到关闭。
  在另一家名为天天BT的网站首页上可以看到,页面顶部位置发出的公告称,同样由于没有《许可证》,这家网站“已取消全部下载链接,没有任何点播、在线播放、下载功能,不传播任何视听节目”。
  在新浪科技的调查中发现,为数众多的BT影视下载网站都已经关停,或者悄然改换服务内容,甚至开始着手筹备域名变更。
  BT影视论坛筹备转型
  相当长的一段时间以来,BT影视下载以资源众多、下载速度快等特点,成为中国网友获取影视等内容最常见的途径之一。而在BT影视下载网站之外,BT影视论坛也成为网友获取影视内容的重要信息来源。
  尽管此前伊甸园BT&字幕下载区已遭广电关停,但相对于BT影视下载网站而言,不少BT影视论坛和字幕组均维持正常运作。据报道,颇具知名度的影视帝国论坛还曾就BTChina关闭一事发出通告。
  知情人士透露,以BT内容为主的影视论坛其实也在暗中筹划转型,早已纷纷降低了BT影视内容的比重。悠悠鸟正是一个鲜活的例子。
  悠悠鸟影视论坛12月2日在向用户发出的转型通知中表示,“接上级主管部门通知,悠悠鸟将进行一系列整改转型”,并把全部的七阶段整改方案对外公布:
  第一阶段:屏蔽网站内所有迅雷影视转帖(2009年11月25日-2009年12月6日)
  第二阶段:屏蔽网站内所有网盘影视转帖(2009年12月7日-2009年12月18日)
  第三阶段:屏蔽网站内所有快车影视转帖(2009年12月19日-2009年12月30日)
  第四阶段:屏蔽网站内所有BT影视转帖(2009年12月31日-2010年1月10日)
  第五阶段:屏蔽网站内所有在线影视点播(2010年1月11日-2010年1月21日)
  第六阶段:屏蔽网站内所有快车影视原创下载(2010年1月22日-2010年2月3日)
  第七阶段:屏蔽网站内所有迅雷影视原创下载(2010年2月4日-2010年2月15日)
  目前,大量的BT影视论坛均对新用户的注册采用“邀请码”的方式加以限制,这意味着如果没有论坛原有用户的邀请,或完成一定的申请流程,是无法轻易成为正式用户。而论坛中暗藏有大量的板块仅对会员开放。
  广电再度整顿互联网
  2007年12月29日,广电总局等正式发布《互联网视听节目管理规定》(以下简称《规定》),其中明确指出,国家对互联网等信息网络视听节目服务实行许可证制度。
  今年9月15日,广电总局向各地相应机关发出《关于互联网视听节目服务许可证管理有关问题的通知》(以下简称《通知》)。
  《通知》中要求各级广电管理部门,按照《规定》的要求,“对未持有《信息网络传播视听节目许可证》擅自开展了互联网视听节目服务的网站和个人,责成其立即停止擅自开办的互联网视听节目服务”。
  广电总局新闻发言人朱虹上个月表示,上述清理行动将把提供报道评论类、影视剧类、专题类、直播和录播类及个人DV片等视听节目的无证网站作为清理的重点。
  根据上述《通知》要求,各级广电管理部门明年3月1日起还将对辖区内互联网视听节目服务许可证制度的落实情况进行专项检查。
  BT下载模式前景堪虞
  实际上,广电总局此前已经多次对互联网视听内容进行整顿。2008年广电总局多次就互联网视听服务进行抽查,当年至少关闭43家网站。2009年以来,广电总局持续对互联网视听节目服务违规网站进行打击。
  今年2月1日,广电总局已关停131家传播低俗视听节目网站,同年3月30日,广电总局再次发布消息称关闭162家视听节目网站。至此,在整治互联网低俗之风专项行动中,广电总局会同有关部门已关闭违法违规视听节目网站341家。
  11月中旬,广电总局宣布再次关闭111家无证视听节目服务网站。据悉,此次BTChina关停意味着广电总局对于互联网视听服务的清理整顿工作,正在得到进一步推进和升级。
  分析人士指出,在广电总局高压政策的严打,以及各种版权问题缠身的情况下,国内BT下载乃至其他视频内容的分享下载模式,都将面临严峻的生存考验。
实际上,BT下载模式在收到网友广泛欢迎的同时,一直也饱受非议。著名的BT分享网站海盗湾今年8月关闭,11月17日海盗湾的Tracker服务器永久关闭。而海盗湾的四名创始人,也被瑞典法院判处入狱一年。

SSH安裝kloxo教程

December 4th, 2009

SSH登陆成功。

cd .. 到 /(或 cd /)

cd tmp到tmp目录
输入
wget http://download.lxlabs.com/download/kloxo/production/kloxo-install-master.sh
回车

输入 sh ./kloxo-install-master.sh

回车开始安装。

国内主机可能安装要慢点了,因为是在线安装(更新源在国外),使用美国主机的朋友们很快就能安装完了。
安装完后你除了安好Lxadmin,同时也基本安好了Apache、Lighttpd、MySQL、Xcache、Bind、Djbdns等一系列服务器软件。
下面我们完成后续安装,在终端完成(/*这里面是备注,不要执行*/)。
yum install php-bcmath /*高精度数学运算组件,默认没安装,MD5运算时用到*/
yum check-update /*检查全部更新*/
yum update /*更新全部更新*/
yum clean all /*清理全部缓存的安装文件(都安装完了,留着浪费空间啊)*/

OK,Lxadmin面板基本安装完成,可以把终端关闭了。我们来登录Lxadmin,第一次登陆用户名和密码都是admin,

地址:
https://yourdomain:7777/ /*安全连接,不过默认证书不受IE信任*/
http://yourdomain:7778/ /*还是用这个普通链接吧*/

广告位出售