Archive for 十一月, 2008
CSS:alpha背景透明
在各浏览器下用css实现背景透明。 但有个bug就是div中的所有元素都透明。这个问题一直困扰着我,有幸找到一种解决办法,就是加上span元素,在span中定义 position:relative,我也不知道为何加绝对定位就能解决,有时候方法就这么神奇似的。遗憾的是这个方法也只针对IE,其他浏览器还没有找 到方法。
代码:
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
<html xmlns=”http://www.w3.org/1999/xhtml”>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=gb2312″ />
<title>续写alpha透明</title>
<style type=”text/css”>
<!–
.transparent{
width:450px;
height:50px;
color:red;
font:14px 700 “宋体”;
filter:alpha(opacity=35);
-moz-opacity:0.35;
opacity:0.35;
background-color:#000;
}
.transparent span { position:relative}
–>
</style>
</head>
<body>
<div class=”transparent”><span>CSS实现背景透明效果</span></div>
</body>
</html>
图片说明:
解释:
filter:alpha(opacity=35); 支持 IE 浏览器
-moz-opacity:0.35; 支持 FireFox 浏览器
opacity:0.35; 支持 Opera,safari 等浏览器
重置默认样式 css reset 分享
最近看到一个词叫css reset。什么叫做css reset呢?我理解为重置css,也就是重置默认样式。我在HTML下的默认样式中讲到,一些标签元素在HTML下有一个默认属性值,我们在写css页面的时候,为了避免在css中重复定义它们,我们需要重置默认样式(css reset)。每个人的用法和写法都不一样。找到一篇关于css reset的调查文章, 可以看看国外使用css reset的比例调查。
这里有一篇总结css reset比较全面的文章,列举了多种css reset的写法,可以看看。
译文地址查看
原文地址查看
接下来我也查看了国内的两个网站,用Firebug按F12看看他们的css reset怎么写的?
淘宝(www.taobao.com):
html {
overflow-x:auto;
overflow-y:scroll;
}
body, dl, dt, dd, ul, ol, li, pre, form, fieldset, input, p, blockquote, th, td {
font-weight:400;
margin:0;
padding:0;
}
h1, h2, h3, h4, h4, h5 {
margin:0;
padding:0;
}
body {
background-color:#FFFFFF;
color:#666666;
font-family:Helvetica,Arial,sans-serif;
font-size:12px;
padding:0 10px;
text-align:left;
}
select {
font-size:12px;
}
table {
border-collapse:collapse;
}
fieldset, img {
border:0 none;
}
fieldset {
margin:0;
padding:0;
}
fieldset p {
margin:0;
padding:0 0 0 8px;
}
legend {
display:none;
}
address, caption, em, strong, th, i {
font-style:normal;
font-weight:400;
}
table caption {
margin-left:-1px;
}
hr {
border-bottom:1px [...]
对付CSS兼容问题的十个超级技巧
一、针对firefox ie6 ie7的css样式
现在大部分都是用!important来 hack,对于ie6和firefox测试可以正常显示,但是ie7对!important可以正确解释, 会导致页面没按要求显示!找到一个针对IE7 不错的hack方式就是使用“*+html”,现在用IE7浏览一下,应该没有问题了现在写一个CSS可以这样:
Example Source Code
#abc { color: #333; } /* Moz */
* html #abc { color: #666; } /* IE6 */
*+html #abc { color: #999; } /* IE7 */
那么在firefox下字体颜色显示为#333,IE6下字体颜色显示为#666,IE7下字体颜色显示为#999。
二、CSS布局中的居中问题
主要的样式定义如下:
Example Source Code
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; 就可以了。
三、盒模型
Example Source Code
#box{
;
//for ie6.0- w\idth:500px;
//for ff+ie6.0
}
#box{
>//for ff
;
//for [...]