日志内容

2007-08-22[原]由text-indent引起的问题

TAG:CSS 原创 兼容性

今天在做东西的时候不小心发现了由于定义了text-indent而引起的宽度问题,主要是定义了首页行缩进后宽度受影响。于是去群里问了一下,还是有收获的。豆豆猫提供了一个例子《IE显示宽度和高度的问题》,主要是说li奇、偶数时显示不同的问题,虽然他只是觉得这个Demo很奇怪,但后来我发现这个例子中的问题也是由于text-indent引起的,所以在这里也感谢豆豆猫,让我少走了不少路。

OK,相信大家也很想知道到底text-indent会引出什么bug,注意哦,在IE中才会出现。正常的情况下,定义首行缩进应该是不影响到宽度的,但从上面那个例子里可以看到,偶数列样例2(IE6下)的宽是比其它列要宽的。

问题很简单,我们以样例5为最终效果,让偶数列和奇数列两边的效果一样,重新做一次就知道了。具体看这里,看完你应该已经知道,text-indent会引起的问题还大的,因为我们还没有很好对付它的办法。所以,当遇到这种问题时,最好还是使用padding吧,至少还有解决方案。-_-||


2007-08-08[原]背景半透明效果

TAG:CSS 原创

做过活动页面的同学可能会遇到要做背景半透明的效果,我们一般的做法是用两个层,一个用于放文字,另一个用于做透明背景,因为透明滤镜的效果会影响到里面的内容。不过如果你只需求在IE下实现,我们有更简单的做法:

================HTML======================
<div class="alpha1">
  <div class="ap2">
      <p>背景为红色(#FF0000),透明度20%。</p>
  </div>
</div>
==========================================
==================CSS======================
.alpha1{
    width:300px;
    height:200px;
    background-color:#FF0000;
    filter: Alpha(Opacity=30);
}
.ap2{
    position:relative;
}
==========================================

样就可以实现啦,也不用担心定位和自适应问题,最大的问题就是IEonly。
如果兼容FF、OP怎么写呢?首先,上面这种定法是不行的啦,那就只能用两个层重叠的方法啦。改下页面结构:

=================HTML======================
<div class="alpha1">
  <div class="ap2">
      <p>背景为红色(#FF0000),透明度20%。</p>
  </div>
  <!--[if IE]><![if !IE]><![endif]--> <div class="alpha2"></div> <!--[if IE]><![endif]><![endif]-->
</div>
==========================================

当然样式也得做修改啦:

==================CSS======================
.alpha1,.alpha2{
    width:100%;
    height:auto;
    min-height:250px;/* 必需 */
    _height:250px;/* 必需 */
    overflow:hidden;
    background-color:#FF0000;/* 背景色 */
}
.alpha1{
    filter:alpha(opacity=20); /* IE 透明度20% */
}
.alpha2{
    background-color:#FFFFFF;
    -moz-opacity:0.8; /* Moz + FF 透明度20%*/
    opacity: 0.8; /* 支持CSS3的浏览器(FF 1.5也支持)透明度20%*/
}
.ap2{
    position:absolute;
}
==========================================

完整Demo


2007-07-12[原]清除浮动最简单的方法

TAG:CSS 原创 兼容性

CSS森林(30247792)群里讨论一个margin的问题中无意间发现overflow也可以用来清除浮动,嘿嘿,这个方法不单使用简单,而且FF、OP、IE7都支持,从此可以告别那又长兼容性又差的FF清浮动的方法了。

方法真的很简单,只要为需要清浮动的标签加上overflow这个属性。

====================CSS=========================
ul{list-style:none;height:auto;margin:0;padding:0;background-color:#436973;}
li{float:left;width:80px;height:80px;background-color:#83B1DF;}
.demo{clear:both;border:1px solid #FF00FF;margin-bottom:5px;}
.overflow{overflow:auto;zoom:1;background-color:#43FF73;}

===============================================

====================HTML=======================
<div class="demo">
<ul class="overflow">
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
<li>7</li>
<li>8</li>
<li>9</li>
</ul>
</div>
<div class="demo">
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
<li>7</li>
<li>8</li>
<li>9</li>
</ul>
</div>

===============================================
其中zoom是为了IE6准备的。

完整的Demo

注:忘了一个很重要的内容,并不是所有的overflow属性都可起来一样的效果,比如visible属性就只能对IE起作用。例子可以看这里Demo2
这样的话就有一个问题啦,如果要有高度,而且内容超出高度的时候,定义auto或hidden都可能会有一些不想要的效果出现。这里提供一个解决方案:对于IE6及以下版本的IE,可以直接定义高度;对于IE7、FF、OP,可定义min-height。
====================CSS=========================
.overflow{height:auto;_height:200px;min-height:200px;overflow:auto;zoom:1;_overflow:visible;}
===============================================


2007-06-04[原]二栏宽高自适应布局

TAG:CSS 原创 布局

看了之前的《两列一边宽度固定,另一边宽度自适应布局》后,觉得iVane的方法还可以再优化一下的,比如可以少用一个div……

自适应的问题也是布局中常会遇到的问题,最早用负边界的方法解决了高度自适应,没想法现在用负边界同样可以解决宽度自适应的问题。来看看怎样做吧:

================HTML===================
<body>
<div id="top">top</div>
<div id="main">
 <div id="midpart"><p>主要内容部分,宽高自适应。</p></div>
 <div id="leftpart"><p>左栏宽200像素,高度自适应。</p></div>
</div>
<div id="bottom">bottom</div>
</body>
======================================

================CSS===================
#top,#bottom{
clear:both;
width:100%;
height:auto;
padding:10px 0;
background-color:#0099FF;
}
#main{
_width:100%;
height:auto;
overflow:hidden;
padding:0;
padding-left:200px;
color:#000000;
}
#leftpart,#midpart{
height:auto;
margin-bottom:-32767px;
padding-bottom:32767px;
}
#midpart{
float:right;
width:100%;
background-color:#00CC99;
}
#leftpart{
_display:inline;
float:left;
width:200px;
margin-left:-200px;
padding-top:30px;
background-color:#999900;
}
======================================

完整的Demo

这里对宽度自适应做了优化,并增加了高度自适应。如果要改成其它的二栏布局就很容易啦,比如可以改成“右栏定宽”或“左右栏都自适应宽高”。大家自己发挥吧~:)

注:此布局兼容IE5.5+、FF2、OP9+,其它版本的浏览没有测试过,有条件的同学帮忙看下吧。


2007-05-30[原]关于"display:none"对SEO不友好的说法

TAG:SEO 原创 经验之谈

对于"display:none"对SEO不友好的说法,在今天得到了一个事实的证明,看下下边的截图:


(可在google搜索“CSS森林">CSS森林”或“cssforest”找到以上内容)

画红线的部分是使用了"display:none"隐藏的内容,但google的搜索引擎是可以收录的,也就是说之前所说的"display:none"对SEO不友好的说法并不正确。:P


分页 共10页 1 2 3 4 5 6 7 8 9 10 下一页 最后一页
订阅>>使用RSS邮天下订阅>>Google订阅s

Q我 GTalk联系

Recent Articles

Recent Comments

Recommend

Archive

广 州
The WeatherPixie

Search Engine Optimization

CSS森林:30247792
(精神正常者慎入!)

访问统计:

011 本BLOG[原]部分的内容采用创作共用授权,请尊重劳动成果,谢谢。
Copyright © 2006 风的影子. All rights reserved.   FORESt.blOGbUS.COM  BLOGBUS.COM