随笔 - 103  文章 - 2 评论 - 921 trackbacks - 21
<2008年9月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011


转载请保留链接。
国际管理VS中国国情链接 8-21 13:48

与我联系

搜索

 

常用链接

留言簿(13)

我参与的团队

我的标签

随笔分类

随笔档案

文章分类

相册

最新随笔

积分与排名

  • 积分 - 148442
  • 排名 - 249

最新评论

阅读排行榜

评论排行榜

1.       关于background的写法

DIV.comment{background:#f0f0f0 url(url address) repeat-x left top}

1)您可以看到background的第一个定义是一个颜色值这表示在背景图片失效的时候颜色将起作用。

2)url括号中的引号是没有必要的,我们可以不写引号 

2.       关于Border的写法,如果您想定义div的四个边的颜色不同,而粗度和样式都一样,您可以这样写:

DIV.special{border:1px solid; border-color:color1 color2 color3 color4}

四种颜色一次是上,右,下,左的颜色

 

3.       为了兼容所有的浏览器都可以显示半透明效果的写法

.tranparent{

        filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50);

        -moz-opacity:0.5;

        -khtml-opacity:0.5;

        opacity: 50%;

        position:absolute;/*注意必须是absolute*/

        top:100px;

        left:100px;

}

 

4.       _height,_width的作用

使用_height解决floatdiv不闭合的问题,您可以将_height属性去掉就可以开到效果了。

#wrap{ border:6px #ccc solid; overflow:auto; _height:1%;}

.column_left{ float:left; width:20%; padding:10px;}

.column_right{ float:right; width:75%; padding:10px; border-left:6px #eee solid;}

 

<div id="wrap">

 <div class="column_left">

  <h1>Float left</h1>

 </div>

 <div class="column_right">

  <h1>Float right</h1>

 </div>

</div>

 

5.       使用min-height min-width解决div,或者span的固定高度问题

有时候我们需要设定某个元素固定高度,但是在firefox或者opera下面只设置高度,在内容不够多的时候,达不到预想的效果,这时候我们可以使用min-height

 

6.       使用!important改变样式的优先级

所谓的样式优先级是指,浏览器在应用样式时总是根据就近原则来应用样式,假定我们在一个页面中有三处都有对某个元素的定义,一处是在外部的css文件中,一处是在文件的head标签中定义内联css,另一处是在这个元素的标签内,那么根据就近原则此元素最终使用的样式是在标签内定义的样式,如果我们需要打破这种规则我们就可以使用!important指令

a.test{color:red!important}

这样即使在A元素内定义了color也不会应用,而是应用上面的定义

 

7.       使用media指令引入两种css:打印版本的css和屏幕显示的css

<link type="text/css" rel="stylesheet" href="url " media="screen" charset="utf-8" />

<link type="text/css" rel="stylesheet" href="url" media="print" charset="utf-8" />

8.       > 符号(目前ie不支持)

我们可以使用DIV A的方式来定义所有在div里面的所有A标签的样式,包括div下面的span中的div;如果我们只想定义DIV下面一级子节点的A标签我们可以使用“>”符号,例如:

DIV>A{color:red}

现在只有是DIV的直接子节点A标签的颜色是红色

9:first-child :last-child 在非ie的浏览器下面可以通过这两个指示符,取到父元素的第一个元素或者最后一个元素

 

20070412 21:05增加
10. :hover等伪类可以这样使用

    <style type="text/css">
    .menu
{}
    .menu ul
{display:none}
    .menu:hover
{}
    .menu:hover ul
{display:block}
    </style>

 

<ul>
    
<li class="menu">
        menu title
        
<ul>
            
<li>first</li>
            
<li>last</li>
        
</ul>
    
</li>
</ul>

这样我们就可以做只用css控制的菜单,在ie6,ie7,firefox1.5,opera9.0下面测试通过 

11.我们可以使用page-break-after,page-break-before控制打印时的分页

 

20070413 12:13

12. * html{}的作用是为了兼容6.0以下的IE版本,对html节点的选取,其他的浏览器都认为html标签是文档的根节点,而ie6以下的ie版本却认为在html标签的上面还有一个根节点
---感谢calmzeal的解释

13. css 的class可以有多个值,我们只需要将多个值用空格隔开就可以了

14. 颜色的缩写 我们可以将#ff0033缩写成#f03

15. 使用text-indent显示图片,而隐藏文字(这种做法据说有助于SEO)

h1 { background: url(widget-image.gif) no-repeat; height: image height text-indent: -2000px }

<h1>Buy widgets</h1>

16. 为了避免不同浏览器对不同标签的padding,margin不同的解释可以在样式表的前面定义
*{margin:0px;padding:0px;}

20070422 12:00添加
17. 关闭输入法状态,使用户只能输入英文状态下的字符,类似输入密码

input {ime-mode: disabled ; } 


20070423 09:08
18. 死都不换行,摘录(作者
   1) white-space:nowrap; overflow: hidden; width: 17em !important ; width: 18em;
   注意: white-space不支持td,th等。
   2) 用.fixTable{ table-layout: fixed; overflow:hidden; }加上nobr标签实现隐藏
    nobr标签非标准。
20070426 0848
19. 同比改变图片大小
img.style.zoom = 0.5;

posted on 2007-04-12 17:32 玉开 阅读(3756) 评论(31)  编辑 收藏 所属分类: 客户端

FeedBack:
#1楼  2007-04-12 17:57 ff [未注册用户]
1,2,3,4,6比较新鲜,谢谢博主
  回复  引用    
#2楼  2007-04-12 18:07 代码乱了      
不错
感谢分享
  回复  引用  查看    
#3楼 [楼主] 2007-04-12 18:20 玉开      
呵呵,不谢了
  回复  引用  查看    
8错~收啦!
  回复  引用    
#5楼  2007-04-12 19:17 Jeffrey Zhao      
9在IE7下也不行吗?
  回复  引用  查看    
#6楼 [楼主] 2007-04-12 19:49 玉开      
@Jeffrey Zhao
ie7支持first-child,last-child

  回复  引用  查看    
#7楼  2007-04-12 20:21 Clark Zheng      
谢谢,收藏了
  回复  引用  查看    
#8楼  2007-04-12 20:48 Cat Chen      
1和2应该是常识了,border, padding, margin相关属性可以四周顺序设置,记着设置顺序是从顶开始顺时针就是了。

4是针对的IE/Win的hack,通过设置width或者height属性导致元素hasLayout,从而必须包含所有子元素。这个hack在其他浏览器上无效。

5中的min-*属性其实Firefox和Opera的反应才算是正常的,IE错误的将width和height当作min-*来处理,同时不提供min-*。

6的!important要慎用,因为它会覆盖浏览器的用户CSS。例如用户是老人家,视力不好,通过用户CSS全面放大字体和强调链接颜色,!important的规则就会把用户CSS中的规则覆盖掉,反而影响用户浏览。

7、8、9也应该是系统学习过CSS的人应该掌握的了,不能因为IE不支持而当做没这回事。
  回复  引用  查看    
#9楼 [楼主] 2007-04-12 20:52 玉开      
@Cat Chen
专家出现了,呵呵,欢迎补充

还有一个我没有搞明白的地方是下面这种写法:
*+html {}

希望专家释疑
  回复  引用  查看    
谢谢谢谢,不错不错,有些确实没用到过
  回复  引用    
#11楼  2007-04-12 23:48 Cat Chen      
@玉开
应该是针对IE的hack吧,其实我也没有专门去记hack,所以看到还要Google。

*是用来匹配任何东西的,然而问题是根本没有东西在<html />之外,那么理论上*+html是不匹配任何东西的。然而某些版本的浏览器会承认*+html匹配<html />,所以可以用于filter。
  回复  引用  查看    
#12楼  2007-04-13 08:15 Wisdom-zh      
不错, 多总结交流才能进步啊
  回复  引用  查看    
#13楼  2007-04-13 08:51 Jason Cui      
IE不支持的那两个怎么处理?
  回复  引用  查看    
#14楼 [楼主] 2007-04-13 08:55 玉开      
@Cat Chen
谢谢了,我在一些css中看到这种表达方式,但是一直不明白它的意义。
  回复  引用  查看    
#15楼 [楼主] 2007-04-13 08:56 玉开      
@Jason Cui
只有通过class的方式去实现了
  回复  引用  查看    
#16楼  2007-04-13 10:43 calmzeal      
*+html是用于对IE6和以下版本的过滤用。
人邮的《精通CSS高级Web解决方案》书中写的很详细
  回复  引用  查看    
#17楼 [楼主] 2007-04-13 10:46 玉开      
@calmzeal
老兄,你的这句话不太好看懂呀

*+html是用于对IE6和以下版本的过滤用。

对ie6以下版本过滤是为了什么呀,这儿的过滤是指filter吗?

可否说详细一点,我不想买这本书
  回复  引用  查看    
#18楼  2007-04-13 10:54 calmzeal      
我抄一段给你看吧: )

html元素被认为是网页上的第一个元素(即根元素)
但是IE6以下版本有一个匿名的根元素,它包围着html元素
这支在IE中出现

在任何常规css规则开头添加通用选择其和html规则选择其,可以对除IE之外的所有浏览器隐藏这个规则

比如
a:hover
{
boder:1px dotted black;
}

* html a:hover
{
boder:solid;
}
后者只对IE生效
  回复  引用  查看    
#19楼  2007-04-13 10:59 calmzeal      
还有 相邻选择+号在IE也不认
  回复  引用  查看    
#20楼 [楼主] 2007-04-13 11:18 玉开      
@calmzeal
这下明白了,多谢你的解释
  回复  引用  查看    
#21楼  2007-04-13 11:24 calmzeal      
@玉开
不客气
我还没谢谢你哪
从你这学到不少 哈哈

  回复  引用  查看    
#22楼 [楼主] 2007-04-13 12:18 玉开      
@calmzeal
我已经把你的解释作为一条,添加到这篇随笔中了。
  回复  引用  查看    
#23楼  2007-04-13 23:00 Junstyle      
第10个没有效果,试了几个浏览器
  回复  引用  查看    
#24楼 [楼主] 2007-04-14 12:22 玉开      
@Junstyle
第十个在ie6,ie7,firefox1.5,opera9.0下面测试通过

  回复  引用  查看    
#25楼  2007-04-15 00:19 gray      
"第10个没有效果,试了几个浏览器"
这是对的,hover选择器只对A元素有效 并且这个A元素还必须具有href属性。
可用的示例应该是
<a class="menu" href="#">
menu title
<ul>
<li>first</li>
<li>last</li>
</ul>
</a>
  回复  引用  查看    
#26楼  2007-04-15 01:56 deerchao      
@gray
您测试的浏览器肯定是IE6(或基于IE6的),事实是,除了IE6以外,现在几乎所有的浏览器都支持:hover伪元素。
  回复  引用  查看    
#27楼 [楼主] 2007-04-15 10:01 玉开      
@deerchao
@gray
我在ie6上测试过,只不过我的ie6是和ie7安装再一台机器上的,不知道有没有影响。

  回复  引用  查看    
#28楼  2007-05-21 08:59 古代      
url括号中无引号,注意。
  回复  引用  查看    
#29楼  2007-05-21 09:25 古代      

_height的这个例子有问题,呵呵。只看到边,其他的都看不到了。

  回复  引用  查看    
#30楼  2007-08-13 17:41 Micah [未注册用户]
纠正一下:*+html 是用于修正IE7的显示问题的;* html 是用于修正IE6的显示问题的。
  回复  引用    
很多都知道,不过还是谢谢楼主
  回复  引用    

标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
博客园首页

新闻频道

社区

小组

博问

网摘

闪存

  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2007-04-26 08:49 编辑过
成果网帮您增加网站收入


相关链接: