CSS hack 兼容IE6/IE7/FF的通用方法

于CSS对各个浏览器兼容已经是老生常谈的问题了, 网络上的教程遍地都是.以下内容没有太多新颖, 纯属个人总结, 希望能对初学者有一定的帮助.
一、CSS HACK以下两种方法几乎能解决现今所有HACK.
1, !important 
随着IE7对!important的支持, !important 方法现在只针对IE6的HACK.(注意写法.记得该声明位置需要提前.)
<style> 
#wrapper 

width: 100px!important; /* IE7+FF */ 
width: 80px; /* IE6 */ 

</style> 

2, IE6/IE77对FireFox 
*+html 与 *html 是IE特有的标签, firefox 暂不支持.而*+html 又为 IE7特有标签.
<style> 
#wrapper 

#wrapper { width: 120px; } /* FireFox */ 
*html #wrapper { width: 80px;} /* ie6 fixed */ 
*+html #wrapper { width: 60px;} /* ie7 fixed, 注意顺序 */ 

</style> 
注意: 
*+html 对IE7的HACK 必须保证HTML顶部有如下声明: 
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” ”http://www.w3.org/TR/html4/loose.dtd”> 
二、万能 float 闭合
关于 clear float 的原理可参见 [How To Clear Floats Without Structural Markup]
将以下代码加入Global CSS 中,给需要闭合的div加上 即可,屡试不爽.
<style> 
/* 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 */ 
</style> 
三、其他兼容技巧
1, FF下给 div 设置 padding 后会导致 width 和 height 增加, 但IE不会.(可用!important解决)
2, 居中问题.
1).垂直居中.将 line-height 设置为 当前 div 相同的高度, 再通过 vertical-align: middle.( 注意内容不要换行.)
2).水平居中. margin: 0 auto;(当然不是万能)
3, 若需给 a 标签内内容加上 样式, 需要设置 display: block;(常见于导航标签)
4, FF 和 IE 对 BOX 理解的差异导致相差 2px 的还有设为 float的div在ie下 margin加倍等问题.
5, ul 标签在 FF 下面默认有 list-style 和 padding . 最好事先声明, 以避免不必要的麻烦. (常见于导航标签和内容列表)
6, 作为外部 wrapper 的 div 不要定死高度, 最好还加上 overflow: hidden.以达到高度自适应.
7, 关于手形光标. cursor: pointer. 而hand 只适用于 IE.
1 针对firefox ie6 ie7的css样式 
现在大部分都是用!important来hack,对于ie6和firefox测试可以正常显示,
但是ie7对!important可以正确解释,会导致页面没按要求显示!找到一个针
对IE7不错的hack方式就是使用“*+html”,现在用IE7浏览一下,应该没有问题了。
现在写一个CSS可以这样:
#1 { color: #333; } /* Moz */ 
* html #1 { color: #666; } /* IE6 */ 
*+html #1 { color: #999; } /* IE7 */ 
那么在firefox下字体颜色显示为#333,IE6下字体颜色显示为#666,IE7下字体颜色显示为#999。 
2 css布局中的居中问题 
主要的样式定义如下: 
body {TEXT-ALIGN: center;} 
#center { MARGIN-RIGHT: auto; MARGIN-LEFT: auto; } 
说明: 
首先在父级元素定义TEXT-ALIGN: center;这个的意思就是在父级元素内的内容居中;对于IE这样设定就已经可以了。 
但在mozilla中不能居中。解决办法就是在子元素定义时候设定时再加上“MARGIN-RIGHT: auto;MARGIN-LEFT: auto; ” 
需要说明的是,如果你想用这个方法使整个页面要居中,建议不要套在一个DIV里,你可以依次拆出多个div, 
只要在每个拆出的div里定义MARGIN-RIGHT: auto;MARGIN-LEFT: auto; 就可以了。 
3 盒模型不同解释 
#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-} 
4 浮动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; 
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;} 
6 页面的最小宽度 
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的判断来实现最小宽度。 
7 清除浮动 
.hackbox{ display:table; //将对象作为块元素级的表格显示}或者.hackbox{ clear:both;}
或者加入:after(伪对象),设置在对象后发生的内容,通常和content配合使用,IE不支持此伪对象,非Ie 浏览器支持,
所 以并不影响到IE/WIN浏览器。这种的最麻烦的……#box:after{ content: “.”; display: block; height: 0; clear: both; visibility: hidden;}
8 DIV浮动IE文本产生3象素的bug 
左边对象浮动,右边采用外补丁的左边距来定位,右边对象内的文本会离左边有3px的间距.
#box{ float:left; width:800px;}#left{ float:left; width:50%;}#right{ width:50%;}*html #left{ margin-right:-3px; //这句是关键} 
HTML代码<div id=”box”> <div id=”left”></div> <div id=”right”></div></div>
9 属性选择器(这个不能算是兼容,是隐藏css的一个bug) 
p[id]{}div[id]{}
这个对于IE6.0和IE6.0以下的版本都隐藏,FF和OPera作用
属性选择器和子选择器还是有区别的,子选择器的范围从形式来说缩小了,属性选择器的范围比较大,如p[id]中,所有p标签中有id的都是同样式的.
10 IE捉迷藏的问题 
当div应用复杂的时候每个栏中又有一些链接,DIV等这个时候容易发生捉迷藏的问题。
有些内容显示不出来,当鼠标选择这个区域是发现内容确实在页面。
解决办法:对#layout使用line-height属性 或者给#layout使用固定高和宽。页面结构尽量简单。
11 高度不适应 
高度不适应是当内层对象的高度发生变化时外层高度不能自动进行调节,特别是当内层对象使用
margin 或paddign 时。
例:
<div id=”box”> 
<p>p对象中的内容</p> 
</div> 
CSS:#box {background-color:#eee; } 
#box p {margin-top: 20px;margin-bottom: 20px; text-align:center; } 
解决方法:在P对象上下各加2个空的div对象CSS代码:.1{height:0px;overflow:hidden;}或者为DIV加上border属性。

发表在 CSS Hack | 标签为 , | 留下评论

在mac下开始学习和使用Sublime Text 2

前段时间在v2ex里看到Sublime Text 2 这个软件,看这名字,不是很感兴趣,因为之前本本里装的了macvim在用,也研究了一段时间,看本博内容:整理并学习macvim神器 ,总感觉不顺手,因为在window下用习惯了notdpad++,感觉macvim很多功能用不顺手,也许时间和习惯问题。所以对于Sublime Text 2,也源于论坛里大家讨论非常热情,好奇下载并试用了,结果就喜欢上它。

如果你也心动了,可以点下面的地址来下载最新版。Sublime Text 2是收费软件,售价$59,但可以无限期试用,仅仅会偶尔在保存文件时弹出提示框而已,编码过程中不会出现任何干扰。

beta版:
http://www.sublimetext.com/2
大约1个月更新一次。

dev版:
http://www.sublimetext.com/dev
隔三差五更新,非常频繁,慎用

 

1,Sublime Text 2 入门及技巧

2,ZenCoding in Sublime Text 2

3,Sublime Text 2 实用快捷键[Mac OS X]

4,Sublime Text 2 常用插件

发表在 Apple | 标签为 , | 留下评论

Pinterest动态网格的布局灵感

Pinterest动态网格的布局灵感现在已经不是新鲜事了,许多网友站长都用了类似不同的模板来搭建网站,用这个布局来做一些图片展示画廊,如今许多博客也用这样的风格来展示文章。的确网格布局给人以视觉上的享受,但如何来设计属于自己风格的布局也是我们需要考虑的,下面这些网站希望能给大家带来灵感,创意。

Pinspire

pinspire

Woxihuan

Woxihuan

Huaban

Huaban

Mishang

Mishang

Trippy

Trippy

Chill

Chill

Veerle

Veerle

Allwomenstalk

Allwomenstalk

Skivefestival

Skivefestival

Mapltd

Mapltd

Thinng

Thinng

Swinton

Swinton

Minus

Minus

发表在 设计, 资源 | 标签为 | 留下评论

mac里用终端ssh远程连接centos服务器

在mac终端下输入

ssh -l root *.*.*.*      就可以远程连接Centos服务器了,端口没变还是:22

如果改变端口用下面方法输入:

ssh -p 448(你改变的端口) -l root(连接用户名) *.*.*.*      这个是端口改变后的连接

记录一下:Sftp用Transmit软件进行Ftp操作

ssh 连接的时候 Host key verification failed问题解决方案.

ssh

ssh 连接的时候 Host key verification failed.
解决方法:
vi ~/.ssh/known_hosts
进入此目录,删除192.168.1.90的相关rsa的信息即可.

或者删除这个文件
cd ~/.ssh/
rm known_hosts

发表在 Apple | 标签为 , | 留下评论

无需下载 HTML5版QQ斗地主正式上线

腾讯针对iPad用户推出HTML5版手机QQ游戏大厅,并且HTML5版QQ欢乐斗地主也同步亮相,这让那些喜欢玩斗地主的“果粉”们惊喜万分,因为无需下载客户端即可享受斗地主的欢乐。登录h5.qq.com直接体验。春节将至,腾讯为迎合春节玩家斗地主需求,除了发布iPhone高清版QQ斗地主外,HTML5版QQ斗地主也登上HTML5版手机QQ游戏大厅,无需下载安装即可一键玩斗地主。

与HTML5版欢乐斗地主一样,QQ斗地主也支持QQ帐号一站式登录大厅,选择记住密码、自动登录然后保存为书签后即可在下次直接进入QQ斗地主,无需二次登录。而且在WIFI网络下,只需10S即可快速进入游戏,减少玩家等待时间。

目前,HTML5版QQ斗地主支持托管和换桌功能,但是还不支持聊天以及任务成就功能,预计在下个版本中会加入。此外,在HTML5版欢乐斗地主中已经支持的飞机、春天、炸弹等特效在这一版的HTML5 QQ斗地主中还无法支持。

随着W3C等国际标准化组织对HTML5技术标准的不断完善,以及IE、firefox、chrome、safari和国内的手机QQ浏览器加大对HTML5的支持力度,加之facebook、腾讯等大公司对HTML5应用以及游戏的大幅投入,相信HTML5将很快大放异彩。

马上就要进入春节假期,各位iPad、iPad2用户都可以便捷的通过通过Safari登录h5.qq.com,无需下载直接玩经典的欢乐斗地主和QQ斗地主,与好友们联网对战,享受斗地主带来的快乐与放松。

发表在 HTML5/CSS3, 游戏 | 标签为 , | 留下评论

国外创意相亲约会网站

国外创意相亲约会网站,比国内一些相亲网站有创新有趣多了。

1、 Clique:不要和陌生人约会

网站:http://www.letsclique.com

2、Sparkology:只接受优质男 学历控最爱

网站:http://www.sparkology.com/

3、Nerve Dating:让你摆脱恼人的自我介绍

网站:http://dating.nerve.com/

4、 SinglesAroundMe:基于位置的约会服务

网站:http://www.singlesaroundme.com/

5、HowAboutWe:约会么,拼的是创意

网站:http://www.howaboutwe.com/

6、Soul2Match:帮你寻找“夫妻脸”

网站:http://soul2match.com/

7、Grouper:3男3女“六人行” 组队去约会

网站:https://www.joingrouper.com/

发表在 资源 | 标签为 , , , | 留下评论

10个专为设计师准备的色彩方案生成器

设计师在设计过程中,经常用到色彩,合理的色彩搭配,使网站视觉更加漂亮,下列介绍10个专为设计师准备的色彩方案生成器

Pictaculous

Pictaculous

ColorExplorer

ColorExplorer

ColourGrab

ColourGrab

ColoRotate

ColoRotate

Sphere: Color Theory Visualizer

Sphere - Color Theory Visualizer

Color Scheme Designer

Color Scheme Designer

ColorSchemer Gallery

ColorSchemer Gallery

Kuler

Kuler

Color Spire

Color Spire

Colour Lovers

Colour Lovers

发表在 设计, 资源 | 标签为 , , , | 留下评论

30个不同寻常的网页设计

对于设计师来讲,欣赏是一门艺术,下列展示的30个不同寻常的网页设计,供大家学习欣赏参考。

你可能还喜欢

25个免费WordPress博客设计主题

31最好的免费WordPress主题

分享21个以单色背景的网页设计案例

Dean Oakley

Creative Capital

Real-Visuals

Roland Olbeter

Narfstuff

Jiri Tvrdek

Paolo Cavanna

Zillu

Pixelcool

Grip Limited

Juan Diego Velasco

Pretty Production

Stripes Design

Marc Anton Dahmen Architecture

Eutem.com

Get London Reading

HTML5 Readiness

CL Designz

HTC Sense

Nick Jones

Digital Podge

Veerle

Dave Werner

Veboo Labs

Julia Noda

David Jiminez

Jeremy Levine Design

31Three

Transmission Inc.

Convax Solutions

发表在 设计, 资源 | 标签为 , | 留下评论

Photoshop CS3 for Mac中文版出现"无效数字项"提示的问题解决方案

在操作photoshop时,经常出现下面两种情况,

点击字体工具出现提示: “无效数字项,要求数字必须在0.01 点 到1296.00 点 之间. 已恢复原来的有效数值” .

点击污点修复工具出现提示: “无效数字项,要求必须是-180度到180度之间的整数,已恢复原来的有效数值”.

进行其它操作时,也可能出现类似情况.

这个主要是汉化文件的问题.
在Adobe Photoshop CS3.app/Contents/Required/ 下找到tw10428.dat. 这个文件是汉化用的. 其中一些中文单位名称在程序中可能会无法正确处理, 从而引发上述问题. 只要改成相应的英文名就可以了.

解决方法:

1.用文本编辑软件打开tw10428.dat

2.做如下修改
下面二条是解决字体问题的
“$$$/UnitSuffixes/Short/Pt=点” 改成”$$$/UnitSuffixes/Short/Pt=pt”

“$$$/UnitSuffixes/ShortPlural/Pts=点” 改成 “$$$/UnitSuffixes/ShortPlural/Pts=pts”

下面二条是解决污点修补工具问题的
“$$$/UnitSuffixes/Short/DegreesSign=度” 改成 “$$$/UnitSuffixes/Short/DegreesSign=^D”

“$$$/UnitSuffixes/ShortPlural/DegreesSign=度” 改成 “$$$/UnitSuffixes/ShortPlural/DegreesSign=^D”

其它类似问题, 找到相应单位改了就行了.

3. 保存文件, 重开photoshop.

发表在 Apple | 标签为 , | 留下评论

CSS命名规范合集

页头:header  如:#header{属性:属性值;}或.header{属性:属性值;}
登录条:loginBar         标志:logo                侧栏:sideBar
广告:banner              导航:nav                 子导航:subNav
菜单:menu               子菜单:subMenu      搜索:search
滚动:scroll               页面主体:main         内容:content
标签页:tab                 文章列表:list            提示信息:message
小技巧:tips                栏目标题:title            加入:joinus
指南:guild                服务:service              热点:hot
新闻:news                 下载:download         注册:regsiter
状态:status                按钮:btn                    投票:vote
合作伙伴:partner     友情链接:friendLink   页脚:footer
版权:copyRight
常用配合标签div、h1、h2、h3、h4、span、em、b、strong、font、u、i

1.CSS的 ID 的命名 

外 套:wrap              主导航:mainNav        子导航:subnav
页 脚:footer             整个页面:content      页 眉:header
版    权:copyRight      商 标:label              标 题:title
主导航:mainNav(globalNav)                  顶导航:topnav
边导航:sidebar           左导航:leftsideBar   右导航:rightsideBar
旗 志:logo                标 语:banner         菜单内容1: menu1Content
菜单容量: menuContainer                  子菜单:  submenu
边导航图标:sidebarIcon                        注释:   note
面包屑:breadCrumb(即页面所处位置导航提示)
容器:container      内容:content          搜索:search
登陆:login             功能区:  shop(如购物车,收银台)
当前:current
通常我们最常用主要命名有:wrap(外套、最外层)、header(页眉、头部)、nav(导航条)、menu(菜单)、title(栏目标题、一般配合h1\h2\h3\h4标签使用)、content (内容区)、footer(页脚、底部)、logo(标志、可以配合h1标签使用)、banner(广告条,一般在顶部)、copyRight(版权)。其它可根据自己需要选择性使用。

建议:主要的、重要的、最外层的盒子用“#”(井号)选择符号开头命名,其它都用“.”(小写句号)选择符号开头命名。
2.CSS样式文件命名如下

主要的 master.css
布局,版面 layout.css
专栏 columns.css
文字 font.css
打印样式 print.css
主题 themes.css

也许你需要了解一下css引用到html方法

以上为DIV+CSS的命名规则总结,相信通过规范的CSS命名给你以后网站网页的维护带来方便。

发表在 CSS Hack | 标签为 , , | 留下评论