关于CSS细节聚合(三)

关于CSS细节集合(三)

一、让层显示在flash之上

解决办法:给FLASH设置透明<param name=”wmode” value=”transparent” />或者<param name=”wmode” value=”opaque” />

二、使一个层垂直居中浏览器中

解决办法:使用百分比绝对定位,与外补丁负值的方法。

{position:absolute;
    top:50%;
    left:50%;
    margin:-100px auto auto -100px;
    width:200px;
    height:200px;
}
 

三、加入收藏夹前端框架分享

解决办法:

<script type="text/javascript">
// <![CDATA[
function bookmark(){
var title=document.title
var url=document.location.href
if (window.sidebar) window.sidebar.addPanel(title, url,"");
else if( window.opera && window.print ){
var mbm = document.create_r_rElement_x('a');
mbm.setAttribute('rel','sidebar');
mbm.setAttribute('href',url);
mbm.setAttribute('title',title);
mbm.click();}
else if( document.all ) window.external.AddFavorite( url, title);
}
// ]]>
</script>
 
<a href="javascript:bookmark()">加入收藏夹</a>
 

四、IE实现页面背景渐变(FF及chrome不支持)

从上到下:

body{filter: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#ffffff,endColorStr=#000000);}
 

左上至右下:

body{
filte: Alpha( style=1,opacity=25,finishOpacity=100,startX=50,finishX=100,startY=50,finishY=100); background-color: skyblue;
}
 

从左至右:

body{FILTER: progid:DXImageTransform.Microsoft.Gradient(gradientType=1,startColorStr=#ffffff,endColorStr=#000000);}
 

从上到下:

style="filter:progid:DXImageTransform.microsoft.gradient(gradienttype=0,startColorStr=blue,endColorStr=white);"
 

五、border:none;与border:0区别

理论上的性能差异:

前端框架分享

border:0;把border设为“0”像素虽然在页面上看不见,但按border默认值理解,浏览器依然对border-width/border-color进行了渲染,即已经占用了内存值。border:none;把border设为“none”即没有,浏览器解析“none”时将不作出渲染动作,即不会消耗内存值。

兼容性差异:

兼容性差异只针对浏览器IE6、IE7与标签button、input而言,在win、win7、vista 的XP主题下均会出现此情况。

当border为“none”时似乎对IE6/7无效边框依然存在,当border为“0”时,感觉比“none”更有效,所有浏览器都一致把边框隐藏,如何让border:none;实现全兼容?只需要在同一选择符上添加背景属性即可

六、css实现多列等高布局,正内边距与负外边距

给每个需要实现等高的列应用样式:

.e{padding-bottom:32767px;margin-bottom:-32767px;}
 

七、display:inline-block;顾名思义,就是在内联情况下的块状,可以设定高度宽度。前端框架分享

.element-class {
display: -moz-inline-stack; //Firefox only code
display: inline-block; //some standard browsers
zoom: 1; //IE only
*display: inline; //Only IE know this code (CSS Hack)
}
 

八、清理浮动

.clearfix:after{visibility:hidden;display:block;font-size:0;content:" ";clear:both;height:0;}
.clearfix {zoom:1;}

 

九、文字用省略号截断

div{width:200px;height:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}