图片垂直居中CSS

图片垂直居中代码:(IE要求外围div高度是固定的)
.box {
        /*非IE的主流浏览器识别的垂直居中的方法*/
        display: table-cell;
        vertical-align:middle;

        /*设置水平居中*/
        text-align:center;

        /* 针对IE的Hack */
        *display: block;
        *font-size: 175px;/*约为高度的0.873,200*0.873 约为175*/
        *font-family:Arial;/*防止非utf-8引起的hack失效问题,如gbk编码*/

        width:200px;
        height:200px;
        border: 1px solid #eee;
}
.box img {
        /*设置图片垂直居中*/
        vertical-align:middle;
        margin:0 auto;
}

<div class="box">
        <img src="*.jpg" />
</div>

Continue reading »图片垂直居中CSS

CSS3圆角在IE,Firefox,Chrome,Safari的实现

 

Firefox的圆角属性:

如果你想设置四个角都是一样圆角的话,可以像这样子直接设置-moz-border-radius:5px; 也可以单独设置元素的上左、上右、下右、下左四个角的值,分别用

-moz-border-radius-topleft -moz-border- radius-topright -moz-border-radius-bottomright -moz-border-radius- bottomleft

来设置。 也可以用合并起来一起设置如:-moz-border-radius:5px 0 5px 0;

对chrome、Safari这两个webkit内核的浏览器来说,是用-webkit-border-radius来实现的。

如果你想设置四个角都是一样圆角的话,依然可以像这样子直接设置-moz-border-radius:3px;

如果是单独设置四个角的话,需要采取这种方式

-webkit-border-top-left-radius:5px 10px; -webkit-border-top-right-radius:5px 10px; -webkit-border-bottom-right-radius:5px 10px; -webkit-border-bottom-left-radius:5px 10px;

如果是要合并的话,只支持-webkit-border-radius:3px;或者是这样子-webkit-border-radius:3px 4px;使用-webkit-border-radius:5px 0 5px 0;将不会有任何效果。

对于IE浏览器,由于对CSS3支持欠佳,可以考虑加入behavior属性。

不同浏览器下的综合一下可以这样写:

-moz-border-radius: 5px; -khtml-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; behavior: url(ie-circle-css3.htc);

如果要圆角效果,外加圆角背景的话可以借助border设置:

border-width:10px; border-color:#000; border-style:solid;

中间引入的ie-circle-css3.htc 内容如下:

// = limit) . . . → Read More: CSS3圆角在IE,Firefox,Chrome,Safari的实现

IE下css样式控制

做网站的前台程序员应该都吃过不同浏览器下css样式差别的苦头,尤其是IE6,总是带给我们无尽的回忆。:)

今天在这片日志里想稍微总结一下IE下样式控制应该注意的几点。

1. CSS HACK

IE6,IE7,IE8 对css样式属性的接受程度为:

———————IE6——    IE7——IE8--NoneIE
>property——    Y——    Y——    Y——    N——
.property——    Y——    Y——    Y——    N——
*property——    Y——    Y——    Y——    N——
_property——    Y——    N——    N——  N——

同时IE6不支持!important.

其实主要是浏览器:IE6/IE7/firefox下,各个对CSS代码的解释有区别,下边转载一篇HACK的文章,相当实用。

区别IE6与FF:           background:orange;*background:blue;

区别IE6与IE7:          background:green !important;background:blue;

区别IE7与FF:           background:orange; *background:green;

区别FF/IE7/IE6:       background:orange;*background:green !important;*background:blue;

注:IE都能识别*标准浏览器(如FF)不能识别*
IE6能识别*,但不能识别 !important
IE7能识别*,也能识别!important
FF不能识别*,但能识别!important

另外再补充一个,下划线"_",
IE6支持下划线,IE7和firefox均不支持下划线。所以针对IE6采用下划线属性也是一个常用方法。 Continue reading »IE下css样式控制

css expression应用-尽量不用

只有 IE 支持 CSS Expression,从IE8开始不再支持CSS Expression.

CSS Expression也称为CSS表达式,它是动态设置CSS属性的强大方法,但也存在着一定的危险性。

CSS Expression的问题就在于它的 计算频率要比想象的多出很多。不仅仅是在页面显示和缩放时,就是在页面滚动、乃至移动鼠标时都会要重新计算一次。给CSS Expression增加一个 计数器可以跟踪表达式的计算频率。在页面中随便移动鼠标都可以轻松达到10000次以上的计算量。所以它对客户端浏览器资源有比较高的要求,否则很容易让您的用户感觉打开你的页面,机器会变的很慢。

然而在 IE8 标准模式中,不再支持 CSS Expression。官方提供了以下几点原因:

为了更好的遵循标准 CSS Expression 为 IE 专有,不具备通用性; CSS Expression 常常用来修复或模拟某些 IE 不支持的 CSS 特性,如 ‘min-height’、’max-width’。这些均已被 IE8 所支持。 为了提高性能 表达式的计算需要耗费巨大的系统资源,Web 性能专家 Steve Sounders:recommend avoiding them to improve front-end performance。 为了降低浏览器被攻击的可能 由于它们暴露出了一个脚本执行环境,CSS Expression 就构成了一个可能的脚本注入攻击方向。

关于 动态属性 的更多内容,请参见 MSDN:About Dynamic Properties。

关于 微软官方结束对 . . . → Read More: css expression应用-尽量不用

css class Id不解

前天调整一个页面的css,发现一个奇怪的事情,布局里div的css属性margin-bottom在其他浏览器里很好使,布局正常,在IE7里浏览却有得起作用,有得不起作用,很尴尬。于是试着将css class 变成 Id属性,这下IE下突然又好用了,很是不解。

平常来说,class可以使用多次,Id一般只用一次,便于与javascript唯一性操作。但平时同事处理的css里总是看到Id重复使用的问题,没有看到影响布局的问题,虽然不太标准,但浏览器基本都支持。但是还是没有搞清楚IE浏览器下的怪事。:(